]> git.gag.com Git - debian/gnuradio/blob - gnuradio-core/src/lib/filter/Makefile.am
Merged mld/fix_makefile_gen -r10446:10509 to trunk. This cleans up
[debian/gnuradio] / gnuradio-core / src / lib / filter / Makefile.am
1 #
2 # Copyright 2001,2002,2004,2005,2006,2007,2008,2009 Free Software Foundation, Inc.
3
4 # This file is part of GNU Radio
5
6 # GNU Radio is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 3, or (at your option)
9 # any later version.
10
11 # GNU Radio is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
15
16 # You should have received a copy of the GNU General Public License
17 # along with GNU Radio; see the file COPYING.  If not, write to
18 # the Free Software Foundation, Inc., 51 Franklin Street,
19 # Boston, MA 02110-1301, USA.
20
21
22 include $(top_srcdir)/Makefile.common
23
24 #
25 # This directory contains mostly filter routines, plus a few
26 # other performance critical items
27 #
28
29 AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(CPPUNIT_INCLUDES) $(WITH_INCLUDES)
30
31 noinst_LTLIBRARIES = libfilter.la libfilter-qa.la
32
33 # ----------------------------------------------------------------
34 # these scripts generate FIR code
35 #
36
37 code_generator =                                        \
38         generate_all.py                                 \
39         generate_gr_fir_XXX.py                          \
40         generate_gr_fir_filter_XXX.py                   \
41         generate_gr_interp_fir_filter_XXX.py            \
42         generate_gr_rational_resampler_base_XXX.py      \
43         generate_gr_fir_sysconfig.py                    \
44         generate_gr_fir_sysconfig_generic.py            \
45         generate_gr_fir_util.py                         \
46         generate_gr_freq_xlating_fir_filter_XXX.py      \
47         generate_utils.py                               \
48         gr_fir_XXX.cc.t                                 \
49         gr_fir_XXX.h.t                                  \
50         gr_fir_XXX_generic.cc.t                         \
51         gr_fir_XXX_generic.h.t                          \
52         gr_fir_filter_XXX.cc.t                          \
53         gr_fir_filter_XXX.h.t                           \
54         gr_fir_filter_XXX.i.t                           \
55         gr_interp_fir_filter_XXX.cc.t                   \
56         gr_interp_fir_filter_XXX.h.t                    \
57         gr_interp_fir_filter_XXX.i.t                    \
58         gr_rational_resampler_base_XXX.cc.t             \
59         gr_rational_resampler_base_XXX.h.t              \
60         gr_rational_resampler_base_XXX.i.t              \
61         gr_freq_xlating_fir_filter_XXX.cc.t             \
62         gr_freq_xlating_fir_filter_XXX.h.t              \
63         gr_freq_xlating_fir_filter_XXX.i.t
64
65 # include the srcdir's Makefile.gen; doing this creates an implicit
66 # dependency between $(srcdir)/Makefile.in and $(srcdir)/Makefile.gen.
67 include $(srcdir)/Makefile.gen
68
69 # Source built by Python into $(builddir)
70 python_built_sources =          \
71         $(GENERATED_H)          \
72         $(GENERATED_I)          \
73         $(GENERATED_CC)         \
74         filter_generated.i
75
76 BUILT_SOURCES = $(python_built_sources)
77
78 # Required when including Makefile.gen.gen
79
80 STAMPS =
81 gen_sources = $(BUILT_SOURCES)
82 gen_sources_deps = $(core_generator)
83 MOSTLYCLEANFILES = $(BUILT_SOURCES) *.pyc
84
85 # common way for generating sources from templates, using the above parameters
86 include $(top_srcdir)/Makefile.gen.gen
87
88 # ----------------------------------------------------------------
89 # MD_CPU and MD_SUBCPU are set at configure time by way of 
90 #   gnuradio/config/gr_set_md_cpu.m4.  
91 #   It indicates which set of machine dependent code we should be building.
92 #   We currently implement "generic" and "x86"
93
94 #
95 # <foo>_CODE entry for each set of machine specific speedups
96 #
97
98 generic_CODE =                          \
99         sysconfig_generic.cc            
100
101 generic_qa_CODE =                       \
102         qa_dotprod_generic.cc
103
104 x86_CODE =                              \
105         sysconfig_x86.cc                \
106         gr_fir_sysconfig_x86.cc         \
107         gr_cpu_x86.cc                   \
108         gr_fir_ccc_simd.cc              \
109         gr_fir_ccc_x86.cc               \
110         gr_fir_fff_simd.cc              \
111         gr_fir_fff_x86.cc               \
112         gr_fir_fsf_simd.cc              \
113         gr_fir_fsf_x86.cc               \
114         gr_fir_scc_simd.cc              \
115         gr_fir_scc_x86.cc               \
116         gr_fir_fcc_simd.cc              \
117         gr_fir_fcc_x86.cc               \
118         gr_fir_ccf_simd.cc              \
119         gr_fir_ccf_x86.cc               \
120         sse_debug.c
121
122 x86_SUBCODE =                           \
123         float_dotprod_sse.S             \
124         float_dotprod_3dnow.S           \
125         complex_dotprod_3dnowext.S      \
126         complex_dotprod_3dnow.S         \
127         complex_dotprod_sse.S           \
128         ccomplex_dotprod_3dnowext.S     \
129         ccomplex_dotprod_3dnow.S        \
130         ccomplex_dotprod_sse.S          \
131         fcomplex_dotprod_3dnow.S        \
132         fcomplex_dotprod_sse.S          \
133         short_dotprod_mmx.S             \
134         cpuid_x86.S
135
136 x86_64_SUBCODE =                        \
137         float_dotprod_sse64.S           \
138         float_dotprod_3dnow64.S         \
139         complex_dotprod_3dnowext64.S    \
140         complex_dotprod_3dnow64.S       \
141         complex_dotprod_sse64.S         \
142         ccomplex_dotprod_3dnowext64.S   \
143         ccomplex_dotprod_3dnow64.S      \
144         ccomplex_dotprod_sse64.S        \
145         fcomplex_dotprod_3dnow64.S      \
146         fcomplex_dotprod_sse64.S        \
147         short_dotprod_mmx64.S           \
148         cpuid_x86_64.S
149
150 x86_qa_CODE =                           \
151         qa_dotprod_x86.cc               \
152         qa_float_dotprod_x86.cc         \
153         qa_complex_dotprod_x86.cc       \
154         qa_ccomplex_dotprod_x86.cc      
155
156 powerpc_CODE = \
157         sysconfig_powerpc.cc \
158         gr_fir_sysconfig_powerpc.cc \
159         gr_cpu_powerpc.cc \
160         gr_fir_fff_altivec.cc \
161         gr_altivec.c \
162         dotprod_fff_altivec.c
163
164 powerpc_qa_CODE = \
165         qa_dotprod_powerpc.cc
166
167
168 #
169 # include each <foo>_CODE entry here...
170 #
171 EXTRA_libfilter_la_SOURCES =            \
172         $(generic_CODE)                 \
173         $(generic_qa_CODE)              \
174         $(x86_CODE)                     \
175         $(x86_SUBCODE)                  \
176         $(x86_64_SUBCODE)               \
177         $(x86_qa_CODE)                  \
178         $(powerpc_CODE)                 \
179         $(powerpc_qa_CODE)
180
181
182 EXTRA_DIST =                                    \
183         3dnow_float_dotprod_really_simple.S     \
184         3dnow_float_dotprod_simple.S            \
185         $(code_generator)
186
187 # work around automake deficiency
188 libfilter_la_common_SOURCES =           \
189         $(GENERATED_CC)                 \
190         gr_adaptive_fir_ccf.cc          \
191         gr_cma_equalizer_cc.cc          \
192         gr_fft_filter_ccc.cc            \
193         gr_fft_filter_fff.cc            \
194         gr_goertzel_fc.cc               \
195         gr_filter_delay_fc.cc           \
196         gr_fractional_interpolator_ff.cc \
197         gr_fractional_interpolator_cc.cc \
198         gr_hilbert_fc.cc                \
199         gr_iir_filter_ffd.cc            \
200         gr_sincos.c                     \
201         gr_single_pole_iir_filter_ff.cc \
202         gr_single_pole_iir_filter_cc.cc \
203         gri_goertzel.cc                 \
204         gri_mmse_fir_interpolator.cc    \
205         gri_mmse_fir_interpolator_cc.cc \
206         complex_dotprod_generic.cc      \
207         ccomplex_dotprod_generic.cc     \
208         float_dotprod_generic.c         \
209         short_dotprod_generic.c         
210
211 libfilter_qa_la_common_SOURCES =        \
212         qa_filter.cc                    \
213         qa_gr_fir_ccf.cc                \
214         qa_gr_fir_fcc.cc                \
215         qa_gr_fir_fff.cc                \
216         qa_gr_fir_ccc.cc                \
217         qa_gr_fir_scc.cc                \
218         qa_gr_rotator.cc                \
219         qa_gri_mmse_fir_interpolator.cc \
220         qa_gri_mmse_fir_interpolator_cc.cc      
221
222 if MD_CPU_generic
223 libfilter_la_SOURCES = $(libfilter_la_common_SOURCES) $(generic_CODE)
224 libfilter_qa_la_SOURCES = $(libfilter_qa_la_common_SOURCES) $(generic_qa_CODE)
225 endif
226
227 if MD_CPU_x86
228 if MD_SUBCPU_x86_64
229 libfilter_la_SOURCES = $(libfilter_la_common_SOURCES) $(x86_64_SUBCODE) $(x86_CODE)
230 else
231 libfilter_la_SOURCES = $(libfilter_la_common_SOURCES) $(x86_SUBCODE) $(x86_CODE)
232 endif
233
234 libfilter_qa_la_SOURCES = $(libfilter_qa_la_common_SOURCES) $(x86_qa_CODE)
235 endif
236
237 if MD_CPU_powerpc
238 libfilter_la_SOURCES = $(libfilter_la_common_SOURCES) $(powerpc_CODE)
239 libfilter_qa_la_SOURCES = $(libfilter_qa_la_common_SOURCES) $(powerpc_qa_CODE)
240 endif
241
242
243 grinclude_HEADERS =                     \
244         $(GENERATED_H)                  \
245         complex_dotprod_generic.h       \
246         complex_dotprod_x86.h           \
247         fcomplex_dotprod_x86.h          \
248         ccomplex_dotprod_generic.h      \
249         ccomplex_dotprod_x86.h          \
250         float_dotprod_generic.h         \
251         float_dotprod_x86.h             \
252         gr_adaptive_fir_ccf.h           \
253         gr_altivec.h                    \
254         gr_cma_equalizer_cc.h           \
255         gr_cpu.h                        \
256         gr_fft_filter_ccc.h             \
257         gr_fft_filter_fff.h             \
258         gr_filter_delay_fc.h            \
259         gr_fir_sysconfig_x86.h          \
260         gr_fir_sysconfig_powerpc.h      \
261         gr_fractional_interpolator_ff.h \
262         gr_fractional_interpolator_cc.h \
263         gr_goertzel_fc.h                \
264         gr_hilbert_fc.h                 \
265         gr_iir_filter_ffd.h             \
266         gr_rotator.h                    \
267         gr_sincos.h                     \
268         gr_single_pole_iir.h            \
269         gr_single_pole_iir_filter_ff.h  \
270         gr_single_pole_iir_filter_cc.h  \
271         gr_vec_types.h                  \
272         gri_goertzel.h                  \
273         gri_iir.h                       \
274         gri_mmse_fir_interpolator.h     \
275         gri_mmse_fir_interpolator_cc.h  \
276         qa_filter.h                     \
277         short_dotprod_generic.h         \
278         short_dotprod_x86.h             \
279         sse_debug.h
280
281 noinst_HEADERS =                        \
282         assembly.h                      \
283         dotprod_fff_altivec.h           \
284         gr_fir_scc_simd.h               \
285         gr_fir_scc_x86.h                \
286         gr_fir_fcc_simd.h               \
287         gr_fir_fcc_x86.h                \
288         gr_fir_ccf_simd.h               \
289         gr_fir_ccf_x86.h                \
290         gr_fir_ccc_simd.h               \
291         gr_fir_ccc_x86.h                \
292         gr_fir_fff_altivec.h            \
293         gr_fir_fff_simd.h               \
294         gr_fir_fff_x86.h                \
295         gr_fir_fsf_simd.h               \
296         gr_fir_fsf_x86.h                \
297         interpolator_taps.h             \
298         qa_complex_dotprod_x86.h        \
299         qa_ccomplex_dotprod_x86.h       \
300         qa_dotprod.h                    \
301         qa_float_dotprod_x86.h          \
302         qa_gr_fir_ccf.h                 \
303         qa_gr_fir_fcc.h                 \
304         qa_gr_fir_fff.h                 \
305         qa_gr_fir_ccc.h                 \
306         qa_gr_fir_scc.h                 \
307         qa_gr_rotator.h                 \
308         qa_gri_mmse_fir_interpolator.h  \
309         qa_gri_mmse_fir_interpolator_cc.h       
310
311
312
313 swiginclude_HEADERS =                   \
314         filter.i                        \
315         filter_generated.i              \
316         gr_adaptive_fir_ccf.i           \
317         gr_cma_equalizer_cc.i           \
318         gr_fft_filter_ccc.i             \
319         gr_fft_filter_fff.i             \
320         gr_filter_delay_fc.i            \
321         gr_fractional_interpolator_ff.i \
322         gr_fractional_interpolator_cc.i \
323         gr_goertzel_fc.i                \
324         gr_hilbert_fc.i                 \
325         gr_iir_filter_ffd.i             \
326         gr_single_pole_iir_filter_ff.i  \
327         gr_single_pole_iir_filter_cc.i  \
328         $(GENERATED_I)