summaryrefslogtreecommitdiff
path: root/src/im_fftw3.mak
blob: 7bb1a941c8dca6ab501dd41acfe8dc87c44a9f06 (plain)
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
PROJNAME = im
LIBNAME = im_fftw3
OPT = YES

DEF_FILE = im_fftw.def

RDFT_CODELETS_R2R = e01_8.c e10_8.c rrcodlist.c
RDFT_CODELETS_R2R := $(addprefix r2r/, $(RDFT_CODELETS_R2R))

R2HC = r2hc_2.c r2hc_3.c r2hc_4.c r2hc_5.c r2hc_6.c r2hc_7.c r2hc_8.c	\
  r2hc_9.c r2hc_10.c r2hc_11.c r2hc_12.c r2hc_13.c r2hc_14.c r2hc_15.c	\
  r2hc_16.c r2hc_32.c 
MR2HC = mr2hc_32.c mr2hc_64.c mr2hc_128.c
HF = hf_2.c hf_3.c hf_4.c hf_5.c hf_6.c hf_7.c hf_8.c hf_9.c	\
  hf_10.c hf_12.c hf_15.c hf_16.c hf_32.c hf_64.c
HF2 = hf2_4.c hf2_8.c hf2_16.c hf2_32.c hf2_64.c
R2HCII = r2hcII_2.c r2hcII_3.c r2hcII_4.c r2hcII_5.c r2hcII_6.c		\
  r2hcII_7.c r2hcII_8.c r2hcII_9.c r2hcII_10.c r2hcII_12.c r2hcII_15.c	\
  r2hcII_16.c r2hcII_32.c
MR2HCII =  mr2hcII_32.c mr2hcII_64.c
RDFT_CODELETS_R2HC = $(R2HC) $(MR2HC) $(HF) $(HF2) $(R2HCII) $(MR2HCII) rhcodlist.c 
RDFT_CODELETS_R2HC := $(addprefix r2hc/, $(RDFT_CODELETS_R2HC))

HC2R = hc2r_3.c hc2r_4.c hc2r_5.c hc2r_6.c hc2r_7.c hc2r_8.c hc2r_9.c	\
  hc2r_10.c hc2r_11.c hc2r_12.c hc2r_13.c hc2r_14.c hc2r_15.c hc2r_16.c	\
  hc2r_32.c
MHC2R = mhc2r_32.c mhc2r_64.c mhc2r_128.c
HB = hb_2.c hb_3.c hb_4.c hb_5.c hb_6.c hb_7.c hb_8.c hb_9.c	\
  hb_10.c hb_12.c hb_15.c hb_16.c hb_32.c hb_64.c
HB2 = hb2_4.c hb2_8.c hb2_16.c hb2_32.c hb2_64.c
HC2RIII = hc2rIII_2.c hc2rIII_3.c hc2rIII_4.c hc2rIII_5.c hc2rIII_6.c	\
  hc2rIII_7.c hc2rIII_8.c hc2rIII_9.c hc2rIII_10.c hc2rIII_12.c		\
  hc2rIII_15.c hc2rIII_16.c hc2rIII_32.c
MHC2RIII = mhc2rIII_32.c mhc2rIII_64.c
RDFT_CODELETS_HC2R = $(HC2R) $(MHC2R) $(HB) $(HC2RIII) $(MHC2RIII) hcodlist.c
RDFT_CODELETS_HC2R := $(addprefix hc2r/, $(RDFT_CODELETS_HC2R))

RDFT_CODELETS = hc2r.c hfb.c	\
  r2hc.c r2r.c $(RDFT_CODELETS_R2R) $(RDFT_CODELETS_HC2R) $(RDFT_CODELETS_R2HC)
RDFT_CODELETS := $(addprefix codelets/, $(RDFT_CODELETS))

RDFT2 = buffered2.c direct2.c nop2.c rank0-rdft2.c rank-geq2-rdft2.c	\
  plan2.c problem2.c solve2.c vrank-geq1-rdft2.c rdft2-radix2.c		\
  rdft2-tensor-max-index.c rdft2-inplace-strides.c rdft2-strides.c
RDFT = dft-r2hc.c dht-r2hc.c dht-rader.c rbuffered.c	\
  rconf.c rdirect.c rgeneric.c khc2hc-dif.c khc2hc-dit.c	\
  khc2r.c kr2hc.c kr2r.c hc2hc.c hc2hc-dif.c hc2hc-dit.c		\
  hc2hc-buf.c rindirect.c rnop.c rplan.c rproblem.c rader-hc2hc.c rrank0.c	\
  rrank-geq2.c rdft-dht.c rsolve.c rvrank-geq1.c $(RDFT2) $(RDFT_CODELETS)
RDFT  := $(addprefix rdft/, $(RDFT))

N1 = n1_2.c n1_3.c n1_4.c n1_5.c n1_6.c n1_7.c n1_8.c n1_9.c n1_10.c	\
  n1_11.c n1_12.c n1_13.c n1_14.c n1_15.c n1_16.c
M1 = m1_16.c m1_32.c m1_64.c
T1 = t1_2.c t1_3.c t1_4.c t1_5.c t1_6.c t1_7.c t1_8.c t1_9.c	\
  t1_10.c t1_12.c t1_15.c t1_16.c t1_32.c t1_64.c
T2 = t2_4.c t2_8.c t2_16.c t2_32.c t2_64.c
DFT_CODELETS_STANDARD = $(N1) $(M1) $(T1) $(T2) scodlist.c
DFT_CODELETS_STANDARD  := $(addprefix standard/, $(DFT_CODELETS_STANDARD))

DFT_CODELETS_INPLACE = q1_2.c q1_4.c q1_8.c  q1_3.c q1_5.c q1_6.c icodlist.c
DFT_CODELETS_INPLACE := $(addprefix inplace/, $(DFT_CODELETS_INPLACE))

DFT_CODELETS = n.c t.c $(DFT_CODELETS_INPLACE) $(DFT_CODELETS_STANDARD)
DFT_CODELETS := $(addprefix codelets/, $(DFT_CODELETS))

DFT = buffered.c conf.c ct-dif.c ct-dit.c ct-ditbuf.c	\
  ct-ditf.c ct.c direct.c generic.c indirect.c kdft-dif.c kdft-difsq.c	\
  kdft-dit.c kdft.c nop.c plan.c problem.c rader.c rader-omega.c		\
  rank-geq2.c rank0.c solve.c vrank-geq1.c vrank2-transpose.c		\
  vrank3-transpose.c zero.c $(DFT_CODELETS)
DFT := $(addprefix dft/, $(DFT))

REODFT = reoconf.c reodft010e-r2hc.c	\
  reodft11e-radix2.c reodft11e-r2hc-odd.c redft00e-r2hc-pad.c	\
  rodft00e-r2hc-pad.c
REODFT := $(addprefix reodft/, $(REODFT))

KERNEL = align.c alloc.c assert.c awake.c kbuffered.c	\
  kct.c debug.c hash.c iabs.c md5.c md5-1.c minmax.c ops.c pickdim.c	\
  kplan.c planner.c primes.c print.c kproblem.c krader.c scan.c solver.c	\
  solvtab.c square.c stride.c tensor.c tensor1.c tensor2.c tensor4.c	\
  tensor5.c tensor7.c tensor8.c tensor9.c timer.c transpose.c trig.c	\
  trig1.c twiddle.c
KERNEL := $(addprefix kernel/, $(KERNEL))

API = apiplan.c configure.c execute.c execute-dft.c	\
  execute-dft-c2r.c execute-dft-r2c.c execute-r2r.c			\
  export-wisdom-to-file.c export-wisdom-to-string.c export-wisdom.c	\
  extract-reim.c flops.c forget-wisdom.c import-system-wisdom.c		\
  import-wisdom-from-file.c import-wisdom-from-string.c import-wisdom.c	\
  mapflags.c mkprinter-file.c mktensor-iodims.c mktensor-rowmajor.c	\
  plan-dft-1d.c plan-dft-2d.c plan-dft-3d.c plan-dft.c plan-guru-dft.c	\
  plan-many-dft.c plan-many-dft-c2r.c plan-dft-c2r.c plan-dft-c2r-1d.c	\
  plan-dft-c2r-2d.c plan-dft-c2r-3d.c plan-many-dft-r2c.c plan-dft-r2c.c	\
  plan-dft-r2c-1d.c plan-dft-r2c-2d.c plan-dft-r2c-3d.c			\
  plan-guru-dft-c2r.c plan-guru-dft-r2c.c map-r2r-kind.c plan-many-r2r.c	\
  plan-r2r-1d.c plan-r2r-2d.c plan-r2r-3d.c plan-r2r.c plan-guru-r2r.c	\
  print-plan.c the-planner.c rdft2-pad.c version.c \
  execute-split-dft-c2r.c execute-split-dft-r2c.c execute-split-dft.c	\
  plan-guru-split-dft-c2r.c plan-guru-split-dft-r2c.c	\
  plan-guru-split-dft.c f77api.c
API := $(addprefix api/, $(API))
	
SRC = $(API) $(REODFT) $(RDFT) $(DFT) $(KERNEL)
SRC := $(addprefix fftw3/, $(SRC))

SRC := process/im_fft.cpp $(SRC)

INCLUDES := ../include fftw3/kernel fftw3/dft fftw3/rdft fftw3/api \
  fftw3/reodft fftw3/rdft/codelets fftw3/dft/codelets

DEFINES = USE_FFTW3

USE_IM = Yes
IM = ..
LIBS = im_process


ifneq ($(findstring Win, $(TEC_SYSNAME)), )
  ifneq ($(findstring gcc, $(TEC_UNAME)), )
    DEFINES += HAVE_UINTPTR_T
  endif
  ifneq ($(findstring ow, $(TEC_UNAME)), )
    DEFINES += IM_DEFMATHFLOAT
  endif         
  ifneq ($(findstring bc, $(TEC_UNAME)), )
    DEFINES += IM_DEFMATHFLOAT
  endif
else
  ifneq ($(findstring IRIX, $(TEC_UNAME)), )
    DEFINES += HAVE_UINTPTR_T
  endif
  ifneq ($(findstring Darwin, $(TEC_UNAME)), )
    DEFINES += HAVE_UINTPTR_T
  endif
  ifneq ($(findstring FreeBSD, $(TEC_UNAME)), )
    DEFINES += HAVE_UINTPTR_T
  endif
  ifneq ($(findstring AIX, $(TEC_UNAME)), )
    DEFINES += IM_DEFMATHFLOAT HAVE_UINTPTR_T
  endif
  ifneq ($(findstring SunOS, $(TEC_UNAME)), )
    DEFINES += IM_DEFMATHFLOAT
  endif
endif

# Duplicated files: buffered.c conf.c direct.c indirect.c generic.c 
#                   nop.c plan.c problem.c rader.c rank0.c rank-geq2.c
#                   vrank-geq1.c solve.c ct.c codlist.c
# These were renamed to "r*" when in the rdft folder, and to "k*" when in the kernel folder.