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