Merged r10554:10595 from michaelld/am_swig_4 into trunk. Major overhaul of SWIG...
[debian/gnuradio] / pmt / src / lib / Makefile.am
index ab23586c1d3366a401e58bdb3fb230fbf44ee530..32e5210d5420063be07770e4df6fe4623dc2778a 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright 2006 Free Software Foundation, Inc.
+# Copyright 2006,2008 Free Software Foundation, Inc.
 # 
 # This file is part of GNU Radio
 # 
@@ -21,7 +21,8 @@
 
 include $(top_srcdir)/Makefile.common
 
-INCLUDES = $(DEFINES) $(OMNITHREAD_INCLUDES) $(BOOST_CFLAGS) $(CPPUNIT_INCLUDES) 
+AM_CPPFLAGS = $(DEFINES) $(OMNITHREAD_INCLUDES) $(BOOST_CPPFLAGS) \
+       $(CPPUNIT_INCLUDES) $(WITH_INCLUDES)
 
 TESTS = test_pmt
 
@@ -30,7 +31,7 @@ lib_LTLIBRARIES = libpmt.la libpmt-qa.la
 # ----------------------------------------------------------------
 # these scripts generate code
 
-CODE_GENERATOR =                       \
+code_generator =                       \
        generate_unv.py                 \
        unv_template.h.t                \
        unv_template.cc.t               \
@@ -44,19 +45,14 @@ GENERATED_CC =                              \
        pmt_unv.cc                      \
        qa_pmt_unv.cc                   
 
+python_built_sources = $(GENERATED_H) $(GENERATED_I) $(GENERATED_CC)
 
-$(GENERATED_H) $(GENERATED_I) $(GENERATED_CC): $(CODE_GENERATOR)
-       PYTHONPATH=$(top_srcdir)/pmt/src/lib srcdir=$(srcdir) $(PYTHON) $(srcdir)/generate_unv.py
-
-pmt_serial_tags.h: $(srcdir)/../scheme/gnuradio/gen-serial-tags.scm $(srcdir)/../scheme/gnuradio/pmt-serial-tags.scm
-       $(RUN_GUILE) $(srcdir)/../scheme/gnuradio/gen-serial-tags.scm $(srcdir)/../scheme/gnuradio/pmt-serial-tags.scm pmt_serial_tags.h
-
-BUILT_SOURCES = $(GENERATED_H) $(GENERATED_CC) pmt_serial_tags.h
+BUILT_SOURCES = $(python_built_sources) pmt_serial_tags.h
 
 # ----------------------------------------------------------------
 
 EXTRA_DIST =                           \
-       $(CODE_GENERATOR)               
+       $(code_generator)
 
 # These are the source files that go into the pmt shared library
 libpmt_la_SOURCES =                    \
@@ -67,7 +63,7 @@ libpmt_la_SOURCES =                   \
        pmt_unv.cc                      
 
 # magic flags
-libpmt_la_LDFLAGS = $(NO_UNDEFINED) -avoid-version
+libpmt_la_LDFLAGS = $(NO_UNDEFINED)
 
 # link the library against the c++ standard library
 libpmt_la_LIBADD =                     \
@@ -94,7 +90,7 @@ libpmt_qa_la_SOURCES =                        \
        qa_pmt_unv.cc                   
 
 # magic flags
-libpmt_qa_la_LDFLAGS = $(NO_UNDEFINED) -avoid-version
+libpmt_qa_la_LDFLAGS = $(NO_UNDEFINED) -avoid version
 
 libpmt_qa_la_LIBADD =                  \
        libpmt.la                       \
@@ -112,5 +108,16 @@ LIBPMTQA = libpmt-qa.la $(LIBPMT)
 test_pmt_SOURCES = test_pmt.cc
 test_pmt_LDADD   = $(LIBPMTQA)
 
+# Do creation and inclusion of other Makefiles last
 
-CLEANFILES = $(BUILT_SOURCES) *.pyc
+# common way for generating sources from templates when using
+# BUILT_SOURCES, using parallel build protection.
+gen_sources = $(python_built_sources)
+gen_sources_deps = $(core_generator)
+par_gen_command = PYTHONPATH=$(top_srcdir)/pmt/src/lib srcdir=$(srcdir) $(PYTHON) $(srcdir)/generate_unv.py
+include $(top_srcdir)/Makefile.par.gen
+
+# Rule to create the build header file using GUILE
+# Doesn't need parallel protections because there is a single target
+pmt_serial_tags.h: $(srcdir)/../scheme/gnuradio/gen-serial-tags.scm $(srcdir)/../scheme/gnuradio/pmt-serial-tags.scm
+       $(RUN_GUILE) $(srcdir)/../scheme/gnuradio/gen-serial-tags.scm $(srcdir)/../scheme/gnuradio/pmt-serial-tags.scm pmt_serial_tags.h