params
[charm.git] / examples / charm++ / barnes-charm / Makefile
1 # to disable various phases of the simulation:
2 # -DNO_PARTITION
3 # -DNO_FORCES
4 # -DNO_ADVANCE
5 # -DNO_LB
6 #
7 # to control verbosity of program:
8 # -DVERBOSE_MAIN 
9 # -DVERBOSE_CHUNKS
10 # -DVERBOSE_PIECES
11 #
12 # to print out a graphical representation of the constructed tree:
13 # -DPRINT_TREE
14 #
15 # to disable timing 
16 # -DNO_TIME
17
18 OPTS= -O3 -DNO_TIME #-DOUTPUT_ACC #-DPRINT_TREE #-DNO_LB #-DVERBOSE_CHUNKS -DVERBOSE_PIECES -DVERBOSE_MAIN
19 CHARM_DIR=../../../multicore-linux64
20 CHARMC=$(CHARM_DIR)/bin/charmc $(OPTS)
21
22 OBJS = TreePiece.o ParticleChunk.o Main.o grav.o util.o code_io.o 
23 PROJ= #-tracemode projections #-tracemode summary
24
25 TARGET = BARNES
26 all: $(TARGET) 
27
28 $(TARGET): $(OBJS)
29         $(CHARMC) -language charm++ -module GreedyLB -module RotateLB -module GreedyCommLB -o $(TARGET) $(OBJS) $(PROJ) -memory os
30
31 $(TARGET).%: $(TARGET)
32         mv $(TARGET) $@
33         mv charmrun charmrun.$*
34
35 run: $(TARGET)
36         ./$(TARGET) +LBPeriod 0.0001 +balancer NullLB -in=input_100000 -pieces=8 -fat=100 -tstop=0.225 -NPROC=$(NPROC) $(BARNES_OPTS) +p$(P) ++ppn$(P) 
37
38 grav.o: grav.C barnes.decl.h
39         $(CHARMC) -c grav.C
40
41 ParticleChunk.o: ParticleChunk.cpp barnes.decl.h barnes.h
42         $(CHARMC) -c ParticleChunk.cpp
43
44 TreePiece.o: TreePiece.cpp barnes.decl.h barnes.h
45         $(CHARMC) -c TreePiece.cpp
46
47 Main.o: Main.cpp barnes.decl.h barnes.h
48         $(CHARMC) -c Main.cpp
49
50 barnes.decl.h: barnes.ci
51         $(CHARMC) -c barnes.ci
52
53 util.o: util.C
54         $(CHARMC) -c util.C
55
56 code_io.o: code_io.C barnes.decl.h
57         $(CHARMC) -c code_io.C
58
59 clean:
60         rm -f *.decl.h *.def.h conv-host *.o BARNES charmrun *~ *.core 
61
62 realclean: clean
63         rm -f out.* *.dot *.ps