-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathMakefile
91 lines (66 loc) · 2.49 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
CC=g++
CFLAGS=-g -Wall -ansi -O3 -DNDEBUG -fomit-frame-pointer -fstrict-aliasing -ffast-math -msse2 -mfpmath=sse -march=native
#For valgrind:
#CFLAGS=-g -Wall -ansi -O3 -DNDEBUG -fomit-frame-pointer -fstrict-aliasing -msse2 -mfpmath=sse -march=native
a:=$(shell which icpc 2>&1 | tail -c5)
ifeq ($(a),icpc)
CC=icpc
CFLAGS=-O3 -ansi-alias -malign-double -fp-model fast=2
endif
MAKEDEPEND=$(CFLAGS) -O0 -M -DDEPEND
LDFLAGS=-lfftw3
FILES=example0 example0r example1 example1r example2 example2r \
example3 example3r conv cconv conv2 cconv2 conv3 cconv3 biconv biconv2
FFTW=fftw++
EXTRA=$(FFTW) convolution
ALL=$(FILES) $(EXTRA)
all: $(FILES)
icpc: all
CC=icpc
example0: example0.o $(FFTW:=.o)
$(CC) $(CFLAGS) example0.o $(FFTW:=.o) $(LDFLAGS) -o example0
example0r: example0r.o $(FFTW:=.o)
$(CC) $(CFLAGS) example0.o $(FFTW:=.o) $(LDFLAGS) -o example0r
example1: example1.o $(FFTW:=.o)
$(CC) $(CFLAGS) example1.o $(FFTW:=.o) $(LDFLAGS) -o example1
example1r: example1r.o $(FFTW:=.o)
$(CC) $(CFLAGS) example1.o $(FFTW:=.o) $(LDFLAGS) -o example1r
example2: example2.o $(FFTW:=.o)
$(CC) $(CFLAGS) example2.o $(FFTW:=.o) $(LDFLAGS) -o example2
example2r: example2r.o $(FFTW:=.o)
$(CC) $(CFLAGS) example2.o $(FFTW:=.o) $(LDFLAGS) -o example2r
example3: example3.o $(FFTW:=.o)
$(CC) $(CFLAGS) example3.o $(FFTW:=.o) $(LDFLAGS) -o example3
example3r: example3r.o $(FFTW:=.o)
$(CC) $(CFLAGS) example3.o $(FFTW:=.o) $(LDFLAGS) -o example3r
conv: conv.o $(EXTRA:=.o)
$(CC) $(CFLAGS) conv.o $(EXTRA:=.o) $(LDFLAGS) -o conv
cconv: cconv.o $(EXTRA:=.o)
$(CC) $(CFLAGS) cconv.o $(EXTRA:=.o) $(LDFLAGS) -o cconv
conv2: conv2.o $(EXTRA:=.o)
$(CC) $(CFLAGS) conv2.o $(EXTRA:=.o) $(LDFLAGS) -o conv2
cconv2: cconv2.o $(EXTRA:=.o)
$(CC) $(CFLAGS) cconv2.o $(EXTRA:=.o) $(LDFLAGS) -o cconv2
conv3: conv3.o $(EXTRA:=.o)
$(CC) $(CFLAGS) conv3.o $(EXTRA:=.o) $(LDFLAGS) -o conv3
cconv3: cconv3.o $(EXTRA:=.o)
$(CC) $(CFLAGS) cconv3.o $(EXTRA:=.o) $(LDFLAGS) -o cconv3
biconv: biconv.o $(EXTRA:=.o)
$(CC) $(CFLAGS) biconv.o $(EXTRA:=.o) $(LDFLAGS) -o biconv
biconv2: biconv2.o $(EXTRA:=.o)
$(CC) $(CFLAGS) biconv2.o $(EXTRA:=.o) $(LDFLAGS) -o biconv2
clean: FORCE
rm -rf $(ALL) $(ALL:=.o) $(ALL:=.d) wisdom3.txt
.SUFFIXES: .c .cc .o .d
.cc.o:
$(CXX) $(CFLAGS) $(INCL) -o $@ -c $<
.cc.d:
@echo Creating $@; \
rm -f $@; \
${CXX} $(MAKEDEPEND) $(INCL) $< > $@.$$$$ 2>/dev/null && \
sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
rm -f $@.$$$$
ifeq (,$(findstring clean,${MAKECMDGOALS}))
-include $(ALL:=.d)
endif
FORCE: