To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.

The primary repository for this project is hosted at https://github.com/sonic-visualiser/sv-dependency-builds .
This repository is a read-only copy which is updated automatically every hour.

Statistics Download as Zip
| Branch: | Tag: | Revision:

root / src / fftw-3.3.8 / dft / scalar / codelets / Makefile.am @ 167:bd3cc4d1df30

History | View | Annotate | Download (4.58 KB)

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