diff options
author | jcorgan <jcorgan@221aa14e-8319-0410-a670-987f0aec2ac5> | 2009-03-14 02:28:41 +0000 |
---|---|---|
committer | jcorgan <jcorgan@221aa14e-8319-0410-a670-987f0aec2ac5> | 2009-03-14 02:28:41 +0000 |
commit | c3f962a1f0a4132ad643c58774bb69b190dccc49 (patch) | |
tree | daa59a206d6fde01dc1404197e981927366af0e0 /pmt/src | |
parent | 4eea337c46db44a6ee7560a4552e158421776777 (diff) |
Merged r10554:10595 from michaelld/am_swig_4 into trunk. Major overhaul of SWIG usage in build system, also fixes ticket:130. Trunk passes distcheck.
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@10596 221aa14e-8319-0410-a670-987f0aec2ac5
Diffstat (limited to 'pmt/src')
-rw-r--r-- | pmt/src/lib/Makefile.am | 56 |
1 files changed, 16 insertions, 40 deletions
diff --git a/pmt/src/lib/Makefile.am b/pmt/src/lib/Makefile.am index 5565e0986c..32e5210d54 100644 --- a/pmt/src/lib/Makefile.am +++ b/pmt/src/lib/Makefile.am @@ -31,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 \ @@ -45,49 +45,14 @@ GENERATED_CC = \ pmt_unv.cc \ qa_pmt_unv.cc +python_built_sources = $(GENERATED_H) $(GENERATED_I) $(GENERATED_CC) - -# Ensure parallel make does the right thing. -# http://sources.redhat.com/automake/automake.html#Multiple-Outputs - -STAMPS = generate-stamp - -generate-stamp: $(CODE_GENERATOR) - @rm -f generate-tmp - @touch generate-tmp - PYTHONPATH=$(top_srcdir)/pmt/src/lib srcdir=$(srcdir) $(PYTHON) $(srcdir)/generate_unv.py - @mv -f generate-tmp $@ - -$(GENERATED_H) $(GENERATED_I) $(GENERATED_CC): generate-stamp -## Recover from the removal of $@ - @if test -f $@; then :; else \ - trap 'rm -rf generate-lock generate-stamp' 1 2 13 15; \ - if mkdir generate-lock 2>/dev/null; then \ -## This code is being executed by the first process. - rm -f generate-stamp; \ - $(MAKE) $(AM_MAKEFLAGS) generate-stamp; \ - rmdir generate-lock; \ - else \ -## This code is being executed by the follower processes. -## Wait until the first process is done. - while test -d generate-lock; do sleep 1; done; \ -## Succeed if and only if the first process succeeded. - test -f generate-stamp; exit $$?; \ - fi; \ - fi - - -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) \ - $(STAMPS) - + $(code_generator) # These are the source files that go into the pmt shared library libpmt_la_SOURCES = \ @@ -143,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) $(STAMPS) *.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 |