#
-# Copyright 2001,2002,2004,2005,2006 Free Software Foundation, Inc.
+# Copyright 2001,2002,2004,2005,2006,2007,2008,2009 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
# other performance critical items
#
-INCLUDES = $(STD_DEFINES_AND_INCLUDES) $(CPPUNIT_INCLUDES)
+AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(CPPUNIT_INCLUDES) $(WITH_INCLUDES)
noinst_LTLIBRARIES = libfilter.la libfilter-qa.la
# 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
+
+
#
# include each <foo>_CODE entry here...
#
$(x86_CODE) \
$(x86_SUBCODE) \
$(x86_64_SUBCODE) \
- $(x86_qa_CODE)
+ $(x86_qa_CODE) \
+ $(powerpc_CODE) \
+ $(powerpc_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 = \
gr_fft_filter_fff.cc \
gr_goertzel_fc.cc \
gr_filter_delay_fc.cc \
- gr_fractional_interpolator.cc \
+ gr_fractional_interpolator_ff.cc \
+ gr_fractional_interpolator_cc.cc \
gr_hilbert_fc.cc \
gr_iir_filter_ffd.cc \
gr_sincos.c \
gr_single_pole_iir_filter_ff.cc \
- gr_single_pole_avg_filter_ff.cc \
- gr_single_pole_rec_filter_ff.cc \
- gr_single_zero_avg_filter_ff.cc \
- gr_single_zero_rec_filter_ff.cc \
gr_single_pole_iir_filter_cc.cc \
gri_goertzel.cc \
gri_mmse_fir_interpolator.cc \
qa_gr_fir_fff.cc \
qa_gr_fir_ccc.cc \
qa_gr_fir_scc.cc \
- qa_gri_mmse_fir_interpolator.cc
+ qa_gr_rotator.cc \
+ qa_gri_mmse_fir_interpolator.cc \
+ qa_gri_mmse_fir_interpolator_cc.cc
if MD_CPU_generic
libfilter_la_SOURCES = $(libfilter_la_common_SOURCES) $(generic_CODE)
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
+
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 \
gr_fft_filter_ccc.h \
gr_fft_filter_fff.h \
gr_filter_delay_fc.h \
gr_fir_sysconfig_x86.h \
- gr_fractional_interpolator.h \
+ gr_fir_sysconfig_powerpc.h \
+ gr_fractional_interpolator_ff.h \
+ gr_fractional_interpolator_cc.h \
gr_goertzel_fc.h \
gr_hilbert_fc.h \
gr_iir_filter_ffd.h \
gr_rotator.h \
gr_sincos.h \
- gr_single_pole_avg.h \
- gr_single_pole_rec.h \
gr_single_pole_iir.h \
gr_single_pole_iir_filter_ff.h \
- gr_single_pole_avg_filter_ff.h \
- gr_single_pole_rec_filter_ff.h \
- gr_single_zero_avg_filter_ff.h \
- gr_single_zero_rec_filter_ff.h \
- gr_single_pole_iir_filter_cc.h \
- gr_single_zero_avg.h \
- gr_single_zero_rec.h \
+ gr_single_pole_iir_filter_cc.h \
+ gr_vec_types.h \
gri_goertzel.h \
gri_iir.h \
gri_mmse_fir_interpolator.h \
noinst_HEADERS = \
assembly.h \
+ dotprod_fff_altivec.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_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_gri_mmse_fir_interpolator.h
+ qa_gr_rotator.h \
+ qa_gri_mmse_fir_interpolator.h \
+ qa_gri_mmse_fir_interpolator_cc.h
gr_fft_filter_ccc.i \
gr_fft_filter_fff.i \
gr_filter_delay_fc.i \
+ gr_fractional_interpolator_ff.i \
+ gr_fractional_interpolator_cc.i \
gr_goertzel_fc.i \
gr_hilbert_fc.i \
gr_iir_filter_ffd.i \
gr_single_pole_iir_filter_ff.i \
- gr_single_pole_avg_filter_ff.i \
- gr_single_pole_rec_filter_ff.i \
- gr_single_zero_avg_filter_ff.i \
- gr_single_zero_rec_filter_ff.i \
gr_single_pole_iir_filter_cc.i \
$(GENERATED_I)
+# 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