#
-# Copyright 2001,2002,2004,2005,2006,2007,2008 Free Software Foundation, Inc.
+# Copyright 2001,2002,2004,2005,2006,2007,2008,2009,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
# these scripts generate FIR code
#
-CODE_GENERATOR = \
+code_generator = \
generate_all.py \
generate_gr_fir_XXX.py \
generate_gr_fir_filter_XXX.py \
gr_freq_xlating_fir_filter_XXX.h.t \
gr_freq_xlating_fir_filter_XXX.i.t
-
-
-# include $(srcdir)/Makefile.gen
-include Makefile.gen
-
-
-$(GENERATED_H) $(GENERATED_I) $(GENERATED_CC): $(CODE_GENERATOR)
- PYTHONPATH=$(top_srcdir)/gnuradio-core/src/python srcdir=$(srcdir) $(PYTHON) $(srcdir)/generate_all.py
-
-
-BUILT_SOURCES = $(GENERATED_H) $(GENERATED_I) $(GENERATED_CC)
-
+# Source built by Python into $(builddir)
+BUILT_SOURCES = \
+ $(GENERATED_H) \
+ $(GENERATED_I) \
+ $(GENERATED_CC) \
+ filter_generated.i
# ----------------------------------------------------------------
# MD_CPU and MD_SUBCPU are set at configure time by way of
x86_CODE = \
sysconfig_x86.cc \
gr_fir_sysconfig_x86.cc \
- gr_cpu.cc \
+ gr_cpu_x86.cc \
gr_fir_ccc_simd.cc \
gr_fir_ccc_x86.cc \
gr_fir_fff_simd.cc \
qa_complex_dotprod_x86.cc \
qa_ccomplex_dotprod_x86.cc
+powerpc_CODE = \
+ sysconfig_powerpc.cc \
+ gr_fir_sysconfig_powerpc.cc \
+ gr_cpu_powerpc.cc \
+ gr_fir_fff_altivec.cc \
+ gr_altivec.c \
+ dotprod_fff_altivec.c
+
+powerpc_qa_CODE = \
+ qa_dotprod_powerpc.cc
+
+armv7_a_CODE = \
+ sysconfig_armv7_a.cc \
+ gr_fir_sysconfig_armv7_a.cc \
+ gr_cpu_armv7_a.cc \
+ gr_fir_fff_armv7_a.cc \
+ dotprod_fff_armv7_a.c
+
+armv7_a_qa_CODE = \
+ qa_dotprod_armv7_a.cc
+
#
# include each <foo>_CODE entry here...
#
$(x86_CODE) \
$(x86_SUBCODE) \
$(x86_64_SUBCODE) \
- $(x86_qa_CODE)
+ $(x86_qa_CODE) \
+ $(powerpc_CODE) \
+ $(powerpc_qa_CODE) \
+ $(armv7_a_CODE) \
+ $(armv7_a_qa_CODE)
EXTRA_DIST = \
3dnow_float_dotprod_really_simple.S \
3dnow_float_dotprod_simple.S \
- $(CODE_GENERATOR)
-
+ $(code_generator)
# work around automake deficiency
libfilter_la_common_SOURCES = \
$(GENERATED_CC) \
gr_adaptive_fir_ccf.cc \
gr_cma_equalizer_cc.cc \
+ gri_fft_filter_fff_generic.cc \
+ gri_fft_filter_ccc_generic.cc \
gr_fft_filter_ccc.cc \
gr_fft_filter_fff.cc \
gr_goertzel_fc.cc \
gr_filter_delay_fc.cc \
+ gri_fir_filter_with_buffer_ccf.cc \
gr_fractional_interpolator_ff.cc \
gr_fractional_interpolator_cc.cc \
gr_hilbert_fc.cc \
complex_dotprod_generic.cc \
ccomplex_dotprod_generic.cc \
float_dotprod_generic.c \
- short_dotprod_generic.c
+ short_dotprod_generic.c \
+ gr_pfb_channelizer_ccf.cc \
+ gr_pfb_synthesis_filterbank_ccf.cc\
+ gr_pfb_decimator_ccf.cc \
+ gr_pfb_interpolator_ccf.cc \
+ gr_pfb_arb_resampler_ccf.cc \
+ gr_pfb_clock_sync_ccf.cc \
+ gr_pfb_clock_sync_fff.cc
libfilter_qa_la_common_SOURCES = \
qa_filter.cc \
qa_gr_fir_fff.cc \
qa_gr_fir_ccc.cc \
qa_gr_fir_scc.cc \
+ qa_gr_rotator.cc \
qa_gri_mmse_fir_interpolator.cc \
qa_gri_mmse_fir_interpolator_cc.cc
libfilter_qa_la_SOURCES = $(libfilter_qa_la_common_SOURCES) $(x86_qa_CODE)
endif
+if MD_CPU_powerpc
+libfilter_la_SOURCES = $(libfilter_la_common_SOURCES) $(powerpc_CODE)
+libfilter_qa_la_SOURCES = $(libfilter_qa_la_common_SOURCES) $(powerpc_qa_CODE)
+endif
+
+if MD_CPU_armv7_a
+libfilter_la_SOURCES = $(libfilter_la_common_SOURCES) $(armv7_a_CODE)
+libfilter_qa_la_SOURCES = $(libfilter_qa_la_common_SOURCES) $(armv7_a_qa_CODE)
+endif
+
grinclude_HEADERS = \
$(GENERATED_H) \
float_dotprod_generic.h \
float_dotprod_x86.h \
gr_adaptive_fir_ccf.h \
+ gr_altivec.h \
gr_cma_equalizer_cc.h \
gr_cpu.h \
+ gri_fft_filter_fff_generic.h \
+ gri_fft_filter_ccc_generic.h \
gr_fft_filter_ccc.h \
gr_fft_filter_fff.h \
gr_filter_delay_fc.h \
+ gri_fir_filter_with_buffer_ccf.h \
gr_fir_sysconfig_x86.h \
+ gr_fir_sysconfig_powerpc.h \
gr_fractional_interpolator_ff.h \
gr_fractional_interpolator_cc.h \
gr_goertzel_fc.h \
gr_single_pole_iir.h \
gr_single_pole_iir_filter_ff.h \
gr_single_pole_iir_filter_cc.h \
+ gr_vec_types.h \
gri_goertzel.h \
gri_iir.h \
gri_mmse_fir_interpolator.h \
qa_filter.h \
short_dotprod_generic.h \
short_dotprod_x86.h \
- sse_debug.h
+ sse_debug.h \
+ gr_pfb_channelizer_ccf.h \
+ gr_pfb_synthesis_filterbank_ccf.h\
+ gr_pfb_decimator_ccf.h \
+ gr_pfb_interpolator_ccf.h \
+ gr_pfb_arb_resampler_ccf.h \
+ gr_pfb_clock_sync_ccf.h \
+ gr_pfb_clock_sync_fff.h
noinst_HEADERS = \
assembly.h \
+ dotprod_fff_altivec.h \
+ dotprod_fff_armv7_a.h \
gr_fir_scc_simd.h \
gr_fir_scc_x86.h \
gr_fir_fcc_simd.h \
gr_fir_ccf_x86.h \
gr_fir_ccc_simd.h \
gr_fir_ccc_x86.h \
+ gr_fir_fff_altivec.h \
+ gr_fir_fff_armv7_a.h \
gr_fir_fff_simd.h \
gr_fir_fff_x86.h \
gr_fir_fsf_simd.h \
qa_gr_fir_fff.h \
qa_gr_fir_ccc.h \
qa_gr_fir_scc.h \
+ qa_gr_rotator.h \
qa_gri_mmse_fir_interpolator.h \
qa_gri_mmse_fir_interpolator_cc.h
-
+if PYTHON
swiginclude_HEADERS = \
filter.i \
filter_generated.i \
gr_iir_filter_ffd.i \
gr_single_pole_iir_filter_ff.i \
gr_single_pole_iir_filter_cc.i \
+ gr_pfb_channelizer_ccf.i \
+ gr_pfb_synthesis_filterbank_ccf.i\
+ gr_pfb_decimator_ccf.i \
+ gr_pfb_interpolator_ccf.i \
+ gr_pfb_arb_resampler_ccf.i \
+ gr_pfb_clock_sync_ccf.i \
+ gr_pfb_clock_sync_fff.i \
$(GENERATED_I)
+endif
+
+# Do creation and inclusion of other Makefiles last
+
+# include the srcdir's Makefile.gen; doing this creates an implicit
+# dependency between $(srcdir)/Makefile.in and $(srcdir)/Makefile.gen.
+include $(srcdir)/Makefile.gen
+# common way for generating local Makefile.gen
+makefile_gen_gen_command = PYTHONPATH=$(top_srcdir)/gnuradio-core/src/python srcdir=$(srcdir) do_makefile=1 do_sources=0 $(PYTHON) $(srcdir)/generate_all.py
+include $(top_srcdir)/Makefile.gen.gen
-CLEANFILES = $(BUILT_SOURCES) *.pyc
+# common way for generating sources from templates when using
+# BUILT_SOURCES, using parallel build protection.
+gen_sources = $(BUILT_SOURCES)
+gen_sources_deps = $(core_generator)
+par_gen_command = PYTHONPATH=$(top_srcdir)/gnuradio-core/src/python srcdir=$(srcdir) $(PYTHON) $(srcdir)/generate_all.py
+include $(top_srcdir)/Makefile.par.gen