PageRenderTime 44ms CodeModel.GetById 18ms RepoModel.GetById 1ms app.codeStats 0ms

/simulator/Makefile

https://code.google.com/p/voteutil/
Makefile | 230 lines | 174 code | 45 blank | 11 comment | 0 complexity | a357e09e784fede7f68311f40fdbbbb0 MD5 | raw file
  1. #GO2=-O2 -DNDEBUG
  2. #GO2=-O2 -DNDEBUG -g
  3. #GO2=-g
  4. GO2=-O2
  5. #CXXFLAGS=-Wall -g
  6. CXXFLAGS=-Wall ${GO2} -m64
  7. #CXXFLAGS+=-pg -g
  8. CFLAGS=-Wall ${GO2} -m64
  9. #LDFLAGS+=-pg
  10. LDFLAGS+=-L/usr/local/lib64
  11. EMOBJS := AcceptanceVotePickOne.o FuzzyVotePickOne.o InstantRunoffVotePickOne.o
  12. EMOBJS += OneVotePickOne.o RankedVotePickOne.o Condorcet.o TopNRunoff.o
  13. EMOBJS += IRNR.o RandomElection.o STV.o IRNRP.o MaybeDebugLog.o
  14. EMOBJS += ApprovalNoInfo.o ApprovalWithPoll.o
  15. EMOBJS += VoteForAndAgainst.o Bucklin.o
  16. EMOBJS += IteratedNormalizedRatings.o
  17. EMOBJS += CIVSP.o
  18. OBJS := ResultFile.o DBResultFile.o VoterArray.o VoterSim.o WorkQueue.o
  19. OBJS += ThreadSafeDBRF.o voter_main.o NameBlock.o
  20. OBJS += GaussianRandom.o
  21. OBJS += ${EMOBJS}
  22. #OBJS += voter.o
  23. VSMALLOBJS := ResultFile.o VoterArray.o VoterSim.o WorkQueue.o voter.o
  24. VSMALLOBJS += voter_main_sm.o gauss.o NameBlock.o GaussianRandom.o
  25. VSMALLOBJS += ${EMOBJS}
  26. VPBOBJS := ResultFile.o VoterArray.o VoterSim.o WorkQueue.o voter.o gauss.o
  27. VPBOBJS += ResultLog.o ProtoResultLog.o trial.pb.o NameBlock.o GaussianRandom.o
  28. VPBOBJS += ${EMOBJS}
  29. FROBOB := ResultFile.o DBResultFile.o resultFileFrob.o NameBlock.o
  30. TOPLOTOB := resultDBToGnuplot.o ResultFile.o DBResultFile.o WorkQueue.o NameBlock.o
  31. NNSVOBJS := ${EMOBJS}
  32. NNSVOBJS += ResultFile.o DBResultFile.o VoterArray.o VoterSim.o WorkQueue.o
  33. NNSVOBJS += ThreadSafeDBRF.o voter.o GaussianRandom.o
  34. NNSVOBJS += NNSVSim.o NameBlock.o
  35. NNSVOBJS += NNStrategicVoter.o
  36. SGOBJS := ${EMOBJS}
  37. SGOBJS += VoterArray.o spacegraph.o GaussianRandom.o
  38. SGOBJS += ResultFile.o voter.o gauss.o
  39. SGOBJS += VoterSim.o WorkQueue.o NameBlock.o
  40. SGOBJS += PlaneSim.o PlaneSimDraw.o XYSource.o ResultAccumulation.o
  41. SGOBJS += spacegraph_util.o file_template.o
  42. SGSRCS := VoterArray.cpp spacegraph.cpp GaussianRandom.cpp
  43. SGSRCS += ResultFile.cpp voter.cpp gauss.c
  44. SGSRCS += VoterSim.cpp WorkQueue.cpp NameBlock.cpp
  45. SGSRCS += PlaneSim.cpp PlaneSimDraw.cpp XYSource.cpp ResultAccumulation.cpp
  46. SGSRCS += spacegraph_util.cpp
  47. STOBJS := VoterArray.o WorkQueue.o voter.o speed_test.o gauss.o
  48. STOBJS += ${EMOBJS} NameBlock.o GaussianRandom.o
  49. UNAME := $(shell uname)
  50. include ${UNAME}.make
  51. all: spacegraph speedtest vsmall
  52. #all: voter frob resultDBToGnuplot nnsv spacegraph
  53. voter: $(OBJS)
  54. voter: CC=${CXX}
  55. voter_main_sm.o: voter_main.cpp
  56. ${CXX} ${CXXFLAGS} voter_main.cpp -c -o voter_main_sm.o -DNO_DB
  57. vsmall: ${VSMALLOBJS}
  58. ${CXX} -o vsmall ${VSMALLOBJS} ${CXXFLAGS} ${LDFLAGS}
  59. # everything protobuf-needing, for bulk sim runs
  60. pball: vpb processprl render_mcpb sgpb
  61. vpb: ${VPBOBJS} voter_main.cpp
  62. ${CXX} -o vpb ${VPBOBJS} ${CXXFLAGS} ${LDFLAGS} -lprotobuf -DHAVE_PROTOBUF -DNO_DB voter_main.cpp
  63. PPLOBJS := processProtoResultLog.o ProtoResultLog.o ResultFile.o ResultLog.o trial.pb.o NameBlock.o
  64. processprl: ${PPLOBJS}
  65. ${CXX} -o processprl ${PPLOBJS} ${CXXFLAGS} ${LDFLAGS} -lprotobuf
  66. RMCPBOBJS := PlaneSimDraw.o MessageLiteWriter.o ResultAccumulation.o
  67. RMCPBOBJS += GaussianRandom.o trial.pb.o render_mcpb.o file_template.o
  68. render_mcpb: ${RMCPBOBJS}
  69. ${CXX} -o render_mcpb ${RMCPBOBJS} ${CXXFLAGS} ${LDFLAGS} -lprotobuf -lpng12 -lz
  70. sgpb: CXXFLAGS+=-DHAVE_PROTOBUF
  71. sgpb: LDFLAGS+=-lprotobuf -lpng12 -lz
  72. sgpb: ${EMOBJS} ${SGSRCS} trial.pb.o MessageLiteWriter.o file_template.o
  73. ${CXX} ${CXXFLAGS} ${EMOBJS} trial.pb.o MessageLiteWriter.o file_template.o ${SGSRCS} ${LDFLAGS} -o sgpb
  74. nnsv: ${NNSVOBJS}
  75. frob: $(FROBOB)
  76. $(CXX) $(CXXFLAGS) $(FROBOB) $(LDFLAGS) -o $@
  77. resultDBToGnuplot: $(TOPLOTOB)
  78. resultDBToGnuplot: CC=${CXX}
  79. spacegraph: LDFLAGS+=-lpng12 -lz
  80. spacegraph: ${SGOBJS}
  81. ${CXX} ${CXXFLAGS} ${SGOBJS} ${LDFLAGS} -o spacegraph
  82. #spacegraph: CC=${CXX}
  83. speedtest: ${STOBJS}
  84. ${CXX} ${CXXFLAGS} ${STOBJS} ${LDFLAGS} -o speedtest
  85. METHODS := Max OneVote IRV IRNR Condorcet Rated
  86. FOURCORNERS := $(METHODS:%=fourcorners_%.png)
  87. SGWORLD := -px 400 -py 400 -n 4 -minx -1 -miny -1 -maxx 1 -maxy 1 -Z 1.0 -v 10000
  88. FOURCORNERS_CANDS := -c 1,1 -c -1,1 -c -1,-1 -c 1,-1
  89. fourcorners_%.png: spacegraph
  90. ./spacegraph --method $* ${SGWORLD} ${FOURCORNERS_CANDS} -o $@
  91. fourcorners_all: ${FOURCORNERS}
  92. THREE_A_CANDS := -c -0.86,-0.66 -c -0.02,-0.98 -c -0.18,-0.96
  93. THREE_A := $(METHODS:%=3a_%.png)
  94. 3a_%.png: spacegraph
  95. ./spacegraph --method $* ${SGWORLD} ${THREE_A_CANDS} -o $@
  96. THREE_B_CANDS := -c 0.86,-0.02 -c 0.58,-0.16 -c -0.46,-0.10
  97. THREE_B := $(METHODS:%=3b_%.png)
  98. 3b_%.png: spacegraph
  99. ./spacegraph --method $* ${SGWORLD} ${THREE_B_CANDS} -o $@
  100. THREE_C_CANDS := -c 0.08,-0.06 -c 0.54,0.28 -c -0.74,-0.80
  101. THREE_C := $(METHODS:%=3c_%.png)
  102. 3c_%.png: spacegraph
  103. ./spacegraph --method $* ${SGWORLD} ${THREE_C_CANDS} -o $@
  104. FOUR_A_CANDS := -c -0.76,-0.44 -c 0.70,0.40 -c -0.22,-0.44 -c 0.94,-0.72
  105. FOUR_A := $(METHODS:%=4a_%.png)
  106. 4a_%.png: spacegraph
  107. ./spacegraph --method $* ${SGWORLD} ${FOUR_A_CANDS} -o $@
  108. FOUR_B_CANDS := -c -0.52,-0.54 -c -0.62,0.24 -c -0.92,0.28 -c 0.70,0.10
  109. FOUR_B := $(METHODS:%=4b_%.png)
  110. 4b_%.png: spacegraph
  111. ./spacegraph --method $* ${SGWORLD} ${FOUR_B_CANDS} -o $@
  112. FOUR_C_CANDS := -c -0.20,0.14 -c -0.68,0.08 -c -0.90,0.24 -c 0.82,0.40
  113. FOUR_C := $(METHODS:%=4c_%.png)
  114. 4c_%.png: spacegraph
  115. ./spacegraph --method $* ${SGWORLD} ${FOUR_C_CANDS} -o $@
  116. sg_runall: ${THREE_A} ${THREE_B} ${THREE_C} ${FOUR_A} ${FOUR_B} ${FOUR_C} ${FOURCORNERS}
  117. headerdoc:
  118. mkdir -p doc
  119. headerdoc2html -o doc *.h
  120. gatherheaderdoc doc
  121. clean:
  122. rm -f $(OBJS) $(FROBOB) $(TOPLOTOB) $(SGOBJS) ${VPBOBJS} voter.o voter frob resultDBToGnuplot nnsv spacegraph vpb vsmall trial.pb.cc trial.pb.h
  123. depend:
  124. makedepend -Y *.cpp
  125. dist: . CVS/* Makefile
  126. mkdir -p dist; cd dist; rm -rf voting; cvs export -r HEAD voting; tar cf voting.tar voting; rm -rf voting; gzip < voting.tar > voting.tar.gz; bzip2 < voting.tar > voting.tar.bz2; rm -f voting.tar
  127. @echo dist left in dist
  128. ballot.html: formCandidates makeForm.pl
  129. echo "<html><head><title>voting form</title></head><body>" > ballot.html
  130. ./makeForm.pl formCandidates >> ballot.html
  131. echo "</body></html>" >> ballot.html
  132. %.pb.cc %.pb.h : %.proto
  133. protoc $< --cpp_out=$(@D)
  134. ProtoResultLog.o: trial.pb.h
  135. # DO NOT DELETE
  136. AcceptanceVotePickOne.o: Voter.h AcceptanceVotePickOne.h VotingSystem.h
  137. ApprovalNoInfo.o: Voter.h ApprovalNoInfo.h VotingSystem.h
  138. ApprovalWithPoll.o: Voter.h ApprovalWithPoll.h VotingSystem.h
  139. Condorcet.o: Voter.h Condorcet.h RankedVotePickOne.h VotingSystem.h
  140. DBResultFile.o: DBResultFile.h ResultFile.h
  141. FuzzyVotePickOne.o: FuzzyVotePickOne.h VotingSystem.h Voter.h
  142. IRNR.o: IRNR.h VotingSystem.h Voter.h
  143. InstantRunoffVotePickOne.o: InstantRunoffVotePickOne.h VotingSystem.h Voter.h
  144. IteratedNormalizedRatings.o: IteratedNormalizedRatings.h VotingSystem.h
  145. IteratedNormalizedRatings.o: Voter.h
  146. NNSVSim.o: NNStrategicVoter.h Voter.h VoterSim.h ResultFile.h DBResultFile.h
  147. NNSVSim.o: VotingSystem.h WorkQueue.h NNSVSim.h
  148. NNStrategicVoter.o: NNStrategicVoter.h Voter.h
  149. OneVotePickOne.o: Voter.h OneVotePickOne.h VotingSystem.h
  150. ProtoResultLog.o: ProtoResultLog.h ResultLog.h VoterSim.h Voter.h
  151. ProtoResultLog.o: ResultFile.h trial.pb.h
  152. RandomElection.o: RandomElection.h VotingSystem.h Voter.h
  153. RankedVotePickOne.o: Voter.h RankedVotePickOne.h VotingSystem.h
  154. ResultFile.o: ResultFile.h VotingSystem.h
  155. ResultLog.o: ResultLog.h VoterSim.h Voter.h ResultFile.h
  156. ThreadSafeDBRF.o: ThreadSafeDBRF.h DBResultFile.h ResultFile.h
  157. TopNRunoff.o: TopNRunoff.h VotingSystem.h Voter.h
  158. VoteForAndAgainst.o: Voter.h VoteForAndAgainst.h VotingSystem.h
  159. VoterArray.o: Voter.h gauss.h
  160. VoterSim.o: VoterSim.h Voter.h ResultFile.h ResultLog.h DBResultFile.h
  161. VoterSim.o: VotingSystem.h WorkQueue.h VoterSim_run.h
  162. WorkQueue.o: WorkQueue.h
  163. nnsv.o: Voter.h VoterSim.h ResultFile.h VotingSystem.h OneVotePickOne.h
  164. nnsv.o: RankedVotePickOne.h AcceptanceVotePickOne.h FuzzyVotePickOne.h
  165. nnsv.o: InstantRunoffVotePickOne.h Condorcet.h IRNR.h RandomElection.h
  166. nnsv.o: DBResultFile.h ThreadSafeDBRF.h WorkQueue.h NNSVSim.h
  167. nnsv.o: NNStrategicVoter.h
  168. resultDBToGnuplot.o: ResultFile.h WorkQueue.h DBResultFile.h
  169. resultFileFrob.o: ResultFile.h DBResultFile.h
  170. spacegraph.o: Voter.h VoterSim.h ResultFile.h VotingSystem.h OneVotePickOne.h
  171. spacegraph.o: RankedVotePickOne.h AcceptanceVotePickOne.h FuzzyVotePickOne.h
  172. spacegraph.o: InstantRunoffVotePickOne.h Condorcet.h IRNR.h
  173. spacegraph.o: IteratedNormalizedRatings.h RandomElection.h gauss.h
  174. speed_test.o: Voter.h VoterSim.h ResultFile.h VotingSystem.h OneVotePickOne.h
  175. speed_test.o: RankedVotePickOne.h AcceptanceVotePickOne.h FuzzyVotePickOne.h
  176. speed_test.o: InstantRunoffVotePickOne.h Condorcet.h IRNR.h RandomElection.h
  177. voter.o: Voter.h VoterSim.h ResultFile.h VotingSystem.h
  178. voter.o: AcceptanceVotePickOne.h Condorcet.h RankedVotePickOne.h
  179. voter.o: FuzzyVotePickOne.h gauss.h InstantRunoffVotePickOne.h IRNR.h
  180. voter.o: IteratedNormalizedRatings.h OneVotePickOne.h RandomElection.h
  181. voter.o: WorkQueue.h
  182. voter_main.o: Voter.h VoterSim.h ResultFile.h VotingSystem.h OneVotePickOne.h
  183. voter_main.o: RankedVotePickOne.h AcceptanceVotePickOne.h FuzzyVotePickOne.h
  184. voter_main.o: InstantRunoffVotePickOne.h Condorcet.h IRNR.h RandomElection.h
  185. voter_main.o: DBResultFile.h ThreadSafeDBRF.h WorkQueue.h workQThread.h