doc: Add serial to list of ci file reserved words
[charm.git] / examples / pose / LBSim / Makefile
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.
4 #
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)
8 #       will be required. 
9 #
10 # ***********************************************************************
11
12 OPTS=-O#-DCMK_OPTIMIZE=1 -DCMK_MEMCHECKS_OFF=1
13
14 CHARMBASE=../../../
15 CHARMBIN=$(CHARMBASE)/bin
16 CHARMINC=$(CHARMBASE)/include
17
18 CHARMC=$(CHARMBIN)/charmc -I$(CHARMINC)/pose $(OPTS)
19
20 # Default Location variables
21 # **************************
22 #POSE_ROOT=$(HOME)/charm/net-linux/lib
23
24 # Default module names
25 # - MAKE MODIFICATIONS HERE
26 # *************************
27 PGM_MODULE=Sched
28 PGM=sched
29 OTHER=
30 LIBS=-Lstdc++ -lm
31
32 # Simulation object definitions 
33 # *****************************
34 SIM_OBJECTS=SchedSIM_sim.o $(PGM).o generate.o edgelist.o
35
36 # EXECUTABLE GENERATION RULES 
37 # - DO NOT MODIFY
38 #****************************
39 base:   $(PGM)
40         @echo "Simulation compiled."
41
42 pure:   $(PGM).pure
43         @echo "Simulation (w purify) compiled."
44
45 proj:   $(PGM).proj
46         @echo "Simulation (w projections log traces) compiled."
47
48 summary:    $(PGM).summary
49         @echo "Simulation (w summary log traces) compiled."
50
51 $(PGM): $(SIM_OBJECTS) 
52         $(CHARMC) $(SIM_OBJECTS) $(OTHER) $(LIBS) -o $(PGM) \
53         -module pose -language charm++
54
55 $(PGM).alt:     $(SIM_OBJECTS) 
56         $(CHARMC) $(SIM_OBJECTS) $(OTHER) $(LIBS) -o $(PGM).alt \
57         -module pose -language charm++
58
59 $(PGM).comm:    $(SIM_OBJECTS) 
60         $(CHARMC) $(SIM_OBJECTS) $(OTHER) $(LIBS) -o $(PGM).comm \
61         -module pose -language charm++ -module commlib
62
63 $(PGM).pure:    $(SIM_OBJECTS)
64         $(CHARMC) $(SIM_OBJECTS) $(OTHER) $(LIBS) -o $(PGM).pure \
65         -module pose -language charm++ -purify
66
67 $(PGM).proj:    $(SIM_OBJECTS)
68         $(CHARMC) $(SIM_OBJECTS) $(OTHER) $(LIBS) -o $(PGM).proj \
69         -module pose -language charm++ -tracemode projections
70
71 $(PGM).summary: $(SIM_OBJECTS)
72         $(CHARMC) $(SIM_OBJECTS) $(OTHER) $(LIBS) -o $(PGM).summary \
73         -module pose -language charm++ -tracemode summary
74
75 # HOUSE-KEEPING RULES
76 # - DO NOT MODIFY
77 #********************
78
79 # clean removes everything
80 clean:  clear rm_logs ;
81
82 # clear removes only binaries and generated files
83 clear:
84         rm -f charmrun conv-host *.o
85         rm -f *.def.h *.decl.h
86         rm -f $(PGM) $(PGM).pure $(PGM).proj $(PGM).summary
87         rm -f gmon.out #*#
88         rm -f core *~
89         rm -f TAGS *.headers
90         rm -f *_sim.*
91
92 # rm_logs removes projections/summary log traces
93 rm_logs:
94         rm -f [^j]*.log *.sum [^j]*.sts
95         rm -f *-bg.*.log *-bg.sts
96
97 # SIMULATION COMPILATION RULES
98 # - DO NOT MODIFY 
99 #*****************************
100 $(PGM).o :      $(PGM).C $(PGM).h $(PGM_MODULE).def.h $(PGM_MODULE).decl.h
101         $(CHARMC) -c -I$(CHARMINC) $(INCLUDES) $(LIBS) $(PGM).C
102
103 $(PGM_MODULE).def.h $(PGM_MODULE).decl.h : $(PGM).ci
104         $(CHARMC) $(INCLUDES) $(LIBS) $(PGM).ci
105
106 topology.o: topology.C
107         $(CHARMC) -c topology.C
108
109 SchedSIM_sim.o :        SchedSIM_sim.C SchedSIM_sim.h SchedSIM.def.h SchedSIM.decl.h
110         $(CHARMC) -c $(LIBS) $(INCLUDES) -I$(CHARMINC) SchedSIM_sim.C topology.C -memory paranoid
111
112 SchedSIM.def.h SchedSIM.decl.h : SchedSIM_sim.ci
113         $(CHARMC) $(INCLUDES) $(LIBS) SchedSIM_sim.ci
114
115 SchedSIM_sim.C SchedSIM_sim.h SchedSIM_sim.ci: SchedSIM.C SchedSIM.h SchedSIM.ci 
116         $(CHARMBIN)/etrans.pl SchedSIM
117
118 generate.o: generate.c
119         $(CHARMC) -c generate.c
120
121 edgelist.o: edgelist.c
122         $(CHARMC) -c edgelist.c
123
124
125