Imported Upstream version 3.2.2
[debian/gnuradio] / gnuradio-core / src / lib / filter / Makefile.am
index 4266415fb77a35b045bdc372d0988a5a3c1d3f6a..b7fd0f58aac9f9c6436e7164101e36640c438094 100644 (file)
@@ -1,5 +1,5 @@
 #
-# 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
 # 
@@ -26,7 +26,7 @@ include $(top_srcdir)/Makefile.common
 # 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
 
@@ -34,7 +34,7 @@ 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                   \
@@ -62,18 +62,12 @@ CODE_GENERATOR =                                    \
        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 
@@ -94,7 +88,7 @@ generic_qa_CODE =                     \
 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              \
@@ -143,6 +137,18 @@ x86_qa_CODE =                              \
        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...
 #
@@ -152,14 +158,15 @@ EXTRA_libfilter_la_SOURCES =              \
        $(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 =          \
@@ -170,15 +177,12 @@ 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    \
@@ -195,7 +199,9 @@ libfilter_qa_la_common_SOURCES =    \
        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)
@@ -212,6 +218,11 @@ endif
 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)                  \
@@ -223,29 +234,25 @@ grinclude_HEADERS =                       \
        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     \
@@ -257,6 +264,7 @@ grinclude_HEADERS =                         \
 
 noinst_HEADERS =                       \
        assembly.h                      \
+       dotprod_fff_altivec.h           \
        gr_fir_scc_simd.h               \
        gr_fir_scc_x86.h                \
        gr_fir_fcc_simd.h               \
@@ -265,6 +273,7 @@ noinst_HEADERS =                    \
        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               \
@@ -279,7 +288,9 @@ noinst_HEADERS =                    \
        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       
 
 
 
@@ -291,16 +302,28 @@ swiginclude_HEADERS =                     \
        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