Added test targets to Makefiles.
[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 test: $(PGM)
21         ./charmrun +p4 $(PGM) $(TEST_ARGS)
22
23 $(PGM) : $(PGM).o
24         $(CHARMC) -o $(PGM) -module msa $(PGM).o -lm
25
26 headers: $(PGM).decl.h $(PGM).def.h $(HEADERS)
27         touch headers
28
29 $(PGM).o : $(PGM).ci $(PGM).C headers
30         $(CHARMC) -c $(PGM).C
31
32 proj:
33         make OPTS="-tracemode projections -O3" $(PGM)
34
35 para:
36         make OPTS="-memory paranoid -g $(OPTS)" $(PGM)
37
38 opt:
39         make OPTS="-O3 $(OPTS)" $(PGM)
40
41 g:
42         make OPTS="-g $(OPTS)" $(PGM)
43
44 gprof:
45         make OPTS="-pg $(OPTS)" $(PGM)
46
47 clean:
48         rm -f *.o *.decl.h *.def.h charmrun test $(PGM) headers
49
50 c: clean
51
52 tests: w2 w3 w4
53
54 # test with two worker threads
55 w2: opt
56         @echo ================================================================
57         ./charmrun +p1 $(PGM) 2
58         @echo ================================================================
59         ./charmrun +p2 $(PGM) 2
60         @echo ================================================================
61         ./charmrun +p3 $(PGM) 2
62         @echo ================================================================
63         ./charmrun +p4 $(PGM) 2
64
65 # test with three worker threads
66 w3: opt
67         @echo ================================================================
68         ./charmrun +p1 $(PGM) 3
69         @echo ================================================================
70         ./charmrun +p2 $(PGM) 3
71         @echo ================================================================
72         ./charmrun +p3 $(PGM) 3
73         @echo ================================================================
74         ./charmrun +p4 $(PGM) 3
75
76 #test with various worker threads
77 w4: opt
78         @echo ================================================================
79         ./charmrun +p1 $(PGM) 4
80         @echo ================================================================
81         ./charmrun +p2 $(PGM) 4
82         @echo ================================================================
83         ./charmrun +p3 $(PGM) 4
84         @echo ================================================================
85         ./charmrun +p4 $(PGM) 4
86         @echo ================================================================
87         ./charmrun +p4 $(PGM) 8
88         @echo ================================================================
89         ./charmrun +p4 $(PGM) 32