1 # NOTE: This is the basic Makefile template that includes the additional
2 # Makefile.simulation makefile that is found in the location of the
3 # current installation of POSE.
5 # The Makefile.simulation set of rules allows the compilation of
6 # a SINGLE simulation module. If multiple simulation modules are
7 # desired, some "surgery" of Makefile.simulation (and this file)
10 # ***********************************************************************
13 CHARMBIN
=$(CHARMBASE
)/bin
14 CHARMINC
=$(CHARMBASE
)/include
16 CHARMC
=$(CHARMBIN
)/charmc
-I
$(CHARMINC
)/pose
$(OPTS
)
18 # Default Location variables
19 # **************************
20 #POSE_ROOT=$(HOME)/charm/netlrts-linux/lib
22 # Default module names
23 # - MAKE MODIFICATIONS HERE
24 # *************************
30 # Simulation object definitions
31 # *****************************
32 SIM_OBJECTS
=SchedSIM_sim.o
$(PGM
).o generate.o edgelist.o
34 # EXECUTABLE GENERATION RULES
36 #****************************
38 @echo
"Simulation compiled."
41 @echo
"Simulation (w purify) compiled."
44 @echo
"Simulation (w projections log traces) compiled."
46 summary
: $(PGM
).summary
47 @echo
"Simulation (w summary log traces) compiled."
49 $(PGM
): $(SIM_OBJECTS
)
50 $(CHARMC
) $(SIM_OBJECTS
) $(OTHER
) $(LIBS
) -o
$(PGM
) \
51 -module pose
-language charm
++
53 $(PGM
).alt
: $(SIM_OBJECTS
)
54 $(CHARMC
) $(SIM_OBJECTS
) $(OTHER
) $(LIBS
) -o
$(PGM
).alt \
55 -module pose
-language charm
++
57 $(PGM
).comm
: $(SIM_OBJECTS
)
58 $(CHARMC
) $(SIM_OBJECTS
) $(OTHER
) $(LIBS
) -o
$(PGM
).comm \
59 -module pose
-language charm
++ -module commlib
61 $(PGM
).pure
: $(SIM_OBJECTS
)
62 $(CHARMC
) $(SIM_OBJECTS
) $(OTHER
) $(LIBS
) -o
$(PGM
).pure \
63 -module pose
-language charm
++ -purify
65 $(PGM
).proj
: $(SIM_OBJECTS
)
66 $(CHARMC
) $(SIM_OBJECTS
) $(OTHER
) $(LIBS
) -o
$(PGM
).proj \
67 -module pose
-language charm
++ -tracemode projections
69 $(PGM
).summary
: $(SIM_OBJECTS
)
70 $(CHARMC
) $(SIM_OBJECTS
) $(OTHER
) $(LIBS
) -o
$(PGM
).summary \
71 -module pose
-language charm
++ -tracemode summary
77 # clean removes everything
78 clean: clear rm_logs
;
80 # clear removes only binaries and generated files
82 rm -f charmrun conv-host
*.o
83 rm -f
*.def.h
*.decl.h
84 rm -f
$(PGM
) $(PGM
).pure
$(PGM
).proj
$(PGM
).summary
90 # rm_logs removes projections/summary log traces
92 rm -f
[^j
]*.log
*.sum
[^j
]*.sts
93 rm -f
*-bg.
*.log
*-bg.sts
95 # SIMULATION COMPILATION RULES
97 #*****************************
98 $(PGM
).o
: $(PGM
).C
$(PGM
).h
$(PGM_MODULE
).def.h
$(PGM_MODULE
).decl.h
99 $(CHARMC
) -c
-I
$(CHARMINC
) $(INCLUDES
) $(LIBS
) $(PGM
).C
101 $(PGM_MODULE
).def.h
$(PGM_MODULE
).decl.h
: $(PGM
).ci
102 $(CHARMC
) $(INCLUDES
) $(LIBS
) $(PGM
).ci
104 topology.o
: topology.C
105 $(CHARMC
) -c topology.C
107 SchedSIM_sim.o
: SchedSIM_sim.C SchedSIM_sim.h SchedSIM.def.h SchedSIM.decl.h
108 $(CHARMC
) -c
$(LIBS
) $(INCLUDES
) -I
$(CHARMINC
) SchedSIM_sim.C topology.C
-memory paranoid
110 SchedSIM.def.h SchedSIM.decl.h
: SchedSIM_sim.ci
111 $(CHARMC
) $(INCLUDES
) $(LIBS
) SchedSIM_sim.ci
113 SchedSIM_sim.C SchedSIM_sim.h SchedSIM_sim.ci
: SchedSIM.C SchedSIM.h SchedSIM.ci
114 $(CHARMBIN
)/etrans.pl SchedSIM
116 generate.o
: generate.c
117 $(CHARMC
) -c generate.c
119 edgelist.o
: edgelist.c
120 $(CHARMC
) -c edgelist.c