53d7e2ff6dc8af9ff986e7bd0e709683649e35d3
[charm.git] / example / fft-trans / Makefile
1 OPTS    = -O3
2 CHARMC  = $(HOME)/charm/net-linux-x86_64-smp-prod/bin/charmc $(OPTS)
3 CC=mpicxx
4 LIBS = -lfftw3 -lm
5 SLIBS = -lfftw3f -lm
6
7 OBJS = fft1d.o
8
9 all: fft1d fft_ref fft1d.prj fft_bench
10
11 #for single precision add -DSINGLE_PRECISION to OPTS on the command line
12 singlePrecision: fft1d_s
13
14
15 fft_bench: fft_bench.o
16         ${CC} fft_bench.o -o fft_bench $(LIBS)
17
18 fft_bench.o: fft_bench.cpp
19         ${CC} -c fft_bench.cpp $(INC)
20
21 fft1d: $(OBJS)
22         $(CHARMC) -language charm++ -o fft1d $(OBJS) $(LIBS) -module NodeHelper
23
24 fft1d_s: $(OBJS)
25         $(CHARMC) -language charm++ -o fft1d_s $(OBJS) $(SLIBS)  -module NodeHelper
26
27 projections: fft1d.prj
28 fft1d.prj: $(OBJS)
29         $(CHARMC) -language charm++ -tracemode projections $(LIBS) -lz -o fft1d.prj $(OBJS)  -module NodeHelper
30
31 summary: $(OBJS)
32         $(CHARMC) -language charm++ -tracemode summary $(LIBS) -o fft1d.sum $(OBJS)
33
34 fft1d.decl.h: fft1d.ci
35         $(CHARMC)  fft1d.ci
36
37 fft_ref: fft_ref.o
38         ${CC} fft_ref.o -o fft_ref -L/expand/home/arya/fftw-3.3/lib -lfftw3_mpi -lfftw3 -lm
39
40 fft_ref.o: fft_ref.cpp
41         ${CC} -c fft_ref.cpp -I/expand/home/arya/fftw-3.3/include
42
43 cleanproj:
44         rm -f *.log *.sts *.projrc
45
46 clean:
47         rm -f *.decl.h *.def.h conv-host *.o fft1d fft1d.prj fft_bench charmrun fft_ref *~
48
49 fft1d.o: fft1d.C fft1d.decl.h
50         $(CHARMC) -c fft1d.C
51