2 # Copyright 2006,2008 Free Software Foundation, Inc.
4 # This file is part of GNU Radio
6 # GNU Radio is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 3, or (at your option)
11 # GNU Radio is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with GNU Radio; see the file COPYING. If not, write to
18 # the Free Software Foundation, Inc., 51 Franklin Street,
19 # Boston, MA 02110-1301, USA.
22 include $(top_srcdir)/Makefile.common
24 AM_CPPFLAGS = $(DEFINES) $(OMNITHREAD_INCLUDES) $(BOOST_CPPFLAGS) \
25 $(CPPUNIT_INCLUDES) $(WITH_INCLUDES)
29 lib_LTLIBRARIES = libpmt.la libpmt-qa.la
31 # ----------------------------------------------------------------
32 # these scripts generate code
50 # Ensure parallel make does the right thing.
51 # http://sources.redhat.com/automake/automake.html#Multiple-Outputs
53 STAMPS = generate-stamp
55 generate-stamp: $(CODE_GENERATOR)
58 PYTHONPATH=$(top_srcdir)/pmt/src/lib srcdir=$(srcdir) $(PYTHON) $(srcdir)/generate_unv.py
59 @mv -f generate-tmp $@
61 $(GENERATED_H) $(GENERATED_I) $(GENERATED_CC): generate-stamp
62 ## Recover from the removal of $@
63 @if test -f $@; then :; else \
64 trap 'rm -rf generate-lock generate-stamp' 1 2 13 15; \
65 if mkdir generate-lock 2>/dev/null; then \
66 ## This code is being executed by the first process.
67 rm -f generate-stamp; \
68 $(MAKE) $(AM_MAKEFLAGS) generate-stamp; \
69 rmdir generate-lock; \
71 ## This code is being executed by the follower processes.
72 ## Wait until the first process is done.
73 while test -d generate-lock; do sleep 1; done; \
74 ## Succeed if and only if the first process succeeded.
75 test -f generate-stamp; exit $$?; \
80 pmt_serial_tags.h: $(srcdir)/../scheme/gnuradio/gen-serial-tags.scm $(srcdir)/../scheme/gnuradio/pmt-serial-tags.scm
81 $(RUN_GUILE) $(srcdir)/../scheme/gnuradio/gen-serial-tags.scm $(srcdir)/../scheme/gnuradio/pmt-serial-tags.scm pmt_serial_tags.h
83 BUILT_SOURCES = $(GENERATED_H) $(GENERATED_CC) pmt_serial_tags.h
85 # ----------------------------------------------------------------
92 # These are the source files that go into the pmt shared library
101 libpmt_la_LDFLAGS = $(NO_UNDEFINED)
103 # link the library against the c++ standard library
120 # Build the qa code into its own library
122 libpmt_qa_la_SOURCES = \
128 libpmt_qa_la_LDFLAGS = $(NO_UNDEFINED) -avoid version
130 libpmt_qa_la_LIBADD = \
141 LIBPMTQA = libpmt-qa.la $(LIBPMT)
143 test_pmt_SOURCES = test_pmt.cc
144 test_pmt_LDADD = $(LIBPMTQA)
147 CLEANFILES = $(BUILT_SOURCES) $(STAMPS) *.pyc