#
-# Copyright 2006 Free Software Foundation, Inc.
+# Copyright 2006,2008 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
# GNU Radio is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
+# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GNU Radio is distributed in the hope that it will be useful,
#
# You should have received a copy of the GNU General Public License
# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
#
include $(top_srcdir)/Makefile.common
+AM_CPPFLAGS = $(DEFINES) $(OMNITHREAD_INCLUDES) $(BOOST_CPPFLAGS) \
+ $(CPPUNIT_INCLUDES) $(WITH_INCLUDES)
+
TESTS = test_pmt
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 \
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)/src/lib srcdir=$(srcdir) $(srcdir)/generate_unv.py
-
-BUILT_SOURCES = $(GENERATED_H) $(GENERATED_CC)
+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.cc \
+ pmt_io.cc \
+ pmt_pool.cc \
+ pmt_serialize.cc \
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 = \
+ $(OMNITHREAD_LA) \
-lstdc++
include_HEADERS = \
- pmt.h
+ pmt.h \
+ pmt_pool.h \
+ pmt_serial_tags.h
noinst_HEADERS = \
$(GENERATED_H) \
qa_pmt_unv.cc
# magic flags
-libpmt_qa_la_LDFLAGS = $(NO_UNDEFINED) -avoid-version
+libpmt_qa_la_LDFLAGS = $(NO_UNDEFINED) -avoid version
-# link the library against the c++ standard library
libpmt_qa_la_LIBADD = \
+ libpmt.la \
$(CPPUNIT_LIBS) \
-lstdc++
test_pmt_SOURCES = test_pmt.cc
test_pmt_LDADD = $(LIBPMTQA)
+# Do creation and inclusion of other Makefiles last
+
+# 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
-CLEANFILES = $(BUILT_SOURCES) *.pyc
+# 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