#
-# Copyright 2006 Free Software Foundation, Inc.
+# Copyright 2006,2008 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
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
# ----------------------------------------------------------------
# these scripts generate code
-CODE_GENERATOR = \
+code_generator = \
generate_unv.py \
unv_template.h.t \
unv_template.cc.t \
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 = \
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 = \
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 \
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