diff options
Diffstat (limited to 'src/im_fftw3.mak')
-rw-r--r-- | src/im_fftw3.mak | 151 |
1 files changed, 151 insertions, 0 deletions
diff --git a/src/im_fftw3.mak b/src/im_fftw3.mak new file mode 100644 index 0000000..7bb1a94 --- /dev/null +++ b/src/im_fftw3.mak @@ -0,0 +1,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. |