a few examples from the pgms/charm++ tree
[charm.git] / examples / multiphaseSharedArrays / Makefile_common
1 # emacs mode line -*- mode: makefile -*-
2 # needs $(PGM)
3
4 OPTS=
5 CDIR=../../../..
6 CHARMC=$(CDIR)/bin/charmc -language charm++ $(OPTS)
7
8 # Rules to convert .ci to .decl.h and .def.h
9 .SUFFIXES:
10 .SUFFIXES: .o .C .def.h .decl.h .ci .h
11
12 .ci.decl.h:
13         $(CHARMC) -c $<
14
15 .decl.h.def.h:
16         @true
17
18 all : opt
19
20 $(PGM) : $(PGM).o
21         $(CHARMC) -o $(PGM) -module msa $(PGM).o -lm
22
23 headers: $(PGM).decl.h $(PGM).def.h $(HEADERS)
24         touch headers
25
26 $(PGM).o : $(PGM).ci $(PGM).C headers
27         $(CHARMC) -c $(PGM).C
28
29 proj:
30         make OPTS="-tracemode projections -O3" $(PGM)
31
32 para:
33         make OPTS="-memory paranoid -g $(OPTS)" $(PGM)
34
35 opt:
36         make OPTS="-O3 $(OPTS)" $(PGM)
37
38 g:
39         make OPTS="-g $(OPTS)" $(PGM)
40
41 gprof:
42         make OPTS="-pg $(OPTS)" $(PGM)
43
44 clean:
45         rm -f *.o *.decl.h *.def.h charmrun test $(PGM) headers
46
47 c: clean
48
49 tests: w2 w3 w4
50
51 # test with two worker threads
52 w2: opt
53         @echo ================================================================
54         ./charmrun +p1 $(PGM) 2
55         @echo ================================================================
56         ./charmrun +p2 $(PGM) 2
57         @echo ================================================================
58         ./charmrun +p3 $(PGM) 2
59         @echo ================================================================
60         ./charmrun +p4 $(PGM) 2
61
62 # test with three worker threads
63 w3: opt
64         @echo ================================================================
65         ./charmrun +p1 $(PGM) 3
66         @echo ================================================================
67         ./charmrun +p2 $(PGM) 3
68         @echo ================================================================
69         ./charmrun +p3 $(PGM) 3
70         @echo ================================================================
71         ./charmrun +p4 $(PGM) 3
72
73 #test with various worker threads
74 w4: opt
75         @echo ================================================================
76         ./charmrun +p1 $(PGM) 4
77         @echo ================================================================
78         ./charmrun +p2 $(PGM) 4
79         @echo ================================================================
80         ./charmrun +p3 $(PGM) 4
81         @echo ================================================================
82         ./charmrun +p4 $(PGM) 4
83         @echo ================================================================
84         ./charmrun +p4 $(PGM) 8
85         @echo ================================================================
86         ./charmrun +p4 $(PGM) 32