Merge branch 'charm' of charmgit:charm into charm
[charm.git] / examples / pose / ASIM / 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=Pgm
28 PGM=pgm
29 OTHER=
30 LIBS=-Lstdc++ -lm
31
32 # Simulation object definitions 
33 # *****************************
34 SIM_OBJECTS=Worker_sim.o $(PGM).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).seq:     $(SIM_OBJECTS) 
56         $(CHARMC) $(SIM_OBJECTS) $(OTHER) $(LIBS) -o $(PGM).seq \
57         -module seqpose -language charm++
58
59 $(PGM).alt:     $(SIM_OBJECTS) 
60         $(CHARMC) $(SIM_OBJECTS) $(OTHER) $(LIBS) -o $(PGM).alt \
61         -lpose -language charm++
62
63 $(PGM).comm:    $(SIM_OBJECTS) 
64         $(CHARMC) $(SIM_OBJECTS) $(OTHER) $(LIBS) -o $(PGM).comm \
65         -lpose -language charm++ -module commlib
66
67 $(PGM).pure:    $(SIM_OBJECTS)
68         $(CHARMC) $(SIM_OBJECTS) $(OTHER) $(LIBS) -o $(PGM).pure \
69         -lpose -language charm++ -purify
70
71 $(PGM).proj:    $(SIM_OBJECTS)
72         $(CHARMC) $(SIM_OBJECTS) $(OTHER) $(LIBS) -o $(PGM).proj \
73         -lpose -language charm++ -tracemode projections
74
75 $(PGM).summary: $(SIM_OBJECTS)
76         $(CHARMC) $(SIM_OBJECTS) $(OTHER) $(LIBS) -o $(PGM).summary \
77         -lpose -language charm++ -tracemode summary
78
79 # HOUSE-KEEPING RULES
80 # - DO NOT MODIFY
81 #********************
82
83 # clean removes everything
84 clean:  clear rm_logs ;
85
86 # clear removes only binaries and generated files
87 clear:
88         rm -f charmrun conv-host *.o
89         rm -f *.def.h *.decl.h
90         rm -f $(PGM) $(PGM).pure $(PGM).proj $(PGM).summary
91         rm -f gmon.out #*#
92         rm -f core *~
93         rm -f TAGS *.headers
94         rm -f *_sim.*
95
96 # rm_logs removes projections/summary log traces
97 rm_logs:
98         rm -f [^j]*.log *.sum [^j]*.sts
99         rm -f *-bg.*.log *-bg.sts
100
101 # SIMULATION COMPILATION RULES
102 # - DO NOT MODIFY 
103 #*****************************
104 $(PGM).o :      $(PGM).C $(PGM).h $(PGM_MODULE).def.h $(PGM_MODULE).decl.h
105         $(CHARMC) -c -I$(CHARMINC) $(INCLUDES) $(LIBS) $(PGM).C
106
107 $(PGM_MODULE).def.h $(PGM_MODULE).decl.h : $(PGM).ci
108         $(CHARMC) $(INCLUDES) $(LIBS) $(PGM).ci
109
110 Worker_sim.o :  Worker_sim.C Worker_sim.h Worker.def.h Worker.decl.h
111         $(CHARMC) -c $(LIBS) $(INCLUDES) -I$(CHARMINC) Worker_sim.C
112
113 Worker.def.h Worker.decl.h : Worker_sim.ci
114         $(CHARMC) $(INCLUDES) $(LIBS) Worker_sim.ci
115
116 Worker_sim.C Worker_sim.h Worker_sim.ci: Worker.C Worker.h Worker.ci 
117         $(CHARMBIN)/etrans.pl Worker
118
119 test:
120         ./pgm 1000 10 1 RANDOM SPARSE 50 50 -gf 344
121
122 test-q:
123         ./pgm 1000 10 1 RANDOM SPARSE 50 -1 -gf 344
124