annotate src/fftw-3.3.3/dft/scalar/codelets/Makefile.am @ 120:c9cf28b398fb

Add win64-mingw builds
author Chris Cannam <cannam@all-day-breakfast.com>
date Thu, 30 Oct 2014 17:29:41 +0000
parents 89f5e221ed7b
children
rev   line source
cannam@95 1 # This Makefile.am specifies a set of codelets, efficient transforms
cannam@95 2 # of small sizes, that are used as building blocks (kernels) by FFTW
cannam@95 3 # to build up large transforms, as well as the options for generating
cannam@95 4 # and compiling them.
cannam@95 5
cannam@95 6 # You can customize FFTW for special needs, e.g. to handle certain
cannam@95 7 # sizes more efficiently, by adding new codelets to the lists of those
cannam@95 8 # included by default. If you change the list of codelets, any new
cannam@95 9 # ones you added will be automatically generated when you run the
cannam@95 10 # bootstrap script (see "Generating your own code" in the FFTW
cannam@95 11 # manual).
cannam@95 12
cannam@95 13 ###########################################################################
cannam@95 14 AM_CPPFLAGS = -I$(top_srcdir)/kernel -I$(top_srcdir)/dft \
cannam@95 15 -I$(top_srcdir)/dft/scalar
cannam@95 16 noinst_LTLIBRARIES = libdft_scalar_codelets.la
cannam@95 17
cannam@95 18 ###########################################################################
cannam@95 19 # n1_<n> is a hard-coded FFT of size <n> (base cases of FFT recursion)
cannam@95 20 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 \
cannam@95 21 n1_11.c n1_12.c n1_13.c n1_14.c n1_15.c n1_16.c n1_32.c n1_64.c \
cannam@95 22 n1_20.c n1_25.c # n1_30.c n1_40.c n1_50.c
cannam@95 23
cannam@95 24 ###########################################################################
cannam@95 25 # t1_<r> is a "twiddle" FFT of size <r>, implementing a radix-r DIT step
cannam@95 26 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 \
cannam@95 27 t1_10.c t1_12.c t1_15.c t1_16.c t1_32.c t1_64.c \
cannam@95 28 t1_20.c t1_25.c # t1_30.c t1_40.c t1_50.c
cannam@95 29
cannam@95 30 # t2_<r> is also a twiddle FFT, but instead of using a complete lookup table
cannam@95 31 # of trig. functions, it partially generates the trig. values on the fly
cannam@95 32 # (this is faster for large sizes).
cannam@95 33 T2 = t2_4.c t2_8.c t2_16.c t2_32.c t2_64.c \
cannam@95 34 t2_5.c t2_10.c t2_20.c t2_25.c
cannam@95 35
cannam@95 36 ###########################################################################
cannam@95 37 # The F (DIF) codelets are used for a kind of in-place transform algorithm,
cannam@95 38 # but the planner seems to never (or hardly ever) use them on the machines
cannam@95 39 # we have access to, preferring the Q codelets and the use of buffers
cannam@95 40 # for sub-transforms. So, we comment them out, at least for now.
cannam@95 41
cannam@95 42 # f1_<r> is a "twiddle" FFT of size <r>, implementing a radix-r DIF step
cannam@95 43 F1 = # f1_2.c f1_3.c f1_4.c f1_5.c f1_6.c f1_7.c f1_8.c f1_9.c f1_10.c f1_12.c f1_15.c f1_16.c f1_32.c f1_64.c
cannam@95 44
cannam@95 45 # like f1, but partially generates its trig. table on the fly
cannam@95 46 F2 = # f2_4.c f2_8.c f2_16.c f2_32.c f2_64.c
cannam@95 47
cannam@95 48 ###########################################################################
cannam@95 49 # q1_<r> is <r> twiddle FFTs of size <r> (DIF step), where the output is
cannam@95 50 # transposed. This is used for in-place transposes in sizes that are
cannam@95 51 # divisible by <r>^2. These codelets have size ~ <r>^2, so you should
cannam@95 52 # probably not use <r> bigger than 8 or so.
cannam@95 53 Q1 = q1_2.c q1_4.c q1_8.c q1_3.c q1_5.c q1_6.c
cannam@95 54
cannam@95 55 ###########################################################################
cannam@95 56 ALL_CODELETS = $(N1) $(T1) $(T2) $(F1) $(F2) $(Q1)
cannam@95 57 BUILT_SOURCES= $(ALL_CODELETS) $(CODLIST)
cannam@95 58
cannam@95 59 libdft_scalar_codelets_la_SOURCES = $(BUILT_SOURCES)
cannam@95 60
cannam@95 61 SOLVTAB_NAME = X(solvtab_dft_standard)
cannam@95 62 XRENAME=X
cannam@95 63
cannam@95 64 # special rules for regenerating codelets.
cannam@95 65 include $(top_srcdir)/support/Makefile.codelets
cannam@95 66
cannam@95 67 if MAINTAINER_MODE
cannam@95 68 FLAGS_N1=$(DFT_FLAGS_COMMON)
cannam@95 69 FLAGS_T1=$(DFT_FLAGS_COMMON)
cannam@95 70 FLAGS_T2=$(DFT_FLAGS_COMMON) -twiddle-log3 -precompute-twiddles
cannam@95 71 FLAGS_F1=$(DFT_FLAGS_COMMON)
cannam@95 72 FLAGS_F2=$(DFT_FLAGS_COMMON) -twiddle-log3 -precompute-twiddles
cannam@95 73 FLAGS_Q1=$(DFT_FLAGS_COMMON) -reload-twiddle
cannam@95 74 FLAGS_Q2=$(DFT_FLAGS_COMMON) -twiddle-log3 -precompute-twiddles
cannam@95 75
cannam@95 76 n1_%.c: $(CODELET_DEPS) $(GEN_NOTW)
cannam@95 77 ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_NOTW) $(FLAGS_N1) -n $* -name n1_$* -include "n.h") | $(ADD_DATE) | $(INDENT) >$@
cannam@95 78
cannam@95 79 t1_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE)
cannam@95 80 ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE) $(FLAGS_T1) -n $* -name t1_$* -include "t.h") | $(ADD_DATE) | $(INDENT) >$@
cannam@95 81
cannam@95 82 t2_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE)
cannam@95 83 ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE) $(FLAGS_T2) -n $* -name t2_$* -include "t.h") | $(ADD_DATE) | $(INDENT) >$@
cannam@95 84
cannam@95 85 f1_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE)
cannam@95 86 ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE) $(FLAGS_F1) -dif -n $* -name f1_$* -include "f.h") | $(ADD_DATE) | $(INDENT) >$@
cannam@95 87
cannam@95 88 f2_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE)
cannam@95 89 ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE) $(FLAGS_F2) -dif -n $* -name f2_$* -include "f.h") | $(ADD_DATE) | $(INDENT) >$@
cannam@95 90
cannam@95 91 q1_%.c: $(CODELET_DEPS) $(GEN_TWIDSQ)
cannam@95 92 ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDSQ) $(FLAGS_Q1) -dif -n $* -name q1_$* -include "q.h") | $(ADD_DATE) | $(INDENT) >$@
cannam@95 93
cannam@95 94 q2_%.c: $(CODELET_DEPS) $(GEN_TWIDSQ)
cannam@95 95 ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDSQ) $(FLAGS_Q2) -dif -n $* -name q2_$* -include "q.h") | $(ADD_DATE) | $(INDENT) >$@
cannam@95 96
cannam@95 97 endif # MAINTAINER_MODE