From aa162012cc25cf080ee744a2cb795a6154fcca86 Mon Sep 17 00:00:00 2001 From: Rob Savoye Date: Thu, 21 Oct 2010 13:16:05 -0600 Subject: regenerated --- gnuradio-core/src/lib/swig/Makefile.swig.gen | 6 - gr-atsc/src/lib/Makefile.swig.gen | 241 ++------------ gr-audio-alsa/src/Makefile.swig.gen | 241 ++------------ gr-audio-jack/src/Makefile.swig.gen | 221 +++--------- gr-audio-oss/src/Makefile.swig.gen | 241 ++------------ gr-audio-portaudio/src/Makefile.swig.gen | 221 +++--------- gr-audio-windows/src/Makefile.swig.gen | 221 +++--------- gr-cvsd-vocoder/src/lib/Makefile.swig.gen | 241 ++------------ gr-gsm-fr-vocoder/src/lib/Makefile.am | 3 +- gr-gsm-fr-vocoder/src/lib/Makefile.swig.gen | 241 ++------------ gr-msdd6000/src/Makefile.swig.gen | 482 +++------------------------ gr-noaa/swig/Makefile.swig.gen | 241 ++------------ gr-pager/swig/Makefile.swig.gen | 241 ++------------ gr-qtgui/src/lib/Makefile.swig.gen | 241 ++------------ gr-radio-astronomy/src/lib/Makefile.swig.gen | 241 ++------------ gr-trellis/src/lib/Makefile.swig.gen | 241 ++------------ gr-usrp2/src/Makefile.swig.gen | 241 ++------------ gr-video-sdl/src/Makefile.swig.gen | 241 ++------------ 18 files changed, 469 insertions(+), 3577 deletions(-) diff --git a/gnuradio-core/src/lib/swig/Makefile.swig.gen b/gnuradio-core/src/lib/swig/Makefile.swig.gen index 54938187a..5846134a9 100644 --- a/gnuradio-core/src/lib/swig/Makefile.swig.gen +++ b/gnuradio-core/src/lib/swig/Makefile.swig.gen @@ -136,7 +136,6 @@ gnuradio_swig_py_runtime_guile_la_LDFLAGS = $(_gnuradio_swig_py_runtime_la_LDFLA gnuradio_swig_py_runtime_guile_la_CXXFLAGS = $(_gnuradio_swig_py_runtime_la_CXXFLAGS) guile/gnuradio_swig_py_runtime.lo: gnuradio_swig_py_runtime.lo -#gnuradio_swig_py_runtime.lo: gnuradio_swig_py_runtime.scm gnuradio_swig_py_runtime.scm: gnuradio_swig_py_runtime.i endif # end of GUILE @@ -284,7 +283,6 @@ gnuradio_swig_py_general_guile_la_LDFLAGS = $(_gnuradio_swig_py_general_la_LDFLA gnuradio_swig_py_general_guile_la_CXXFLAGS = $(_gnuradio_swig_py_general_la_CXXFLAGS) guile/gnuradio_swig_py_general.lo: gnuradio_swig_py_general.lo -#gnuradio_swig_py_general.lo: gnuradio_swig_py_general.scm gnuradio_swig_py_general.scm: gnuradio_swig_py_general.i endif # end of GUILE @@ -432,7 +430,6 @@ gnuradio_swig_py_gengen_guile_la_LDFLAGS = $(_gnuradio_swig_py_gengen_la_LDFLAGS gnuradio_swig_py_gengen_guile_la_CXXFLAGS = $(_gnuradio_swig_py_gengen_la_CXXFLAGS) guile/gnuradio_swig_py_gengen.lo: gnuradio_swig_py_gengen.lo -#gnuradio_swig_py_gengen.lo: gnuradio_swig_py_gengen.scm gnuradio_swig_py_gengen.scm: gnuradio_swig_py_gengen.i endif # end of GUILE @@ -580,7 +577,6 @@ gnuradio_swig_py_filter_guile_la_LDFLAGS = $(_gnuradio_swig_py_filter_la_LDFLAGS gnuradio_swig_py_filter_guile_la_CXXFLAGS = $(_gnuradio_swig_py_filter_la_CXXFLAGS) guile/gnuradio_swig_py_filter.lo: gnuradio_swig_py_filter.lo -#gnuradio_swig_py_filter.lo: gnuradio_swig_py_filter.scm gnuradio_swig_py_filter.scm: gnuradio_swig_py_filter.i endif # end of GUILE @@ -728,7 +724,6 @@ gnuradio_swig_py_io_guile_la_LDFLAGS = $(_gnuradio_swig_py_io_la_LDFLAGS) gnuradio_swig_py_io_guile_la_CXXFLAGS = $(_gnuradio_swig_py_io_la_CXXFLAGS) guile/gnuradio_swig_py_io.lo: gnuradio_swig_py_io.lo -#gnuradio_swig_py_io.lo: gnuradio_swig_py_io.scm gnuradio_swig_py_io.scm: gnuradio_swig_py_io.i endif # end of GUILE @@ -876,7 +871,6 @@ gnuradio_swig_py_hier_guile_la_LDFLAGS = $(_gnuradio_swig_py_hier_la_LDFLAGS) gnuradio_swig_py_hier_guile_la_CXXFLAGS = $(_gnuradio_swig_py_hier_la_CXXFLAGS) guile/gnuradio_swig_py_hier.lo: gnuradio_swig_py_hier.lo -#gnuradio_swig_py_hier.lo: gnuradio_swig_py_hier.scm gnuradio_swig_py_hier.scm: gnuradio_swig_py_hier.i endif # end of GUILE diff --git a/gr-atsc/src/lib/Makefile.swig.gen b/gr-atsc/src/lib/Makefile.swig.gen index af4d6437e..440366fd8 100644 --- a/gr-atsc/src/lib/Makefile.swig.gen +++ b/gr-atsc/src/lib/Makefile.swig.gen @@ -82,9 +82,11 @@ MOSTLYCLEANFILES += $(DEPDIR)/*.S* ## .h file is sometimes built, but not always ... so that one has to ## be added manually by the including Makefile.am . -swig_built_sources += atsc.py atsc_python.cc +# generating the py or scm file also generates the .cc or .h files, +# but dependencies work better without the .cc ort .h files listed. +swig_built_sources += atsc.py if GUILE -swig_built_sources += atsc.scm atsc_guile.cc +swig_built_sources += atsc.scm endif ## Various SWIG variables. These can be overloaded in the including @@ -96,243 +98,50 @@ atsc_swiginclude_HEADERS = \ $(atsc_swiginclude_headers) atsc_pylib_LTLIBRARIES = \ - _atsc_python.la + _atsc.la -_atsc_python_la_SOURCES = \ - atsc_python.cc \ +_atsc_la_SOURCES = \ + python/atsc.cc \ $(atsc_la_swig_sources) -_atsc_python_la_LIBADD = \ +_atsc_la_LIBADD = \ $(STD_SWIG_LA_LIB_ADD) \ $(atsc_la_swig_libadd) -_atsc_python_la_LDFLAGS = \ +# _atsc_la_DEPENDENCIES = python/atsc.lo + +_atsc_la_LDFLAGS = \ $(STD_SWIG_LA_LD_FLAGS) \ $(atsc_la_swig_ldflags) -_atsc_python_la_CXXFLAGS = \ +_atsc_la_CXXFLAGS = \ $(STD_SWIG_CXX_FLAGS) \ + -I$(top_builddir) \ $(atsc_la_swig_cxxflags) atsc_python_PYTHON = \ atsc.py \ - $(atsc_python) + $(atsc) if GUILE -atsc_scmlib_LTLIBRARIES = _atsc_guile.la -_atsc_guile_la_SOURCES = \ - atsc_guile.cc \ +atsc_scmlib_LTLIBRARIES = atsc_guile.la +atsc_guile_la_SOURCES = \ + guile/atsc.cc \ $(atsc_la_swig_sources) atsc_scm_DATA = atsc.scm # Guile can use the same flags as python does -_atsc_guile_la_LIBADD = $(_atsc_python_la_LIBADD) -_atsc_guile_la_LDFLAGS = $(_atsc_python_la_LDFLAGS) -_atsc_guile_la_CXXFLAGS = $(_atsc_python_la_CXXFLAGS) - -endif # end of GUILE +atsc_guile_la_LIBADD = $(_atsc_la_LIBADD) +atsc_guile_la_LDFLAGS = $(_atsc_la_LDFLAGS) +atsc_guile_la_CXXFLAGS = $(_atsc_la_CXXFLAGS) -## Entry rule for running SWIG - -# $(python_deps) $(guile_deps): atsc.i -atsc_python.h atsc.py atsc_python.cc: atsc.i -## This rule will get called only when MAKE decides that one of the -## targets needs to be created or re-created, because: -## -## * The .i file is newer than any or all of the generated files; -## -## * Any or all of the .cc, .h, or .py files does not exist and is -## needed (in the case this file is not needed, the rule for it is -## ignored); or -## -## * Some SWIG-based dependecy of the .cc file isn't met and hence the -## .cc file needs be be regenerated. Explanation: Because MAKE -## knows how to handle dependencies for .cc files (regardless of -## their name or extension), then the .cc file is used as a target -## instead of the .i file -- but with the dependencies of the .i -## file. It is this last reason why the line: -## -## if test -f $@; then :; else -## -## cannot be used in this case: If a .i file dependecy is not met, -## then the .cc file needs to be rebuilt. But if the stamp is newer -## than the .cc file, and the .cc file exists, then in the original -## version (with the 'test' above) the internal MAKE call will not -## be issued and hence the .cc file will not be rebuilt. -## -## Once execution gets to here, it should always proceed no matter the -## state of a stamp (as discussed in link above). The -## $(DEPDIR)/atsc-generate stuff is used to allow for parallel -## builds to "do the right thing". The stamp has no relationship with -## either the target files or dependency file; it is used solely for -## the protection of multiple builds during a given call to MAKE. -## -## Catch signals SIGHUP (1), SIGINT (2), SIGPIPE (13), and SIGTERM -## (15). At a caught signal, the quoted command will be issued before -## exiting. In this case, remove any stamp, whether temporary of not. -## The trap is valid until the process exits; the process includes all -## commands appended via "\"s. -## - trap 'rm -rf $(DEPDIR)/atsc-generate-*' 1 2 13 15; \ -## -## Create a temporary directory, which acts as a lock. The first -## process to create the directory will succeed and issue the MAKE -## command to do the actual work, while all subsequent processes will -## fail -- leading them to wait for the first process to finish. -## - if mkdir $(DEPDIR)/atsc-generate-lock 2>/dev/null; then \ -## -## This code is being executed by the first process to succeed in -## creating the directory lock. -## -## Remove the stamp associated with this filename. -## - rm -f $(DEPDIR)/atsc-generate-*stamp; \ -## -## Tell MAKE to run the rule for creating this stamp. -## - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/atsc-generate-python-stamp WHAT=$<; \ -## -## Now that the .cc, .h, and .py files have been (re)created from the -## .i file, future checking of this rule during the same MAKE -## execution will come back that the rule doesn't need to be executed -## because none of the conditions mentioned at the start of this rule -## will be positive. Remove the the directory lock, which frees up -## any waiting process(es) to continue. -## - rmdir $(DEPDIR)/atsc-generate-lock; \ - else \ -## -## This code is being executed by any follower processes while the -## directory lock is in place. -## -## Wait until the first process is done, testing once per second. -## - while test -d $(DEPDIR)/atsc-generate-lock; do \ - sleep 1; \ - done; \ -## -## Succeed if and only if the first process succeeded; exit this -## process returning the status of the generated stamp. -## - test -f $(DEPDIR)/atsc-generate-python-stamp; \ - exit $$?; \ - fi; +guile/atsc.lo: atsc.lo +atsc.scm: atsc.i -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. -atsc_guile.h atsc.scm atsc_guile.cc: atsc.i -if GUILE - trap 'rm -rf $(DEPDIR)/atsc-generate-*' 1 2 13 15; \ - if mkdir $(DEPDIR)/atsc-generate-lock 2>/dev/null; then \ - rm -f $(DEPDIR)/atsc-generate-*stamp; \ - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/atsc-generate-guile-stamp WHAT=$<; \ - rmdir $(DEPDIR)/atsc-generate-lock; \ - else \ - while test -d $(DEPDIR)/atsc-generate-lock; do \ - sleep 1; \ - done; \ - test -f $(DEPDIR)/atsc-generate-guile-stamp; \ - exit $$?; \ - fi; endif # end of GUILE -$(DEPDIR)/atsc-generate-python-stamp: -## This rule will be called only by the first process issuing the -## above rule to succeed in creating the lock directory, after -## removing the actual stamp file in order to guarantee that MAKE will -## execute this rule. -## -## Call SWIG to generate the various output files; special -## post-processing on 'mingw32' host OS for the dependency file. -## - if $(SWIG) $(STD_SWIG_PYTHON_ARGS) $(atsc_swig_args) \ - -MD -MF $(DEPDIR)/atsc_python.Std \ - -module atsc -o atsc_python.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/atsc_python.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/atsc_python.Std \ - > $(DEPDIR)/atsc_python.Sd; \ - $(RM) $(DEPDIR)/atsc_python.Std; \ - $(MV) $(DEPDIR)/atsc_python.Sd $(DEPDIR)/atsc_python.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/atsc_python.S*; exit 1; \ - fi; -## -## Mess with the SWIG output .Std dependency file, to create a -## dependecy file valid for the input .i file: Basically, simulate the -## dependency file created for libraries by GNU's libtool for C++, -## where all of the dependencies for the target are first listed, then -## each individual dependency is listed as a target with no further -## dependencies. -## -## (1) remove the current dependency file -## - $(RM) $(DEPDIR)/atsc_python.d -## -## (2) Copy the whole SWIG file: -## - cp $(DEPDIR)/atsc_python.Std $(DEPDIR)/atsc_python.d -## -## (3) all a carriage return to the end of the dependency file. -## - echo "" >> $(DEPDIR)/atsc_python.d -## -## (4) from the SWIG file, remove the first line (the target); remove -## trailing " \" and " " from each line. Append ":" to each line, -## followed by 2 carriage returns, then append this to the end of -## the dependency file. -## - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/atsc_python.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/atsc_python.d -## -## (5) remove the SWIG-generated file -## - $(RM) $(DEPDIR)/atsc_python.Std -## -## Create the stamp for this filename generation, to signal success in -## executing this rule; allows other threads waiting on this process -## to continue. -## - touch $(DEPDIR)/atsc-generate-python-stamp - -# KLUDGE: Force runtime include of a SWIG dependency file. This is -# not guaranteed to be portable, but will probably work. If it works, -# we have accurate dependencies for our swig stuff, which is good. - -@am__include@ @am__quote@./$(DEPDIR)/atsc_python.d@am__quote@ - -$(DEPDIR)/atsc-generate-guile-stamp: -if GUILE -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. - if $(SWIG) $(STD_SWIG_GUILE_ARGS) $(atsc_swig_args) \ - -MD -MF $(DEPDIR)/atsc_guile.Std \ - -module atsc -o atsc_guile.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/atsc_guile.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/atsc_guile.Std \ - > $(DEPDIR)/atsc_guile.Sd; \ - $(RM) $(DEPDIR)/atsc_guile.Std; \ - $(MV) $(DEPDIR)/atsc_guile.Sd $(DEPDIR)/atsc_guile.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/atsc_guile.S*; exit 1; \ - fi; - touch $(DEPDIR)/atsc-generate-guile-stamp - $(RM) $(DEPDIR)/atsc_guile.d - cp $(DEPDIR)/atsc_guile.Std $(DEPDIR)/atsc_guile.d - echo "" >> $(DEPDIR)/atsc_guile.d - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/atsc_guile.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/atsc_guile.d - $(RM) $(DEPDIR)/atsc_guile.Std - touch $(DEPDIR)/atsc-generate-guile-stamp -else - touch $(DEPDIR)/atsc-generate-guile-stamp -endif - -@am__include@ @am__quote@./$(DEPDIR)/atsc_guile.d@am__quote@ +python/atsc.lo: +atsc.lo: atsc.py atsc.scm +atsc.py: atsc.i -#gnuradio_swig_py_runtime_python.h: gnuradio_swig_py_runtime.i diff --git a/gr-audio-alsa/src/Makefile.swig.gen b/gr-audio-alsa/src/Makefile.swig.gen index a03dd8820..faee38cae 100644 --- a/gr-audio-alsa/src/Makefile.swig.gen +++ b/gr-audio-alsa/src/Makefile.swig.gen @@ -82,9 +82,11 @@ MOSTLYCLEANFILES += $(DEPDIR)/*.S* ## .h file is sometimes built, but not always ... so that one has to ## be added manually by the including Makefile.am . -swig_built_sources += audio_alsa.py audio_alsa_python.cc +# generating the py or scm file also generates the .cc or .h files, +# but dependencies work better without the .cc ort .h files listed. +swig_built_sources += audio_alsa.py if GUILE -swig_built_sources += audio_alsa.scm audio_alsa_guile.cc +swig_built_sources += audio_alsa.scm endif ## Various SWIG variables. These can be overloaded in the including @@ -96,243 +98,50 @@ audio_alsa_swiginclude_HEADERS = \ $(audio_alsa_swiginclude_headers) audio_alsa_pylib_LTLIBRARIES = \ - _audio_alsa_python.la + _audio_alsa.la -_audio_alsa_python_la_SOURCES = \ - audio_alsa_python.cc \ +_audio_alsa_la_SOURCES = \ + python/audio_alsa.cc \ $(audio_alsa_la_swig_sources) -_audio_alsa_python_la_LIBADD = \ +_audio_alsa_la_LIBADD = \ $(STD_SWIG_LA_LIB_ADD) \ $(audio_alsa_la_swig_libadd) -_audio_alsa_python_la_LDFLAGS = \ +# _audio_alsa_la_DEPENDENCIES = python/audio_alsa.lo + +_audio_alsa_la_LDFLAGS = \ $(STD_SWIG_LA_LD_FLAGS) \ $(audio_alsa_la_swig_ldflags) -_audio_alsa_python_la_CXXFLAGS = \ +_audio_alsa_la_CXXFLAGS = \ $(STD_SWIG_CXX_FLAGS) \ + -I$(top_builddir) \ $(audio_alsa_la_swig_cxxflags) audio_alsa_python_PYTHON = \ audio_alsa.py \ - $(audio_alsa_python) + $(audio_alsa) if GUILE -audio_alsa_scmlib_LTLIBRARIES = _audio_alsa_guile.la -_audio_alsa_guile_la_SOURCES = \ - audio_alsa_guile.cc \ +audio_alsa_scmlib_LTLIBRARIES = audio_alsa_guile.la +audio_alsa_guile_la_SOURCES = \ + guile/audio_alsa.cc \ $(audio_alsa_la_swig_sources) audio_alsa_scm_DATA = audio_alsa.scm # Guile can use the same flags as python does -_audio_alsa_guile_la_LIBADD = $(_audio_alsa_python_la_LIBADD) -_audio_alsa_guile_la_LDFLAGS = $(_audio_alsa_python_la_LDFLAGS) -_audio_alsa_guile_la_CXXFLAGS = $(_audio_alsa_python_la_CXXFLAGS) - -endif # end of GUILE +audio_alsa_guile_la_LIBADD = $(_audio_alsa_la_LIBADD) +audio_alsa_guile_la_LDFLAGS = $(_audio_alsa_la_LDFLAGS) +audio_alsa_guile_la_CXXFLAGS = $(_audio_alsa_la_CXXFLAGS) -## Entry rule for running SWIG - -# $(python_deps) $(guile_deps): audio_alsa.i -audio_alsa_python.h audio_alsa.py audio_alsa_python.cc: audio_alsa.i -## This rule will get called only when MAKE decides that one of the -## targets needs to be created or re-created, because: -## -## * The .i file is newer than any or all of the generated files; -## -## * Any or all of the .cc, .h, or .py files does not exist and is -## needed (in the case this file is not needed, the rule for it is -## ignored); or -## -## * Some SWIG-based dependecy of the .cc file isn't met and hence the -## .cc file needs be be regenerated. Explanation: Because MAKE -## knows how to handle dependencies for .cc files (regardless of -## their name or extension), then the .cc file is used as a target -## instead of the .i file -- but with the dependencies of the .i -## file. It is this last reason why the line: -## -## if test -f $@; then :; else -## -## cannot be used in this case: If a .i file dependecy is not met, -## then the .cc file needs to be rebuilt. But if the stamp is newer -## than the .cc file, and the .cc file exists, then in the original -## version (with the 'test' above) the internal MAKE call will not -## be issued and hence the .cc file will not be rebuilt. -## -## Once execution gets to here, it should always proceed no matter the -## state of a stamp (as discussed in link above). The -## $(DEPDIR)/audio_alsa-generate stuff is used to allow for parallel -## builds to "do the right thing". The stamp has no relationship with -## either the target files or dependency file; it is used solely for -## the protection of multiple builds during a given call to MAKE. -## -## Catch signals SIGHUP (1), SIGINT (2), SIGPIPE (13), and SIGTERM -## (15). At a caught signal, the quoted command will be issued before -## exiting. In this case, remove any stamp, whether temporary of not. -## The trap is valid until the process exits; the process includes all -## commands appended via "\"s. -## - trap 'rm -rf $(DEPDIR)/audio_alsa-generate-*' 1 2 13 15; \ -## -## Create a temporary directory, which acts as a lock. The first -## process to create the directory will succeed and issue the MAKE -## command to do the actual work, while all subsequent processes will -## fail -- leading them to wait for the first process to finish. -## - if mkdir $(DEPDIR)/audio_alsa-generate-lock 2>/dev/null; then \ -## -## This code is being executed by the first process to succeed in -## creating the directory lock. -## -## Remove the stamp associated with this filename. -## - rm -f $(DEPDIR)/audio_alsa-generate-*stamp; \ -## -## Tell MAKE to run the rule for creating this stamp. -## - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/audio_alsa-generate-python-stamp WHAT=$<; \ -## -## Now that the .cc, .h, and .py files have been (re)created from the -## .i file, future checking of this rule during the same MAKE -## execution will come back that the rule doesn't need to be executed -## because none of the conditions mentioned at the start of this rule -## will be positive. Remove the the directory lock, which frees up -## any waiting process(es) to continue. -## - rmdir $(DEPDIR)/audio_alsa-generate-lock; \ - else \ -## -## This code is being executed by any follower processes while the -## directory lock is in place. -## -## Wait until the first process is done, testing once per second. -## - while test -d $(DEPDIR)/audio_alsa-generate-lock; do \ - sleep 1; \ - done; \ -## -## Succeed if and only if the first process succeeded; exit this -## process returning the status of the generated stamp. -## - test -f $(DEPDIR)/audio_alsa-generate-python-stamp; \ - exit $$?; \ - fi; +guile/audio_alsa.lo: audio_alsa.lo +audio_alsa.scm: audio_alsa.i -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. -audio_alsa_guile.h audio_alsa.scm audio_alsa_guile.cc: audio_alsa.i -if GUILE - trap 'rm -rf $(DEPDIR)/audio_alsa-generate-*' 1 2 13 15; \ - if mkdir $(DEPDIR)/audio_alsa-generate-lock 2>/dev/null; then \ - rm -f $(DEPDIR)/audio_alsa-generate-*stamp; \ - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/audio_alsa-generate-guile-stamp WHAT=$<; \ - rmdir $(DEPDIR)/audio_alsa-generate-lock; \ - else \ - while test -d $(DEPDIR)/audio_alsa-generate-lock; do \ - sleep 1; \ - done; \ - test -f $(DEPDIR)/audio_alsa-generate-guile-stamp; \ - exit $$?; \ - fi; endif # end of GUILE -$(DEPDIR)/audio_alsa-generate-python-stamp: -## This rule will be called only by the first process issuing the -## above rule to succeed in creating the lock directory, after -## removing the actual stamp file in order to guarantee that MAKE will -## execute this rule. -## -## Call SWIG to generate the various output files; special -## post-processing on 'mingw32' host OS for the dependency file. -## - if $(SWIG) $(STD_SWIG_PYTHON_ARGS) $(audio_alsa_swig_args) \ - -MD -MF $(DEPDIR)/audio_alsa_python.Std \ - -module audio_alsa -o audio_alsa_python.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/audio_alsa_python.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/audio_alsa_python.Std \ - > $(DEPDIR)/audio_alsa_python.Sd; \ - $(RM) $(DEPDIR)/audio_alsa_python.Std; \ - $(MV) $(DEPDIR)/audio_alsa_python.Sd $(DEPDIR)/audio_alsa_python.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/audio_alsa_python.S*; exit 1; \ - fi; -## -## Mess with the SWIG output .Std dependency file, to create a -## dependecy file valid for the input .i file: Basically, simulate the -## dependency file created for libraries by GNU's libtool for C++, -## where all of the dependencies for the target are first listed, then -## each individual dependency is listed as a target with no further -## dependencies. -## -## (1) remove the current dependency file -## - $(RM) $(DEPDIR)/audio_alsa_python.d -## -## (2) Copy the whole SWIG file: -## - cp $(DEPDIR)/audio_alsa_python.Std $(DEPDIR)/audio_alsa_python.d -## -## (3) all a carriage return to the end of the dependency file. -## - echo "" >> $(DEPDIR)/audio_alsa_python.d -## -## (4) from the SWIG file, remove the first line (the target); remove -## trailing " \" and " " from each line. Append ":" to each line, -## followed by 2 carriage returns, then append this to the end of -## the dependency file. -## - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/audio_alsa_python.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/audio_alsa_python.d -## -## (5) remove the SWIG-generated file -## - $(RM) $(DEPDIR)/audio_alsa_python.Std -## -## Create the stamp for this filename generation, to signal success in -## executing this rule; allows other threads waiting on this process -## to continue. -## - touch $(DEPDIR)/audio_alsa-generate-python-stamp - -# KLUDGE: Force runtime include of a SWIG dependency file. This is -# not guaranteed to be portable, but will probably work. If it works, -# we have accurate dependencies for our swig stuff, which is good. - -@am__include@ @am__quote@./$(DEPDIR)/audio_alsa_python.d@am__quote@ - -$(DEPDIR)/audio_alsa-generate-guile-stamp: -if GUILE -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. - if $(SWIG) $(STD_SWIG_GUILE_ARGS) $(audio_alsa_swig_args) \ - -MD -MF $(DEPDIR)/audio_alsa_guile.Std \ - -module audio_alsa -o audio_alsa_guile.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/audio_alsa_guile.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/audio_alsa_guile.Std \ - > $(DEPDIR)/audio_alsa_guile.Sd; \ - $(RM) $(DEPDIR)/audio_alsa_guile.Std; \ - $(MV) $(DEPDIR)/audio_alsa_guile.Sd $(DEPDIR)/audio_alsa_guile.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/audio_alsa_guile.S*; exit 1; \ - fi; - touch $(DEPDIR)/audio_alsa-generate-guile-stamp - $(RM) $(DEPDIR)/audio_alsa_guile.d - cp $(DEPDIR)/audio_alsa_guile.Std $(DEPDIR)/audio_alsa_guile.d - echo "" >> $(DEPDIR)/audio_alsa_guile.d - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/audio_alsa_guile.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/audio_alsa_guile.d - $(RM) $(DEPDIR)/audio_alsa_guile.Std - touch $(DEPDIR)/audio_alsa-generate-guile-stamp -else - touch $(DEPDIR)/audio_alsa-generate-guile-stamp -endif - -@am__include@ @am__quote@./$(DEPDIR)/audio_alsa_guile.d@am__quote@ +python/audio_alsa.lo: +audio_alsa.lo: audio_alsa.py audio_alsa.scm +audio_alsa.py: audio_alsa.i -#gnuradio_swig_py_runtime_python.h: gnuradio_swig_py_runtime.i diff --git a/gr-audio-jack/src/Makefile.swig.gen b/gr-audio-jack/src/Makefile.swig.gen index 7ace81ffd..0c14aa4c6 100644 --- a/gr-audio-jack/src/Makefile.swig.gen +++ b/gr-audio-jack/src/Makefile.swig.gen @@ -38,6 +38,16 @@ audio_jack_pylibdir_category ?= $(audio_jack_pythondir_category) audio_jack_pythondir = $(pythondir)/$(audio_jack_pythondir_category) audio_jack_pylibdir = $(pyexecdir)/$(audio_jack_pylibdir_category) +# The .so libraries for the guile modules get installed whereever guile +# is installed, usually /usr/lib/guile/gnuradio/ +# FIXME: determince whether these should be installed with gnuradio. +audio_jack_scmlibdir = @GUILE_PKLIBDIR@/gnuradio + +# The scm files for the guile modules get installed where ever guile +# is installed, usually /usr/share/guile/site/audio_jack +# FIXME: determince whether these should be installed with gnuradio. +audio_jack_scmdir = @GUILE_PKDATADIR@/gnuradio + ## SWIG headers are always installed into the same directory. audio_jack_swigincludedir = $(swigincludedir) @@ -72,7 +82,12 @@ MOSTLYCLEANFILES += $(DEPDIR)/*.S* ## .h file is sometimes built, but not always ... so that one has to ## be added manually by the including Makefile.am . -swig_built_sources += audio_jack.py audio_jack_python.cc +# generating the py or scm file also generates the .cc or .h files, +# but dependencies work better without the .cc ort .h files listed. +swig_built_sources += audio_jack.py +if GUILE +swig_built_sources += audio_jack.scm +endif ## Various SWIG variables. These can be overloaded in the including ## Makefile.am by setting the variable value there, then including @@ -83,208 +98,50 @@ audio_jack_swiginclude_HEADERS = \ $(audio_jack_swiginclude_headers) audio_jack_pylib_LTLIBRARIES = \ - _audio_jack_python.la + _audio_jack.la -_audio_jack_python_la_SOURCES = \ - audio_jack_python.cc \ +_audio_jack_la_SOURCES = \ + python/audio_jack.cc \ $(audio_jack_la_swig_sources) -_audio_jack_python_la_LIBADD = \ +_audio_jack_la_LIBADD = \ $(STD_SWIG_LA_LIB_ADD) \ $(audio_jack_la_swig_libadd) -_audio_jack_python_la_LDFLAGS = \ +# _audio_jack_la_DEPENDENCIES = python/audio_jack.lo + +_audio_jack_la_LDFLAGS = \ $(STD_SWIG_LA_LD_FLAGS) \ $(audio_jack_la_swig_ldflags) -_audio_jack_python_la_CXXFLAGS = \ +_audio_jack_la_CXXFLAGS = \ $(STD_SWIG_CXX_FLAGS) \ + -I$(top_builddir) \ $(audio_jack_la_swig_cxxflags) audio_jack_python_PYTHON = \ audio_jack.py \ - $(audio_jack_python) + $(audio_jack) if GUILE -audio_jack_pylib_LTLIBRARIES += _audio_jack_guile.la - -_audio_jack_guile_la_SOURCES = \ - audio_jack_guile.cc \ +audio_jack_scmlib_LTLIBRARIES = audio_jack_guile.la +audio_jack_guile_la_SOURCES = \ + guile/audio_jack.cc \ $(audio_jack_la_swig_sources) +audio_jack_scm_DATA = audio_jack.scm # Guile can use the same flags as python does -_audio_jack_guile_la_LIBADD = $(_audio_jack_python_la_LIBADD) -_audio_jack_guile_la_LDFLAGS = $(_audio_jack_python_la_LDFLAGS) -_audio_jack_guile_la_CXXFLAGS = $(_audio_jack_python_la_CXXFLAGS) - -endif # end of GUILE +audio_jack_guile_la_LIBADD = $(_audio_jack_la_LIBADD) +audio_jack_guile_la_LDFLAGS = $(_audio_jack_la_LDFLAGS) +audio_jack_guile_la_CXXFLAGS = $(_audio_jack_la_CXXFLAGS) -## Entry rule for running SWIG +guile/audio_jack.lo: audio_jack.lo +audio_jack.scm: audio_jack.i -audio_jack.h audio_jack.py audio_jack_python.cc: audio_jack.i -## This rule will get called only when MAKE decides that one of the -## targets needs to be created or re-created, because: -## -## * The .i file is newer than any or all of the generated files; -## -## * Any or all of the .cc, .h, or .py files does not exist and is -## needed (in the case this file is not needed, the rule for it is -## ignored); or -## -## * Some SWIG-based dependecy of the .cc file isn't met and hence the -## .cc file needs be be regenerated. Explanation: Because MAKE -## knows how to handle dependencies for .cc files (regardless of -## their name or extension), then the .cc file is used as a target -## instead of the .i file -- but with the dependencies of the .i -## file. It is this last reason why the line: -## -## if test -f $@; then :; else -## -## cannot be used in this case: If a .i file dependecy is not met, -## then the .cc file needs to be rebuilt. But if the stamp is newer -## than the .cc file, and the .cc file exists, then in the original -## version (with the 'test' above) the internal MAKE call will not -## be issued and hence the .cc file will not be rebuilt. -## -## Once execution gets to here, it should always proceed no matter the -## state of a stamp (as discussed in link above). The -## $(DEPDIR)/audio_jack-generate stuff is used to allow for parallel -## builds to "do the right thing". The stamp has no relationship with -## either the target files or dependency file; it is used solely for -## the protection of multiple builds during a given call to MAKE. -## -## Catch signals SIGHUP (1), SIGINT (2), SIGPIPE (13), and SIGTERM -## (15). At a caught signal, the quoted command will be issued before -## exiting. In this case, remove any stamp, whether temporary of not. -## The trap is valid until the process exits; the process includes all -## commands appended via "\"s. -## - trap 'rm -rf $(DEPDIR)/audio_jack-generate-*' 1 2 13 15; \ -## -## Create a temporary directory, which acts as a lock. The first -## process to create the directory will succeed and issue the MAKE -## command to do the actual work, while all subsequent processes will -## fail -- leading them to wait for the first process to finish. -## - if mkdir $(DEPDIR)/audio_jack-generate-lock 2>/dev/null; then \ -## -## This code is being executed by the first process to succeed in -## creating the directory lock. -## -## Remove the stamp associated with this filename. -## - rm -f $(DEPDIR)/audio_jack-generate-*stamp; \ -## -## Tell MAKE to run the rule for creating this stamp. -## - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/audio_jack-generate-python-stamp WHAT=$<; \ - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/audio_jack-generate-guile-stamp WHAT=$<; \ -## -## Now that the .cc, .h, and .py files have been (re)created from the -## .i file, future checking of this rule during the same MAKE -## execution will come back that the rule doesn't need to be executed -## because none of the conditions mentioned at the start of this rule -## will be positive. Remove the the directory lock, which frees up -## any waiting process(es) to continue. -## - rmdir $(DEPDIR)/audio_jack-generate-lock; \ - else \ -## -## This code is being executed by any follower processes while the -## directory lock is in place. -## -## Wait until the first process is done, testing once per second. -## - while test -d $(DEPDIR)/audio_jack-generate-lock; do \ - sleep 1; \ - done; \ -## -## Succeed if and only if the first process succeeded; exit this -## process returning the status of the generated stamp. -## - test -f $(DEPDIR)/audio_jack-generate-python-stamp; \ - exit $$?; \ - fi; - -$(DEPDIR)/audio_jack-generate-guile-stamp: - if $(SWIG) $(STD_SWIG_GUILE_ARGS) $(audio_jack_swig_args) \ - -MD -MF $(DEPDIR)/audio_jack.Std \ - -module audio_jack -o audio_jack_guile.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/audio_jack.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/audio_jack.Std \ - > $(DEPDIR)/audio_jack.Sd; \ - $(RM) $(DEPDIR)/audio_jack.Std; \ - $(MV) $(DEPDIR)/audio_jack.Sd $(DEPDIR)/audio_jack.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/audio_jack.S*; exit 1; \ - fi; - touch $(DEPDIR)/audio_jack-generate-guile-stamp - -$(DEPDIR)/audio_jack-generate-python-stamp: -## This rule will be called only by the first process issuing the -## above rule to succeed in creating the lock directory, after -## removing the actual stamp file in order to guarantee that MAKE will -## execute this rule. -## -## Call SWIG to generate the various output files; special -## post-processing on 'mingw32' host OS for the dependency file. -## - if $(SWIG) $(STD_SWIG_PYTHON_ARGS) $(audio_jack_swig_args) \ - -MD -MF $(DEPDIR)/audio_jack.Std \ - -module audio_jack -o audio_jack_python.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/audio_jack.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/audio_jack.Std \ - > $(DEPDIR)/audio_jack.Sd; \ - $(RM) $(DEPDIR)/audio_jack.Std; \ - $(MV) $(DEPDIR)/audio_jack.Sd $(DEPDIR)/audio_jack.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/audio_jack.S*; exit 1; \ - fi; -## -## Mess with the SWIG output .Std dependency file, to create a -## dependecy file valid for the input .i file: Basically, simulate the -## dependency file created for libraries by GNU's libtool for C++, -## where all of the dependencies for the target are first listed, then -## each individual dependency is listed as a target with no further -## dependencies. -## -## (1) remove the current dependency file -## - $(RM) $(DEPDIR)/audio_jack.d -## -## (2) Copy the whole SWIG file: -## - cp $(DEPDIR)/audio_jack.Std $(DEPDIR)/audio_jack.d -## -## (3) all a carriage return to the end of the dependency file. -## - echo "" >> $(DEPDIR)/audio_jack.d -## -## (4) from the SWIG file, remove the first line (the target); remove -## trailing " \" and " " from each line. Append ":" to each line, -## followed by 2 carriage returns, then append this to the end of -## the dependency file. -## - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/audio_jack.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/audio_jack.d -## -## (5) remove the SWIG-generated file -## - $(RM) $(DEPDIR)/audio_jack.Std -## -## Create the stamp for this filename generation, to signal success in -## executing this rule; allows other threads waiting on this process -## to continue. -## - touch $(DEPDIR)/audio_jack-generate-python-stamp +endif # end of GUILE -# KLUDGE: Force runtime include of a SWIG dependency file. This is -# not guaranteed to be portable, but will probably work. If it works, -# we have accurate dependencies for our swig stuff, which is good. +python/audio_jack.lo: +audio_jack.lo: audio_jack.py audio_jack.scm +audio_jack.py: audio_jack.i -@am__include@ @am__quote@./$(DEPDIR)/audio_jack.d@am__quote@ diff --git a/gr-audio-oss/src/Makefile.swig.gen b/gr-audio-oss/src/Makefile.swig.gen index 2438a225d..f366ff0a2 100644 --- a/gr-audio-oss/src/Makefile.swig.gen +++ b/gr-audio-oss/src/Makefile.swig.gen @@ -82,9 +82,11 @@ MOSTLYCLEANFILES += $(DEPDIR)/*.S* ## .h file is sometimes built, but not always ... so that one has to ## be added manually by the including Makefile.am . -swig_built_sources += audio_oss.py audio_oss_python.cc +# generating the py or scm file also generates the .cc or .h files, +# but dependencies work better without the .cc ort .h files listed. +swig_built_sources += audio_oss.py if GUILE -swig_built_sources += audio_oss.scm audio_oss_guile.cc +swig_built_sources += audio_oss.scm endif ## Various SWIG variables. These can be overloaded in the including @@ -96,243 +98,50 @@ audio_oss_swiginclude_HEADERS = \ $(audio_oss_swiginclude_headers) audio_oss_pylib_LTLIBRARIES = \ - _audio_oss_python.la + _audio_oss.la -_audio_oss_python_la_SOURCES = \ - audio_oss_python.cc \ +_audio_oss_la_SOURCES = \ + python/audio_oss.cc \ $(audio_oss_la_swig_sources) -_audio_oss_python_la_LIBADD = \ +_audio_oss_la_LIBADD = \ $(STD_SWIG_LA_LIB_ADD) \ $(audio_oss_la_swig_libadd) -_audio_oss_python_la_LDFLAGS = \ +# _audio_oss_la_DEPENDENCIES = python/audio_oss.lo + +_audio_oss_la_LDFLAGS = \ $(STD_SWIG_LA_LD_FLAGS) \ $(audio_oss_la_swig_ldflags) -_audio_oss_python_la_CXXFLAGS = \ +_audio_oss_la_CXXFLAGS = \ $(STD_SWIG_CXX_FLAGS) \ + -I$(top_builddir) \ $(audio_oss_la_swig_cxxflags) audio_oss_python_PYTHON = \ audio_oss.py \ - $(audio_oss_python) + $(audio_oss) if GUILE -audio_oss_scmlib_LTLIBRARIES = _audio_oss_guile.la -_audio_oss_guile_la_SOURCES = \ - audio_oss_guile.cc \ +audio_oss_scmlib_LTLIBRARIES = audio_oss_guile.la +audio_oss_guile_la_SOURCES = \ + guile/audio_oss.cc \ $(audio_oss_la_swig_sources) audio_oss_scm_DATA = audio_oss.scm # Guile can use the same flags as python does -_audio_oss_guile_la_LIBADD = $(_audio_oss_python_la_LIBADD) -_audio_oss_guile_la_LDFLAGS = $(_audio_oss_python_la_LDFLAGS) -_audio_oss_guile_la_CXXFLAGS = $(_audio_oss_python_la_CXXFLAGS) - -endif # end of GUILE +audio_oss_guile_la_LIBADD = $(_audio_oss_la_LIBADD) +audio_oss_guile_la_LDFLAGS = $(_audio_oss_la_LDFLAGS) +audio_oss_guile_la_CXXFLAGS = $(_audio_oss_la_CXXFLAGS) -## Entry rule for running SWIG - -# $(python_deps) $(guile_deps): audio_oss.i -audio_oss_python.h audio_oss.py audio_oss_python.cc: audio_oss.i -## This rule will get called only when MAKE decides that one of the -## targets needs to be created or re-created, because: -## -## * The .i file is newer than any or all of the generated files; -## -## * Any or all of the .cc, .h, or .py files does not exist and is -## needed (in the case this file is not needed, the rule for it is -## ignored); or -## -## * Some SWIG-based dependecy of the .cc file isn't met and hence the -## .cc file needs be be regenerated. Explanation: Because MAKE -## knows how to handle dependencies for .cc files (regardless of -## their name or extension), then the .cc file is used as a target -## instead of the .i file -- but with the dependencies of the .i -## file. It is this last reason why the line: -## -## if test -f $@; then :; else -## -## cannot be used in this case: If a .i file dependecy is not met, -## then the .cc file needs to be rebuilt. But if the stamp is newer -## than the .cc file, and the .cc file exists, then in the original -## version (with the 'test' above) the internal MAKE call will not -## be issued and hence the .cc file will not be rebuilt. -## -## Once execution gets to here, it should always proceed no matter the -## state of a stamp (as discussed in link above). The -## $(DEPDIR)/audio_oss-generate stuff is used to allow for parallel -## builds to "do the right thing". The stamp has no relationship with -## either the target files or dependency file; it is used solely for -## the protection of multiple builds during a given call to MAKE. -## -## Catch signals SIGHUP (1), SIGINT (2), SIGPIPE (13), and SIGTERM -## (15). At a caught signal, the quoted command will be issued before -## exiting. In this case, remove any stamp, whether temporary of not. -## The trap is valid until the process exits; the process includes all -## commands appended via "\"s. -## - trap 'rm -rf $(DEPDIR)/audio_oss-generate-*' 1 2 13 15; \ -## -## Create a temporary directory, which acts as a lock. The first -## process to create the directory will succeed and issue the MAKE -## command to do the actual work, while all subsequent processes will -## fail -- leading them to wait for the first process to finish. -## - if mkdir $(DEPDIR)/audio_oss-generate-lock 2>/dev/null; then \ -## -## This code is being executed by the first process to succeed in -## creating the directory lock. -## -## Remove the stamp associated with this filename. -## - rm -f $(DEPDIR)/audio_oss-generate-*stamp; \ -## -## Tell MAKE to run the rule for creating this stamp. -## - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/audio_oss-generate-python-stamp WHAT=$<; \ -## -## Now that the .cc, .h, and .py files have been (re)created from the -## .i file, future checking of this rule during the same MAKE -## execution will come back that the rule doesn't need to be executed -## because none of the conditions mentioned at the start of this rule -## will be positive. Remove the the directory lock, which frees up -## any waiting process(es) to continue. -## - rmdir $(DEPDIR)/audio_oss-generate-lock; \ - else \ -## -## This code is being executed by any follower processes while the -## directory lock is in place. -## -## Wait until the first process is done, testing once per second. -## - while test -d $(DEPDIR)/audio_oss-generate-lock; do \ - sleep 1; \ - done; \ -## -## Succeed if and only if the first process succeeded; exit this -## process returning the status of the generated stamp. -## - test -f $(DEPDIR)/audio_oss-generate-python-stamp; \ - exit $$?; \ - fi; +guile/audio_oss.lo: audio_oss.lo +audio_oss.scm: audio_oss.i -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. -audio_oss_guile.h audio_oss.scm audio_oss_guile.cc: audio_oss.i -if GUILE - trap 'rm -rf $(DEPDIR)/audio_oss-generate-*' 1 2 13 15; \ - if mkdir $(DEPDIR)/audio_oss-generate-lock 2>/dev/null; then \ - rm -f $(DEPDIR)/audio_oss-generate-*stamp; \ - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/audio_oss-generate-guile-stamp WHAT=$<; \ - rmdir $(DEPDIR)/audio_oss-generate-lock; \ - else \ - while test -d $(DEPDIR)/audio_oss-generate-lock; do \ - sleep 1; \ - done; \ - test -f $(DEPDIR)/audio_oss-generate-guile-stamp; \ - exit $$?; \ - fi; endif # end of GUILE -$(DEPDIR)/audio_oss-generate-python-stamp: -## This rule will be called only by the first process issuing the -## above rule to succeed in creating the lock directory, after -## removing the actual stamp file in order to guarantee that MAKE will -## execute this rule. -## -## Call SWIG to generate the various output files; special -## post-processing on 'mingw32' host OS for the dependency file. -## - if $(SWIG) $(STD_SWIG_PYTHON_ARGS) $(audio_oss_swig_args) \ - -MD -MF $(DEPDIR)/audio_oss_python.Std \ - -module audio_oss -o audio_oss_python.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/audio_oss_python.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/audio_oss_python.Std \ - > $(DEPDIR)/audio_oss_python.Sd; \ - $(RM) $(DEPDIR)/audio_oss_python.Std; \ - $(MV) $(DEPDIR)/audio_oss_python.Sd $(DEPDIR)/audio_oss_python.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/audio_oss_python.S*; exit 1; \ - fi; -## -## Mess with the SWIG output .Std dependency file, to create a -## dependecy file valid for the input .i file: Basically, simulate the -## dependency file created for libraries by GNU's libtool for C++, -## where all of the dependencies for the target are first listed, then -## each individual dependency is listed as a target with no further -## dependencies. -## -## (1) remove the current dependency file -## - $(RM) $(DEPDIR)/audio_oss_python.d -## -## (2) Copy the whole SWIG file: -## - cp $(DEPDIR)/audio_oss_python.Std $(DEPDIR)/audio_oss_python.d -## -## (3) all a carriage return to the end of the dependency file. -## - echo "" >> $(DEPDIR)/audio_oss_python.d -## -## (4) from the SWIG file, remove the first line (the target); remove -## trailing " \" and " " from each line. Append ":" to each line, -## followed by 2 carriage returns, then append this to the end of -## the dependency file. -## - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/audio_oss_python.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/audio_oss_python.d -## -## (5) remove the SWIG-generated file -## - $(RM) $(DEPDIR)/audio_oss_python.Std -## -## Create the stamp for this filename generation, to signal success in -## executing this rule; allows other threads waiting on this process -## to continue. -## - touch $(DEPDIR)/audio_oss-generate-python-stamp - -# KLUDGE: Force runtime include of a SWIG dependency file. This is -# not guaranteed to be portable, but will probably work. If it works, -# we have accurate dependencies for our swig stuff, which is good. - -@am__include@ @am__quote@./$(DEPDIR)/audio_oss_python.d@am__quote@ - -$(DEPDIR)/audio_oss-generate-guile-stamp: -if GUILE -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. - if $(SWIG) $(STD_SWIG_GUILE_ARGS) $(audio_oss_swig_args) \ - -MD -MF $(DEPDIR)/audio_oss_guile.Std \ - -module audio_oss -o audio_oss_guile.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/audio_oss_guile.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/audio_oss_guile.Std \ - > $(DEPDIR)/audio_oss_guile.Sd; \ - $(RM) $(DEPDIR)/audio_oss_guile.Std; \ - $(MV) $(DEPDIR)/audio_oss_guile.Sd $(DEPDIR)/audio_oss_guile.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/audio_oss_guile.S*; exit 1; \ - fi; - touch $(DEPDIR)/audio_oss-generate-guile-stamp - $(RM) $(DEPDIR)/audio_oss_guile.d - cp $(DEPDIR)/audio_oss_guile.Std $(DEPDIR)/audio_oss_guile.d - echo "" >> $(DEPDIR)/audio_oss_guile.d - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/audio_oss_guile.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/audio_oss_guile.d - $(RM) $(DEPDIR)/audio_oss_guile.Std - touch $(DEPDIR)/audio_oss-generate-guile-stamp -else - touch $(DEPDIR)/audio_oss-generate-guile-stamp -endif - -@am__include@ @am__quote@./$(DEPDIR)/audio_oss_guile.d@am__quote@ +python/audio_oss.lo: +audio_oss.lo: audio_oss.py audio_oss.scm +audio_oss.py: audio_oss.i -#gnuradio_swig_py_runtime_python.h: gnuradio_swig_py_runtime.i diff --git a/gr-audio-portaudio/src/Makefile.swig.gen b/gr-audio-portaudio/src/Makefile.swig.gen index 59e317a5e..42da0e199 100644 --- a/gr-audio-portaudio/src/Makefile.swig.gen +++ b/gr-audio-portaudio/src/Makefile.swig.gen @@ -38,6 +38,16 @@ audio_portaudio_pylibdir_category ?= $(audio_portaudio_pythondir_category) audio_portaudio_pythondir = $(pythondir)/$(audio_portaudio_pythondir_category) audio_portaudio_pylibdir = $(pyexecdir)/$(audio_portaudio_pylibdir_category) +# The .so libraries for the guile modules get installed whereever guile +# is installed, usually /usr/lib/guile/gnuradio/ +# FIXME: determince whether these should be installed with gnuradio. +audio_portaudio_scmlibdir = @GUILE_PKLIBDIR@/gnuradio + +# The scm files for the guile modules get installed where ever guile +# is installed, usually /usr/share/guile/site/audio_portaudio +# FIXME: determince whether these should be installed with gnuradio. +audio_portaudio_scmdir = @GUILE_PKDATADIR@/gnuradio + ## SWIG headers are always installed into the same directory. audio_portaudio_swigincludedir = $(swigincludedir) @@ -72,7 +82,12 @@ MOSTLYCLEANFILES += $(DEPDIR)/*.S* ## .h file is sometimes built, but not always ... so that one has to ## be added manually by the including Makefile.am . -swig_built_sources += audio_portaudio.py audio_portaudio_python.cc +# generating the py or scm file also generates the .cc or .h files, +# but dependencies work better without the .cc ort .h files listed. +swig_built_sources += audio_portaudio.py +if GUILE +swig_built_sources += audio_portaudio.scm +endif ## Various SWIG variables. These can be overloaded in the including ## Makefile.am by setting the variable value there, then including @@ -83,208 +98,50 @@ audio_portaudio_swiginclude_HEADERS = \ $(audio_portaudio_swiginclude_headers) audio_portaudio_pylib_LTLIBRARIES = \ - _audio_portaudio_python.la + _audio_portaudio.la -_audio_portaudio_python_la_SOURCES = \ - audio_portaudio_python.cc \ +_audio_portaudio_la_SOURCES = \ + python/audio_portaudio.cc \ $(audio_portaudio_la_swig_sources) -_audio_portaudio_python_la_LIBADD = \ +_audio_portaudio_la_LIBADD = \ $(STD_SWIG_LA_LIB_ADD) \ $(audio_portaudio_la_swig_libadd) -_audio_portaudio_python_la_LDFLAGS = \ +# _audio_portaudio_la_DEPENDENCIES = python/audio_portaudio.lo + +_audio_portaudio_la_LDFLAGS = \ $(STD_SWIG_LA_LD_FLAGS) \ $(audio_portaudio_la_swig_ldflags) -_audio_portaudio_python_la_CXXFLAGS = \ +_audio_portaudio_la_CXXFLAGS = \ $(STD_SWIG_CXX_FLAGS) \ + -I$(top_builddir) \ $(audio_portaudio_la_swig_cxxflags) audio_portaudio_python_PYTHON = \ audio_portaudio.py \ - $(audio_portaudio_python) + $(audio_portaudio) if GUILE -audio_portaudio_pylib_LTLIBRARIES += _audio_portaudio_guile.la - -_audio_portaudio_guile_la_SOURCES = \ - audio_portaudio_guile.cc \ +audio_portaudio_scmlib_LTLIBRARIES = audio_portaudio_guile.la +audio_portaudio_guile_la_SOURCES = \ + guile/audio_portaudio.cc \ $(audio_portaudio_la_swig_sources) +audio_portaudio_scm_DATA = audio_portaudio.scm # Guile can use the same flags as python does -_audio_portaudio_guile_la_LIBADD = $(_audio_portaudio_python_la_LIBADD) -_audio_portaudio_guile_la_LDFLAGS = $(_audio_portaudio_python_la_LDFLAGS) -_audio_portaudio_guile_la_CXXFLAGS = $(_audio_portaudio_python_la_CXXFLAGS) - -endif # end of GUILE +audio_portaudio_guile_la_LIBADD = $(_audio_portaudio_la_LIBADD) +audio_portaudio_guile_la_LDFLAGS = $(_audio_portaudio_la_LDFLAGS) +audio_portaudio_guile_la_CXXFLAGS = $(_audio_portaudio_la_CXXFLAGS) -## Entry rule for running SWIG +guile/audio_portaudio.lo: audio_portaudio.lo +audio_portaudio.scm: audio_portaudio.i -audio_portaudio.h audio_portaudio.py audio_portaudio_python.cc: audio_portaudio.i -## This rule will get called only when MAKE decides that one of the -## targets needs to be created or re-created, because: -## -## * The .i file is newer than any or all of the generated files; -## -## * Any or all of the .cc, .h, or .py files does not exist and is -## needed (in the case this file is not needed, the rule for it is -## ignored); or -## -## * Some SWIG-based dependecy of the .cc file isn't met and hence the -## .cc file needs be be regenerated. Explanation: Because MAKE -## knows how to handle dependencies for .cc files (regardless of -## their name or extension), then the .cc file is used as a target -## instead of the .i file -- but with the dependencies of the .i -## file. It is this last reason why the line: -## -## if test -f $@; then :; else -## -## cannot be used in this case: If a .i file dependecy is not met, -## then the .cc file needs to be rebuilt. But if the stamp is newer -## than the .cc file, and the .cc file exists, then in the original -## version (with the 'test' above) the internal MAKE call will not -## be issued and hence the .cc file will not be rebuilt. -## -## Once execution gets to here, it should always proceed no matter the -## state of a stamp (as discussed in link above). The -## $(DEPDIR)/audio_portaudio-generate stuff is used to allow for parallel -## builds to "do the right thing". The stamp has no relationship with -## either the target files or dependency file; it is used solely for -## the protection of multiple builds during a given call to MAKE. -## -## Catch signals SIGHUP (1), SIGINT (2), SIGPIPE (13), and SIGTERM -## (15). At a caught signal, the quoted command will be issued before -## exiting. In this case, remove any stamp, whether temporary of not. -## The trap is valid until the process exits; the process includes all -## commands appended via "\"s. -## - trap 'rm -rf $(DEPDIR)/audio_portaudio-generate-*' 1 2 13 15; \ -## -## Create a temporary directory, which acts as a lock. The first -## process to create the directory will succeed and issue the MAKE -## command to do the actual work, while all subsequent processes will -## fail -- leading them to wait for the first process to finish. -## - if mkdir $(DEPDIR)/audio_portaudio-generate-lock 2>/dev/null; then \ -## -## This code is being executed by the first process to succeed in -## creating the directory lock. -## -## Remove the stamp associated with this filename. -## - rm -f $(DEPDIR)/audio_portaudio-generate-*stamp; \ -## -## Tell MAKE to run the rule for creating this stamp. -## - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/audio_portaudio-generate-python-stamp WHAT=$<; \ - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/audio_portaudio-generate-guile-stamp WHAT=$<; \ -## -## Now that the .cc, .h, and .py files have been (re)created from the -## .i file, future checking of this rule during the same MAKE -## execution will come back that the rule doesn't need to be executed -## because none of the conditions mentioned at the start of this rule -## will be positive. Remove the the directory lock, which frees up -## any waiting process(es) to continue. -## - rmdir $(DEPDIR)/audio_portaudio-generate-lock; \ - else \ -## -## This code is being executed by any follower processes while the -## directory lock is in place. -## -## Wait until the first process is done, testing once per second. -## - while test -d $(DEPDIR)/audio_portaudio-generate-lock; do \ - sleep 1; \ - done; \ -## -## Succeed if and only if the first process succeeded; exit this -## process returning the status of the generated stamp. -## - test -f $(DEPDIR)/audio_portaudio-generate-python-stamp; \ - exit $$?; \ - fi; - -$(DEPDIR)/audio_portaudio-generate-guile-stamp: - if $(SWIG) $(STD_SWIG_GUILE_ARGS) $(audio_portaudio_swig_args) \ - -MD -MF $(DEPDIR)/audio_portaudio.Std \ - -module audio_portaudio -o audio_portaudio_guile.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/audio_portaudio.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/audio_portaudio.Std \ - > $(DEPDIR)/audio_portaudio.Sd; \ - $(RM) $(DEPDIR)/audio_portaudio.Std; \ - $(MV) $(DEPDIR)/audio_portaudio.Sd $(DEPDIR)/audio_portaudio.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/audio_portaudio.S*; exit 1; \ - fi; - touch $(DEPDIR)/audio_portaudio-generate-guile-stamp - -$(DEPDIR)/audio_portaudio-generate-python-stamp: -## This rule will be called only by the first process issuing the -## above rule to succeed in creating the lock directory, after -## removing the actual stamp file in order to guarantee that MAKE will -## execute this rule. -## -## Call SWIG to generate the various output files; special -## post-processing on 'mingw32' host OS for the dependency file. -## - if $(SWIG) $(STD_SWIG_PYTHON_ARGS) $(audio_portaudio_swig_args) \ - -MD -MF $(DEPDIR)/audio_portaudio.Std \ - -module audio_portaudio -o audio_portaudio_python.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/audio_portaudio.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/audio_portaudio.Std \ - > $(DEPDIR)/audio_portaudio.Sd; \ - $(RM) $(DEPDIR)/audio_portaudio.Std; \ - $(MV) $(DEPDIR)/audio_portaudio.Sd $(DEPDIR)/audio_portaudio.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/audio_portaudio.S*; exit 1; \ - fi; -## -## Mess with the SWIG output .Std dependency file, to create a -## dependecy file valid for the input .i file: Basically, simulate the -## dependency file created for libraries by GNU's libtool for C++, -## where all of the dependencies for the target are first listed, then -## each individual dependency is listed as a target with no further -## dependencies. -## -## (1) remove the current dependency file -## - $(RM) $(DEPDIR)/audio_portaudio.d -## -## (2) Copy the whole SWIG file: -## - cp $(DEPDIR)/audio_portaudio.Std $(DEPDIR)/audio_portaudio.d -## -## (3) all a carriage return to the end of the dependency file. -## - echo "" >> $(DEPDIR)/audio_portaudio.d -## -## (4) from the SWIG file, remove the first line (the target); remove -## trailing " \" and " " from each line. Append ":" to each line, -## followed by 2 carriage returns, then append this to the end of -## the dependency file. -## - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/audio_portaudio.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/audio_portaudio.d -## -## (5) remove the SWIG-generated file -## - $(RM) $(DEPDIR)/audio_portaudio.Std -## -## Create the stamp for this filename generation, to signal success in -## executing this rule; allows other threads waiting on this process -## to continue. -## - touch $(DEPDIR)/audio_portaudio-generate-python-stamp +endif # end of GUILE -# KLUDGE: Force runtime include of a SWIG dependency file. This is -# not guaranteed to be portable, but will probably work. If it works, -# we have accurate dependencies for our swig stuff, which is good. +python/audio_portaudio.lo: +audio_portaudio.lo: audio_portaudio.py audio_portaudio.scm +audio_portaudio.py: audio_portaudio.i -@am__include@ @am__quote@./$(DEPDIR)/audio_portaudio.d@am__quote@ diff --git a/gr-audio-windows/src/Makefile.swig.gen b/gr-audio-windows/src/Makefile.swig.gen index cf550682e..1573de3c1 100644 --- a/gr-audio-windows/src/Makefile.swig.gen +++ b/gr-audio-windows/src/Makefile.swig.gen @@ -38,6 +38,16 @@ audio_windows_pylibdir_category ?= $(audio_windows_pythondir_category) audio_windows_pythondir = $(pythondir)/$(audio_windows_pythondir_category) audio_windows_pylibdir = $(pyexecdir)/$(audio_windows_pylibdir_category) +# The .so libraries for the guile modules get installed whereever guile +# is installed, usually /usr/lib/guile/gnuradio/ +# FIXME: determince whether these should be installed with gnuradio. +audio_windows_scmlibdir = @GUILE_PKLIBDIR@/gnuradio + +# The scm files for the guile modules get installed where ever guile +# is installed, usually /usr/share/guile/site/audio_windows +# FIXME: determince whether these should be installed with gnuradio. +audio_windows_scmdir = @GUILE_PKDATADIR@/gnuradio + ## SWIG headers are always installed into the same directory. audio_windows_swigincludedir = $(swigincludedir) @@ -72,7 +82,12 @@ MOSTLYCLEANFILES += $(DEPDIR)/*.S* ## .h file is sometimes built, but not always ... so that one has to ## be added manually by the including Makefile.am . -swig_built_sources += audio_windows.py audio_windows_python.cc +# generating the py or scm file also generates the .cc or .h files, +# but dependencies work better without the .cc ort .h files listed. +swig_built_sources += audio_windows.py +if GUILE +swig_built_sources += audio_windows.scm +endif ## Various SWIG variables. These can be overloaded in the including ## Makefile.am by setting the variable value there, then including @@ -83,208 +98,50 @@ audio_windows_swiginclude_HEADERS = \ $(audio_windows_swiginclude_headers) audio_windows_pylib_LTLIBRARIES = \ - _audio_windows_python.la + _audio_windows.la -_audio_windows_python_la_SOURCES = \ - audio_windows_python.cc \ +_audio_windows_la_SOURCES = \ + python/audio_windows.cc \ $(audio_windows_la_swig_sources) -_audio_windows_python_la_LIBADD = \ +_audio_windows_la_LIBADD = \ $(STD_SWIG_LA_LIB_ADD) \ $(audio_windows_la_swig_libadd) -_audio_windows_python_la_LDFLAGS = \ +# _audio_windows_la_DEPENDENCIES = python/audio_windows.lo + +_audio_windows_la_LDFLAGS = \ $(STD_SWIG_LA_LD_FLAGS) \ $(audio_windows_la_swig_ldflags) -_audio_windows_python_la_CXXFLAGS = \ +_audio_windows_la_CXXFLAGS = \ $(STD_SWIG_CXX_FLAGS) \ + -I$(top_builddir) \ $(audio_windows_la_swig_cxxflags) audio_windows_python_PYTHON = \ audio_windows.py \ - $(audio_windows_python) + $(audio_windows) if GUILE -audio_windows_pylib_LTLIBRARIES += _audio_windows_guile.la - -_audio_windows_guile_la_SOURCES = \ - audio_windows_guile.cc \ +audio_windows_scmlib_LTLIBRARIES = audio_windows_guile.la +audio_windows_guile_la_SOURCES = \ + guile/audio_windows.cc \ $(audio_windows_la_swig_sources) +audio_windows_scm_DATA = audio_windows.scm # Guile can use the same flags as python does -_audio_windows_guile_la_LIBADD = $(_audio_windows_python_la_LIBADD) -_audio_windows_guile_la_LDFLAGS = $(_audio_windows_python_la_LDFLAGS) -_audio_windows_guile_la_CXXFLAGS = $(_audio_windows_python_la_CXXFLAGS) - -endif # end of GUILE +audio_windows_guile_la_LIBADD = $(_audio_windows_la_LIBADD) +audio_windows_guile_la_LDFLAGS = $(_audio_windows_la_LDFLAGS) +audio_windows_guile_la_CXXFLAGS = $(_audio_windows_la_CXXFLAGS) -## Entry rule for running SWIG +guile/audio_windows.lo: audio_windows.lo +audio_windows.scm: audio_windows.i -audio_windows.h audio_windows.py audio_windows_python.cc: audio_windows.i -## This rule will get called only when MAKE decides that one of the -## targets needs to be created or re-created, because: -## -## * The .i file is newer than any or all of the generated files; -## -## * Any or all of the .cc, .h, or .py files does not exist and is -## needed (in the case this file is not needed, the rule for it is -## ignored); or -## -## * Some SWIG-based dependecy of the .cc file isn't met and hence the -## .cc file needs be be regenerated. Explanation: Because MAKE -## knows how to handle dependencies for .cc files (regardless of -## their name or extension), then the .cc file is used as a target -## instead of the .i file -- but with the dependencies of the .i -## file. It is this last reason why the line: -## -## if test -f $@; then :; else -## -## cannot be used in this case: If a .i file dependecy is not met, -## then the .cc file needs to be rebuilt. But if the stamp is newer -## than the .cc file, and the .cc file exists, then in the original -## version (with the 'test' above) the internal MAKE call will not -## be issued and hence the .cc file will not be rebuilt. -## -## Once execution gets to here, it should always proceed no matter the -## state of a stamp (as discussed in link above). The -## $(DEPDIR)/audio_windows-generate stuff is used to allow for parallel -## builds to "do the right thing". The stamp has no relationship with -## either the target files or dependency file; it is used solely for -## the protection of multiple builds during a given call to MAKE. -## -## Catch signals SIGHUP (1), SIGINT (2), SIGPIPE (13), and SIGTERM -## (15). At a caught signal, the quoted command will be issued before -## exiting. In this case, remove any stamp, whether temporary of not. -## The trap is valid until the process exits; the process includes all -## commands appended via "\"s. -## - trap 'rm -rf $(DEPDIR)/audio_windows-generate-*' 1 2 13 15; \ -## -## Create a temporary directory, which acts as a lock. The first -## process to create the directory will succeed and issue the MAKE -## command to do the actual work, while all subsequent processes will -## fail -- leading them to wait for the first process to finish. -## - if mkdir $(DEPDIR)/audio_windows-generate-lock 2>/dev/null; then \ -## -## This code is being executed by the first process to succeed in -## creating the directory lock. -## -## Remove the stamp associated with this filename. -## - rm -f $(DEPDIR)/audio_windows-generate-*stamp; \ -## -## Tell MAKE to run the rule for creating this stamp. -## - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/audio_windows-generate-python-stamp WHAT=$<; \ - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/audio_windows-generate-guile-stamp WHAT=$<; \ -## -## Now that the .cc, .h, and .py files have been (re)created from the -## .i file, future checking of this rule during the same MAKE -## execution will come back that the rule doesn't need to be executed -## because none of the conditions mentioned at the start of this rule -## will be positive. Remove the the directory lock, which frees up -## any waiting process(es) to continue. -## - rmdir $(DEPDIR)/audio_windows-generate-lock; \ - else \ -## -## This code is being executed by any follower processes while the -## directory lock is in place. -## -## Wait until the first process is done, testing once per second. -## - while test -d $(DEPDIR)/audio_windows-generate-lock; do \ - sleep 1; \ - done; \ -## -## Succeed if and only if the first process succeeded; exit this -## process returning the status of the generated stamp. -## - test -f $(DEPDIR)/audio_windows-generate-python-stamp; \ - exit $$?; \ - fi; - -$(DEPDIR)/audio_windows-generate-guile-stamp: - if $(SWIG) $(STD_SWIG_GUILE_ARGS) $(audio_windows_swig_args) \ - -MD -MF $(DEPDIR)/audio_windows.Std \ - -module audio_windows -o audio_windows_guile.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/audio_windows.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/audio_windows.Std \ - > $(DEPDIR)/audio_windows.Sd; \ - $(RM) $(DEPDIR)/audio_windows.Std; \ - $(MV) $(DEPDIR)/audio_windows.Sd $(DEPDIR)/audio_windows.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/audio_windows.S*; exit 1; \ - fi; - touch $(DEPDIR)/audio_windows-generate-guile-stamp - -$(DEPDIR)/audio_windows-generate-python-stamp: -## This rule will be called only by the first process issuing the -## above rule to succeed in creating the lock directory, after -## removing the actual stamp file in order to guarantee that MAKE will -## execute this rule. -## -## Call SWIG to generate the various output files; special -## post-processing on 'mingw32' host OS for the dependency file. -## - if $(SWIG) $(STD_SWIG_PYTHON_ARGS) $(audio_windows_swig_args) \ - -MD -MF $(DEPDIR)/audio_windows.Std \ - -module audio_windows -o audio_windows_python.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/audio_windows.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/audio_windows.Std \ - > $(DEPDIR)/audio_windows.Sd; \ - $(RM) $(DEPDIR)/audio_windows.Std; \ - $(MV) $(DEPDIR)/audio_windows.Sd $(DEPDIR)/audio_windows.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/audio_windows.S*; exit 1; \ - fi; -## -## Mess with the SWIG output .Std dependency file, to create a -## dependecy file valid for the input .i file: Basically, simulate the -## dependency file created for libraries by GNU's libtool for C++, -## where all of the dependencies for the target are first listed, then -## each individual dependency is listed as a target with no further -## dependencies. -## -## (1) remove the current dependency file -## - $(RM) $(DEPDIR)/audio_windows.d -## -## (2) Copy the whole SWIG file: -## - cp $(DEPDIR)/audio_windows.Std $(DEPDIR)/audio_windows.d -## -## (3) all a carriage return to the end of the dependency file. -## - echo "" >> $(DEPDIR)/audio_windows.d -## -## (4) from the SWIG file, remove the first line (the target); remove -## trailing " \" and " " from each line. Append ":" to each line, -## followed by 2 carriage returns, then append this to the end of -## the dependency file. -## - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/audio_windows.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/audio_windows.d -## -## (5) remove the SWIG-generated file -## - $(RM) $(DEPDIR)/audio_windows.Std -## -## Create the stamp for this filename generation, to signal success in -## executing this rule; allows other threads waiting on this process -## to continue. -## - touch $(DEPDIR)/audio_windows-generate-python-stamp +endif # end of GUILE -# KLUDGE: Force runtime include of a SWIG dependency file. This is -# not guaranteed to be portable, but will probably work. If it works, -# we have accurate dependencies for our swig stuff, which is good. +python/audio_windows.lo: +audio_windows.lo: audio_windows.py audio_windows.scm +audio_windows.py: audio_windows.i -@am__include@ @am__quote@./$(DEPDIR)/audio_windows.d@am__quote@ diff --git a/gr-cvsd-vocoder/src/lib/Makefile.swig.gen b/gr-cvsd-vocoder/src/lib/Makefile.swig.gen index 1a3343938..9ddd6c5d1 100644 --- a/gr-cvsd-vocoder/src/lib/Makefile.swig.gen +++ b/gr-cvsd-vocoder/src/lib/Makefile.swig.gen @@ -82,9 +82,11 @@ MOSTLYCLEANFILES += $(DEPDIR)/*.S* ## .h file is sometimes built, but not always ... so that one has to ## be added manually by the including Makefile.am . -swig_built_sources += cvsd_vocoder.py cvsd_vocoder_python.cc +# generating the py or scm file also generates the .cc or .h files, +# but dependencies work better without the .cc ort .h files listed. +swig_built_sources += cvsd_vocoder.py if GUILE -swig_built_sources += cvsd_vocoder.scm cvsd_vocoder_guile.cc +swig_built_sources += cvsd_vocoder.scm endif ## Various SWIG variables. These can be overloaded in the including @@ -96,243 +98,50 @@ cvsd_vocoder_swiginclude_HEADERS = \ $(cvsd_vocoder_swiginclude_headers) cvsd_vocoder_pylib_LTLIBRARIES = \ - _cvsd_vocoder_python.la + _cvsd_vocoder.la -_cvsd_vocoder_python_la_SOURCES = \ - cvsd_vocoder_python.cc \ +_cvsd_vocoder_la_SOURCES = \ + python/cvsd_vocoder.cc \ $(cvsd_vocoder_la_swig_sources) -_cvsd_vocoder_python_la_LIBADD = \ +_cvsd_vocoder_la_LIBADD = \ $(STD_SWIG_LA_LIB_ADD) \ $(cvsd_vocoder_la_swig_libadd) -_cvsd_vocoder_python_la_LDFLAGS = \ +# _cvsd_vocoder_la_DEPENDENCIES = python/cvsd_vocoder.lo + +_cvsd_vocoder_la_LDFLAGS = \ $(STD_SWIG_LA_LD_FLAGS) \ $(cvsd_vocoder_la_swig_ldflags) -_cvsd_vocoder_python_la_CXXFLAGS = \ +_cvsd_vocoder_la_CXXFLAGS = \ $(STD_SWIG_CXX_FLAGS) \ + -I$(top_builddir) \ $(cvsd_vocoder_la_swig_cxxflags) cvsd_vocoder_python_PYTHON = \ cvsd_vocoder.py \ - $(cvsd_vocoder_python) + $(cvsd_vocoder) if GUILE -cvsd_vocoder_scmlib_LTLIBRARIES = _cvsd_vocoder_guile.la -_cvsd_vocoder_guile_la_SOURCES = \ - cvsd_vocoder_guile.cc \ +cvsd_vocoder_scmlib_LTLIBRARIES = cvsd_vocoder_guile.la +cvsd_vocoder_guile_la_SOURCES = \ + guile/cvsd_vocoder.cc \ $(cvsd_vocoder_la_swig_sources) cvsd_vocoder_scm_DATA = cvsd_vocoder.scm # Guile can use the same flags as python does -_cvsd_vocoder_guile_la_LIBADD = $(_cvsd_vocoder_python_la_LIBADD) -_cvsd_vocoder_guile_la_LDFLAGS = $(_cvsd_vocoder_python_la_LDFLAGS) -_cvsd_vocoder_guile_la_CXXFLAGS = $(_cvsd_vocoder_python_la_CXXFLAGS) - -endif # end of GUILE +cvsd_vocoder_guile_la_LIBADD = $(_cvsd_vocoder_la_LIBADD) +cvsd_vocoder_guile_la_LDFLAGS = $(_cvsd_vocoder_la_LDFLAGS) +cvsd_vocoder_guile_la_CXXFLAGS = $(_cvsd_vocoder_la_CXXFLAGS) -## Entry rule for running SWIG - -# $(python_deps) $(guile_deps): cvsd_vocoder.i -cvsd_vocoder_python.h cvsd_vocoder.py cvsd_vocoder_python.cc: cvsd_vocoder.i -## This rule will get called only when MAKE decides that one of the -## targets needs to be created or re-created, because: -## -## * The .i file is newer than any or all of the generated files; -## -## * Any or all of the .cc, .h, or .py files does not exist and is -## needed (in the case this file is not needed, the rule for it is -## ignored); or -## -## * Some SWIG-based dependecy of the .cc file isn't met and hence the -## .cc file needs be be regenerated. Explanation: Because MAKE -## knows how to handle dependencies for .cc files (regardless of -## their name or extension), then the .cc file is used as a target -## instead of the .i file -- but with the dependencies of the .i -## file. It is this last reason why the line: -## -## if test -f $@; then :; else -## -## cannot be used in this case: If a .i file dependecy is not met, -## then the .cc file needs to be rebuilt. But if the stamp is newer -## than the .cc file, and the .cc file exists, then in the original -## version (with the 'test' above) the internal MAKE call will not -## be issued and hence the .cc file will not be rebuilt. -## -## Once execution gets to here, it should always proceed no matter the -## state of a stamp (as discussed in link above). The -## $(DEPDIR)/cvsd_vocoder-generate stuff is used to allow for parallel -## builds to "do the right thing". The stamp has no relationship with -## either the target files or dependency file; it is used solely for -## the protection of multiple builds during a given call to MAKE. -## -## Catch signals SIGHUP (1), SIGINT (2), SIGPIPE (13), and SIGTERM -## (15). At a caught signal, the quoted command will be issued before -## exiting. In this case, remove any stamp, whether temporary of not. -## The trap is valid until the process exits; the process includes all -## commands appended via "\"s. -## - trap 'rm -rf $(DEPDIR)/cvsd_vocoder-generate-*' 1 2 13 15; \ -## -## Create a temporary directory, which acts as a lock. The first -## process to create the directory will succeed and issue the MAKE -## command to do the actual work, while all subsequent processes will -## fail -- leading them to wait for the first process to finish. -## - if mkdir $(DEPDIR)/cvsd_vocoder-generate-lock 2>/dev/null; then \ -## -## This code is being executed by the first process to succeed in -## creating the directory lock. -## -## Remove the stamp associated with this filename. -## - rm -f $(DEPDIR)/cvsd_vocoder-generate-*stamp; \ -## -## Tell MAKE to run the rule for creating this stamp. -## - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/cvsd_vocoder-generate-python-stamp WHAT=$<; \ -## -## Now that the .cc, .h, and .py files have been (re)created from the -## .i file, future checking of this rule during the same MAKE -## execution will come back that the rule doesn't need to be executed -## because none of the conditions mentioned at the start of this rule -## will be positive. Remove the the directory lock, which frees up -## any waiting process(es) to continue. -## - rmdir $(DEPDIR)/cvsd_vocoder-generate-lock; \ - else \ -## -## This code is being executed by any follower processes while the -## directory lock is in place. -## -## Wait until the first process is done, testing once per second. -## - while test -d $(DEPDIR)/cvsd_vocoder-generate-lock; do \ - sleep 1; \ - done; \ -## -## Succeed if and only if the first process succeeded; exit this -## process returning the status of the generated stamp. -## - test -f $(DEPDIR)/cvsd_vocoder-generate-python-stamp; \ - exit $$?; \ - fi; +guile/cvsd_vocoder.lo: cvsd_vocoder.lo +cvsd_vocoder.scm: cvsd_vocoder.i -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. -cvsd_vocoder_guile.h cvsd_vocoder.scm cvsd_vocoder_guile.cc: cvsd_vocoder.i -if GUILE - trap 'rm -rf $(DEPDIR)/cvsd_vocoder-generate-*' 1 2 13 15; \ - if mkdir $(DEPDIR)/cvsd_vocoder-generate-lock 2>/dev/null; then \ - rm -f $(DEPDIR)/cvsd_vocoder-generate-*stamp; \ - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/cvsd_vocoder-generate-guile-stamp WHAT=$<; \ - rmdir $(DEPDIR)/cvsd_vocoder-generate-lock; \ - else \ - while test -d $(DEPDIR)/cvsd_vocoder-generate-lock; do \ - sleep 1; \ - done; \ - test -f $(DEPDIR)/cvsd_vocoder-generate-guile-stamp; \ - exit $$?; \ - fi; endif # end of GUILE -$(DEPDIR)/cvsd_vocoder-generate-python-stamp: -## This rule will be called only by the first process issuing the -## above rule to succeed in creating the lock directory, after -## removing the actual stamp file in order to guarantee that MAKE will -## execute this rule. -## -## Call SWIG to generate the various output files; special -## post-processing on 'mingw32' host OS for the dependency file. -## - if $(SWIG) $(STD_SWIG_PYTHON_ARGS) $(cvsd_vocoder_swig_args) \ - -MD -MF $(DEPDIR)/cvsd_vocoder_python.Std \ - -module cvsd_vocoder -o cvsd_vocoder_python.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/cvsd_vocoder_python.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/cvsd_vocoder_python.Std \ - > $(DEPDIR)/cvsd_vocoder_python.Sd; \ - $(RM) $(DEPDIR)/cvsd_vocoder_python.Std; \ - $(MV) $(DEPDIR)/cvsd_vocoder_python.Sd $(DEPDIR)/cvsd_vocoder_python.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/cvsd_vocoder_python.S*; exit 1; \ - fi; -## -## Mess with the SWIG output .Std dependency file, to create a -## dependecy file valid for the input .i file: Basically, simulate the -## dependency file created for libraries by GNU's libtool for C++, -## where all of the dependencies for the target are first listed, then -## each individual dependency is listed as a target with no further -## dependencies. -## -## (1) remove the current dependency file -## - $(RM) $(DEPDIR)/cvsd_vocoder_python.d -## -## (2) Copy the whole SWIG file: -## - cp $(DEPDIR)/cvsd_vocoder_python.Std $(DEPDIR)/cvsd_vocoder_python.d -## -## (3) all a carriage return to the end of the dependency file. -## - echo "" >> $(DEPDIR)/cvsd_vocoder_python.d -## -## (4) from the SWIG file, remove the first line (the target); remove -## trailing " \" and " " from each line. Append ":" to each line, -## followed by 2 carriage returns, then append this to the end of -## the dependency file. -## - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/cvsd_vocoder_python.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/cvsd_vocoder_python.d -## -## (5) remove the SWIG-generated file -## - $(RM) $(DEPDIR)/cvsd_vocoder_python.Std -## -## Create the stamp for this filename generation, to signal success in -## executing this rule; allows other threads waiting on this process -## to continue. -## - touch $(DEPDIR)/cvsd_vocoder-generate-python-stamp - -# KLUDGE: Force runtime include of a SWIG dependency file. This is -# not guaranteed to be portable, but will probably work. If it works, -# we have accurate dependencies for our swig stuff, which is good. - -@am__include@ @am__quote@./$(DEPDIR)/cvsd_vocoder_python.d@am__quote@ - -$(DEPDIR)/cvsd_vocoder-generate-guile-stamp: -if GUILE -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. - if $(SWIG) $(STD_SWIG_GUILE_ARGS) $(cvsd_vocoder_swig_args) \ - -MD -MF $(DEPDIR)/cvsd_vocoder_guile.Std \ - -module cvsd_vocoder -o cvsd_vocoder_guile.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/cvsd_vocoder_guile.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/cvsd_vocoder_guile.Std \ - > $(DEPDIR)/cvsd_vocoder_guile.Sd; \ - $(RM) $(DEPDIR)/cvsd_vocoder_guile.Std; \ - $(MV) $(DEPDIR)/cvsd_vocoder_guile.Sd $(DEPDIR)/cvsd_vocoder_guile.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/cvsd_vocoder_guile.S*; exit 1; \ - fi; - touch $(DEPDIR)/cvsd_vocoder-generate-guile-stamp - $(RM) $(DEPDIR)/cvsd_vocoder_guile.d - cp $(DEPDIR)/cvsd_vocoder_guile.Std $(DEPDIR)/cvsd_vocoder_guile.d - echo "" >> $(DEPDIR)/cvsd_vocoder_guile.d - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/cvsd_vocoder_guile.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/cvsd_vocoder_guile.d - $(RM) $(DEPDIR)/cvsd_vocoder_guile.Std - touch $(DEPDIR)/cvsd_vocoder-generate-guile-stamp -else - touch $(DEPDIR)/cvsd_vocoder-generate-guile-stamp -endif - -@am__include@ @am__quote@./$(DEPDIR)/cvsd_vocoder_guile.d@am__quote@ +python/cvsd_vocoder.lo: +cvsd_vocoder.lo: cvsd_vocoder.py cvsd_vocoder.scm +cvsd_vocoder.py: cvsd_vocoder.i -#gnuradio_swig_py_runtime_python.h: gnuradio_swig_py_runtime.i diff --git a/gr-gsm-fr-vocoder/src/lib/Makefile.am b/gr-gsm-fr-vocoder/src/lib/Makefile.am index 97d6fc306..dccfb31f2 100644 --- a/gr-gsm-fr-vocoder/src/lib/Makefile.am +++ b/gr-gsm-fr-vocoder/src/lib/Makefile.am @@ -34,7 +34,8 @@ lib_LTLIBRARIES = libgnuradio-gsm-fr-vocoder.la libgnuradio_gsm_fr_vocoder_la_SOURCES = \ gsm_fr_decode_ps.cc \ - gsm_fr_encode_sp.cc + gsm_fr_encode_sp.cc \ + python/gsm_full_rate.cc libgnuradio_gsm_fr_vocoder_la_LIBADD = \ $(GNURADIO_CORE_LA) \ diff --git a/gr-gsm-fr-vocoder/src/lib/Makefile.swig.gen b/gr-gsm-fr-vocoder/src/lib/Makefile.swig.gen index 32bfa20c7..412b103d7 100644 --- a/gr-gsm-fr-vocoder/src/lib/Makefile.swig.gen +++ b/gr-gsm-fr-vocoder/src/lib/Makefile.swig.gen @@ -82,9 +82,11 @@ MOSTLYCLEANFILES += $(DEPDIR)/*.S* ## .h file is sometimes built, but not always ... so that one has to ## be added manually by the including Makefile.am . -swig_built_sources += gsm_full_rate.py gsm_full_rate_python.cc +# generating the py or scm file also generates the .cc or .h files, +# but dependencies work better without the .cc ort .h files listed. +swig_built_sources += gsm_full_rate.py if GUILE -swig_built_sources += gsm_full_rate.scm gsm_full_rate_guile.cc +swig_built_sources += gsm_full_rate.scm endif ## Various SWIG variables. These can be overloaded in the including @@ -96,243 +98,50 @@ gsm_full_rate_swiginclude_HEADERS = \ $(gsm_full_rate_swiginclude_headers) gsm_full_rate_pylib_LTLIBRARIES = \ - _gsm_full_rate_python.la + _gsm_full_rate.la -_gsm_full_rate_python_la_SOURCES = \ - gsm_full_rate_python.cc \ +_gsm_full_rate_la_SOURCES = \ + python/gsm_full_rate.cc \ $(gsm_full_rate_la_swig_sources) -_gsm_full_rate_python_la_LIBADD = \ +_gsm_full_rate_la_LIBADD = \ $(STD_SWIG_LA_LIB_ADD) \ $(gsm_full_rate_la_swig_libadd) -_gsm_full_rate_python_la_LDFLAGS = \ +# _gsm_full_rate_la_DEPENDENCIES = python/gsm_full_rate.lo + +_gsm_full_rate_la_LDFLAGS = \ $(STD_SWIG_LA_LD_FLAGS) \ $(gsm_full_rate_la_swig_ldflags) -_gsm_full_rate_python_la_CXXFLAGS = \ +_gsm_full_rate_la_CXXFLAGS = \ $(STD_SWIG_CXX_FLAGS) \ + -I$(top_builddir) \ $(gsm_full_rate_la_swig_cxxflags) gsm_full_rate_python_PYTHON = \ gsm_full_rate.py \ - $(gsm_full_rate_python) + $(gsm_full_rate) if GUILE -gsm_full_rate_scmlib_LTLIBRARIES = _gsm_full_rate_guile.la -_gsm_full_rate_guile_la_SOURCES = \ - gsm_full_rate_guile.cc \ +gsm_full_rate_scmlib_LTLIBRARIES = gsm_full_rate_guile.la +gsm_full_rate_guile_la_SOURCES = \ + guile/gsm_full_rate.cc \ $(gsm_full_rate_la_swig_sources) gsm_full_rate_scm_DATA = gsm_full_rate.scm # Guile can use the same flags as python does -_gsm_full_rate_guile_la_LIBADD = $(_gsm_full_rate_python_la_LIBADD) -_gsm_full_rate_guile_la_LDFLAGS = $(_gsm_full_rate_python_la_LDFLAGS) -_gsm_full_rate_guile_la_CXXFLAGS = $(_gsm_full_rate_python_la_CXXFLAGS) - -endif # end of GUILE +gsm_full_rate_guile_la_LIBADD = $(_gsm_full_rate_la_LIBADD) +gsm_full_rate_guile_la_LDFLAGS = $(_gsm_full_rate_la_LDFLAGS) +gsm_full_rate_guile_la_CXXFLAGS = $(_gsm_full_rate_la_CXXFLAGS) -## Entry rule for running SWIG - -# $(python_deps) $(guile_deps): gsm_full_rate.i -gsm_full_rate_python.h gsm_full_rate.py gsm_full_rate_python.cc: gsm_full_rate.i -## This rule will get called only when MAKE decides that one of the -## targets needs to be created or re-created, because: -## -## * The .i file is newer than any or all of the generated files; -## -## * Any or all of the .cc, .h, or .py files does not exist and is -## needed (in the case this file is not needed, the rule for it is -## ignored); or -## -## * Some SWIG-based dependecy of the .cc file isn't met and hence the -## .cc file needs be be regenerated. Explanation: Because MAKE -## knows how to handle dependencies for .cc files (regardless of -## their name or extension), then the .cc file is used as a target -## instead of the .i file -- but with the dependencies of the .i -## file. It is this last reason why the line: -## -## if test -f $@; then :; else -## -## cannot be used in this case: If a .i file dependecy is not met, -## then the .cc file needs to be rebuilt. But if the stamp is newer -## than the .cc file, and the .cc file exists, then in the original -## version (with the 'test' above) the internal MAKE call will not -## be issued and hence the .cc file will not be rebuilt. -## -## Once execution gets to here, it should always proceed no matter the -## state of a stamp (as discussed in link above). The -## $(DEPDIR)/gsm_full_rate-generate stuff is used to allow for parallel -## builds to "do the right thing". The stamp has no relationship with -## either the target files or dependency file; it is used solely for -## the protection of multiple builds during a given call to MAKE. -## -## Catch signals SIGHUP (1), SIGINT (2), SIGPIPE (13), and SIGTERM -## (15). At a caught signal, the quoted command will be issued before -## exiting. In this case, remove any stamp, whether temporary of not. -## The trap is valid until the process exits; the process includes all -## commands appended via "\"s. -## - trap 'rm -rf $(DEPDIR)/gsm_full_rate-generate-*' 1 2 13 15; \ -## -## Create a temporary directory, which acts as a lock. The first -## process to create the directory will succeed and issue the MAKE -## command to do the actual work, while all subsequent processes will -## fail -- leading them to wait for the first process to finish. -## - if mkdir $(DEPDIR)/gsm_full_rate-generate-lock 2>/dev/null; then \ -## -## This code is being executed by the first process to succeed in -## creating the directory lock. -## -## Remove the stamp associated with this filename. -## - rm -f $(DEPDIR)/gsm_full_rate-generate-*stamp; \ -## -## Tell MAKE to run the rule for creating this stamp. -## - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/gsm_full_rate-generate-python-stamp WHAT=$<; \ -## -## Now that the .cc, .h, and .py files have been (re)created from the -## .i file, future checking of this rule during the same MAKE -## execution will come back that the rule doesn't need to be executed -## because none of the conditions mentioned at the start of this rule -## will be positive. Remove the the directory lock, which frees up -## any waiting process(es) to continue. -## - rmdir $(DEPDIR)/gsm_full_rate-generate-lock; \ - else \ -## -## This code is being executed by any follower processes while the -## directory lock is in place. -## -## Wait until the first process is done, testing once per second. -## - while test -d $(DEPDIR)/gsm_full_rate-generate-lock; do \ - sleep 1; \ - done; \ -## -## Succeed if and only if the first process succeeded; exit this -## process returning the status of the generated stamp. -## - test -f $(DEPDIR)/gsm_full_rate-generate-python-stamp; \ - exit $$?; \ - fi; +guile/gsm_full_rate.lo: gsm_full_rate.lo +gsm_full_rate.scm: gsm_full_rate.i -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. -gsm_full_rate_guile.h gsm_full_rate.scm gsm_full_rate_guile.cc: gsm_full_rate.i -if GUILE - trap 'rm -rf $(DEPDIR)/gsm_full_rate-generate-*' 1 2 13 15; \ - if mkdir $(DEPDIR)/gsm_full_rate-generate-lock 2>/dev/null; then \ - rm -f $(DEPDIR)/gsm_full_rate-generate-*stamp; \ - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/gsm_full_rate-generate-guile-stamp WHAT=$<; \ - rmdir $(DEPDIR)/gsm_full_rate-generate-lock; \ - else \ - while test -d $(DEPDIR)/gsm_full_rate-generate-lock; do \ - sleep 1; \ - done; \ - test -f $(DEPDIR)/gsm_full_rate-generate-guile-stamp; \ - exit $$?; \ - fi; endif # end of GUILE -$(DEPDIR)/gsm_full_rate-generate-python-stamp: -## This rule will be called only by the first process issuing the -## above rule to succeed in creating the lock directory, after -## removing the actual stamp file in order to guarantee that MAKE will -## execute this rule. -## -## Call SWIG to generate the various output files; special -## post-processing on 'mingw32' host OS for the dependency file. -## - if $(SWIG) $(STD_SWIG_PYTHON_ARGS) $(gsm_full_rate_swig_args) \ - -MD -MF $(DEPDIR)/gsm_full_rate_python.Std \ - -module gsm_full_rate -o gsm_full_rate_python.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/gsm_full_rate_python.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/gsm_full_rate_python.Std \ - > $(DEPDIR)/gsm_full_rate_python.Sd; \ - $(RM) $(DEPDIR)/gsm_full_rate_python.Std; \ - $(MV) $(DEPDIR)/gsm_full_rate_python.Sd $(DEPDIR)/gsm_full_rate_python.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/gsm_full_rate_python.S*; exit 1; \ - fi; -## -## Mess with the SWIG output .Std dependency file, to create a -## dependecy file valid for the input .i file: Basically, simulate the -## dependency file created for libraries by GNU's libtool for C++, -## where all of the dependencies for the target are first listed, then -## each individual dependency is listed as a target with no further -## dependencies. -## -## (1) remove the current dependency file -## - $(RM) $(DEPDIR)/gsm_full_rate_python.d -## -## (2) Copy the whole SWIG file: -## - cp $(DEPDIR)/gsm_full_rate_python.Std $(DEPDIR)/gsm_full_rate_python.d -## -## (3) all a carriage return to the end of the dependency file. -## - echo "" >> $(DEPDIR)/gsm_full_rate_python.d -## -## (4) from the SWIG file, remove the first line (the target); remove -## trailing " \" and " " from each line. Append ":" to each line, -## followed by 2 carriage returns, then append this to the end of -## the dependency file. -## - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/gsm_full_rate_python.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/gsm_full_rate_python.d -## -## (5) remove the SWIG-generated file -## - $(RM) $(DEPDIR)/gsm_full_rate_python.Std -## -## Create the stamp for this filename generation, to signal success in -## executing this rule; allows other threads waiting on this process -## to continue. -## - touch $(DEPDIR)/gsm_full_rate-generate-python-stamp - -# KLUDGE: Force runtime include of a SWIG dependency file. This is -# not guaranteed to be portable, but will probably work. If it works, -# we have accurate dependencies for our swig stuff, which is good. - -@am__include@ @am__quote@./$(DEPDIR)/gsm_full_rate_python.d@am__quote@ - -$(DEPDIR)/gsm_full_rate-generate-guile-stamp: -if GUILE -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. - if $(SWIG) $(STD_SWIG_GUILE_ARGS) $(gsm_full_rate_swig_args) \ - -MD -MF $(DEPDIR)/gsm_full_rate_guile.Std \ - -module gsm_full_rate -o gsm_full_rate_guile.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/gsm_full_rate_guile.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/gsm_full_rate_guile.Std \ - > $(DEPDIR)/gsm_full_rate_guile.Sd; \ - $(RM) $(DEPDIR)/gsm_full_rate_guile.Std; \ - $(MV) $(DEPDIR)/gsm_full_rate_guile.Sd $(DEPDIR)/gsm_full_rate_guile.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/gsm_full_rate_guile.S*; exit 1; \ - fi; - touch $(DEPDIR)/gsm_full_rate-generate-guile-stamp - $(RM) $(DEPDIR)/gsm_full_rate_guile.d - cp $(DEPDIR)/gsm_full_rate_guile.Std $(DEPDIR)/gsm_full_rate_guile.d - echo "" >> $(DEPDIR)/gsm_full_rate_guile.d - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/gsm_full_rate_guile.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/gsm_full_rate_guile.d - $(RM) $(DEPDIR)/gsm_full_rate_guile.Std - touch $(DEPDIR)/gsm_full_rate-generate-guile-stamp -else - touch $(DEPDIR)/gsm_full_rate-generate-guile-stamp -endif - -@am__include@ @am__quote@./$(DEPDIR)/gsm_full_rate_guile.d@am__quote@ +python/gsm_full_rate.lo: +gsm_full_rate.lo: gsm_full_rate.py gsm_full_rate.scm +gsm_full_rate.py: gsm_full_rate.i -#gnuradio_swig_py_runtime_python.h: gnuradio_swig_py_runtime.i diff --git a/gr-msdd6000/src/Makefile.swig.gen b/gr-msdd6000/src/Makefile.swig.gen index a2052e754..557bff515 100644 --- a/gr-msdd6000/src/Makefile.swig.gen +++ b/gr-msdd6000/src/Makefile.swig.gen @@ -82,9 +82,11 @@ MOSTLYCLEANFILES += $(DEPDIR)/*.S* ## .h file is sometimes built, but not always ... so that one has to ## be added manually by the including Makefile.am . -swig_built_sources += msdd.py msdd_python.cc +# generating the py or scm file also generates the .cc or .h files, +# but dependencies work better without the .cc ort .h files listed. +swig_built_sources += msdd.py if GUILE -swig_built_sources += msdd.scm msdd_guile.cc +swig_built_sources += msdd.scm endif ## Various SWIG variables. These can be overloaded in the including @@ -96,245 +98,52 @@ msdd_swiginclude_HEADERS = \ $(msdd_swiginclude_headers) msdd_pylib_LTLIBRARIES = \ - _msdd_python.la + _msdd.la -_msdd_python_la_SOURCES = \ - msdd_python.cc \ +_msdd_la_SOURCES = \ + python/msdd.cc \ $(msdd_la_swig_sources) -_msdd_python_la_LIBADD = \ +_msdd_la_LIBADD = \ $(STD_SWIG_LA_LIB_ADD) \ $(msdd_la_swig_libadd) -_msdd_python_la_LDFLAGS = \ +# _msdd_la_DEPENDENCIES = python/msdd.lo + +_msdd_la_LDFLAGS = \ $(STD_SWIG_LA_LD_FLAGS) \ $(msdd_la_swig_ldflags) -_msdd_python_la_CXXFLAGS = \ +_msdd_la_CXXFLAGS = \ $(STD_SWIG_CXX_FLAGS) \ + -I$(top_builddir) \ $(msdd_la_swig_cxxflags) msdd_python_PYTHON = \ msdd.py \ - $(msdd_python) + $(msdd) if GUILE -msdd_scmlib_LTLIBRARIES = _msdd_guile.la -_msdd_guile_la_SOURCES = \ - msdd_guile.cc \ +msdd_scmlib_LTLIBRARIES = msdd_guile.la +msdd_guile_la_SOURCES = \ + guile/msdd.cc \ $(msdd_la_swig_sources) msdd_scm_DATA = msdd.scm # Guile can use the same flags as python does -_msdd_guile_la_LIBADD = $(_msdd_python_la_LIBADD) -_msdd_guile_la_LDFLAGS = $(_msdd_python_la_LDFLAGS) -_msdd_guile_la_CXXFLAGS = $(_msdd_python_la_CXXFLAGS) - -endif # end of GUILE +msdd_guile_la_LIBADD = $(_msdd_la_LIBADD) +msdd_guile_la_LDFLAGS = $(_msdd_la_LDFLAGS) +msdd_guile_la_CXXFLAGS = $(_msdd_la_CXXFLAGS) -## Entry rule for running SWIG - -# $(python_deps) $(guile_deps): msdd.i -msdd_python.h msdd.py msdd_python.cc: msdd.i -## This rule will get called only when MAKE decides that one of the -## targets needs to be created or re-created, because: -## -## * The .i file is newer than any or all of the generated files; -## -## * Any or all of the .cc, .h, or .py files does not exist and is -## needed (in the case this file is not needed, the rule for it is -## ignored); or -## -## * Some SWIG-based dependecy of the .cc file isn't met and hence the -## .cc file needs be be regenerated. Explanation: Because MAKE -## knows how to handle dependencies for .cc files (regardless of -## their name or extension), then the .cc file is used as a target -## instead of the .i file -- but with the dependencies of the .i -## file. It is this last reason why the line: -## -## if test -f $@; then :; else -## -## cannot be used in this case: If a .i file dependecy is not met, -## then the .cc file needs to be rebuilt. But if the stamp is newer -## than the .cc file, and the .cc file exists, then in the original -## version (with the 'test' above) the internal MAKE call will not -## be issued and hence the .cc file will not be rebuilt. -## -## Once execution gets to here, it should always proceed no matter the -## state of a stamp (as discussed in link above). The -## $(DEPDIR)/msdd-generate stuff is used to allow for parallel -## builds to "do the right thing". The stamp has no relationship with -## either the target files or dependency file; it is used solely for -## the protection of multiple builds during a given call to MAKE. -## -## Catch signals SIGHUP (1), SIGINT (2), SIGPIPE (13), and SIGTERM -## (15). At a caught signal, the quoted command will be issued before -## exiting. In this case, remove any stamp, whether temporary of not. -## The trap is valid until the process exits; the process includes all -## commands appended via "\"s. -## - trap 'rm -rf $(DEPDIR)/msdd-generate-*' 1 2 13 15; \ -## -## Create a temporary directory, which acts as a lock. The first -## process to create the directory will succeed and issue the MAKE -## command to do the actual work, while all subsequent processes will -## fail -- leading them to wait for the first process to finish. -## - if mkdir $(DEPDIR)/msdd-generate-lock 2>/dev/null; then \ -## -## This code is being executed by the first process to succeed in -## creating the directory lock. -## -## Remove the stamp associated with this filename. -## - rm -f $(DEPDIR)/msdd-generate-*stamp; \ -## -## Tell MAKE to run the rule for creating this stamp. -## - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/msdd-generate-python-stamp WHAT=$<; \ -## -## Now that the .cc, .h, and .py files have been (re)created from the -## .i file, future checking of this rule during the same MAKE -## execution will come back that the rule doesn't need to be executed -## because none of the conditions mentioned at the start of this rule -## will be positive. Remove the the directory lock, which frees up -## any waiting process(es) to continue. -## - rmdir $(DEPDIR)/msdd-generate-lock; \ - else \ -## -## This code is being executed by any follower processes while the -## directory lock is in place. -## -## Wait until the first process is done, testing once per second. -## - while test -d $(DEPDIR)/msdd-generate-lock; do \ - sleep 1; \ - done; \ -## -## Succeed if and only if the first process succeeded; exit this -## process returning the status of the generated stamp. -## - test -f $(DEPDIR)/msdd-generate-python-stamp; \ - exit $$?; \ - fi; +guile/msdd.lo: msdd.lo +msdd.scm: msdd.i -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. -msdd_guile.h msdd.scm msdd_guile.cc: msdd.i -if GUILE - trap 'rm -rf $(DEPDIR)/msdd-generate-*' 1 2 13 15; \ - if mkdir $(DEPDIR)/msdd-generate-lock 2>/dev/null; then \ - rm -f $(DEPDIR)/msdd-generate-*stamp; \ - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/msdd-generate-guile-stamp WHAT=$<; \ - rmdir $(DEPDIR)/msdd-generate-lock; \ - else \ - while test -d $(DEPDIR)/msdd-generate-lock; do \ - sleep 1; \ - done; \ - test -f $(DEPDIR)/msdd-generate-guile-stamp; \ - exit $$?; \ - fi; endif # end of GUILE -$(DEPDIR)/msdd-generate-python-stamp: -## This rule will be called only by the first process issuing the -## above rule to succeed in creating the lock directory, after -## removing the actual stamp file in order to guarantee that MAKE will -## execute this rule. -## -## Call SWIG to generate the various output files; special -## post-processing on 'mingw32' host OS for the dependency file. -## - if $(SWIG) $(STD_SWIG_PYTHON_ARGS) $(msdd_swig_args) \ - -MD -MF $(DEPDIR)/msdd_python.Std \ - -module msdd -o msdd_python.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/msdd_python.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/msdd_python.Std \ - > $(DEPDIR)/msdd_python.Sd; \ - $(RM) $(DEPDIR)/msdd_python.Std; \ - $(MV) $(DEPDIR)/msdd_python.Sd $(DEPDIR)/msdd_python.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/msdd_python.S*; exit 1; \ - fi; -## -## Mess with the SWIG output .Std dependency file, to create a -## dependecy file valid for the input .i file: Basically, simulate the -## dependency file created for libraries by GNU's libtool for C++, -## where all of the dependencies for the target are first listed, then -## each individual dependency is listed as a target with no further -## dependencies. -## -## (1) remove the current dependency file -## - $(RM) $(DEPDIR)/msdd_python.d -## -## (2) Copy the whole SWIG file: -## - cp $(DEPDIR)/msdd_python.Std $(DEPDIR)/msdd_python.d -## -## (3) all a carriage return to the end of the dependency file. -## - echo "" >> $(DEPDIR)/msdd_python.d -## -## (4) from the SWIG file, remove the first line (the target); remove -## trailing " \" and " " from each line. Append ":" to each line, -## followed by 2 carriage returns, then append this to the end of -## the dependency file. -## - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/msdd_python.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/msdd_python.d -## -## (5) remove the SWIG-generated file -## - $(RM) $(DEPDIR)/msdd_python.Std -## -## Create the stamp for this filename generation, to signal success in -## executing this rule; allows other threads waiting on this process -## to continue. -## - touch $(DEPDIR)/msdd-generate-python-stamp - -# KLUDGE: Force runtime include of a SWIG dependency file. This is -# not guaranteed to be portable, but will probably work. If it works, -# we have accurate dependencies for our swig stuff, which is good. - -@am__include@ @am__quote@./$(DEPDIR)/msdd_python.d@am__quote@ - -$(DEPDIR)/msdd-generate-guile-stamp: -if GUILE -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. - if $(SWIG) $(STD_SWIG_GUILE_ARGS) $(msdd_swig_args) \ - -MD -MF $(DEPDIR)/msdd_guile.Std \ - -module msdd -o msdd_guile.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/msdd_guile.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/msdd_guile.Std \ - > $(DEPDIR)/msdd_guile.Sd; \ - $(RM) $(DEPDIR)/msdd_guile.Std; \ - $(MV) $(DEPDIR)/msdd_guile.Sd $(DEPDIR)/msdd_guile.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/msdd_guile.S*; exit 1; \ - fi; - touch $(DEPDIR)/msdd-generate-guile-stamp - $(RM) $(DEPDIR)/msdd_guile.d - cp $(DEPDIR)/msdd_guile.Std $(DEPDIR)/msdd_guile.d - echo "" >> $(DEPDIR)/msdd_guile.d - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/msdd_guile.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/msdd_guile.d - $(RM) $(DEPDIR)/msdd_guile.Std - touch $(DEPDIR)/msdd-generate-guile-stamp -else - touch $(DEPDIR)/msdd-generate-guile-stamp -endif - -@am__include@ @am__quote@./$(DEPDIR)/msdd_guile.d@am__quote@ +python/msdd.lo: +msdd.lo: msdd.py msdd.scm +msdd.py: msdd.i -#gnuradio_swig_py_runtime_python.h: gnuradio_swig_py_runtime.i # -*- Makefile -*- # @@ -420,9 +229,11 @@ MOSTLYCLEANFILES += $(DEPDIR)/*.S* ## .h file is sometimes built, but not always ... so that one has to ## be added manually by the including Makefile.am . -swig_built_sources += msdd_rs.py msdd_rs_python.cc +# generating the py or scm file also generates the .cc or .h files, +# but dependencies work better without the .cc ort .h files listed. +swig_built_sources += msdd_rs.py if GUILE -swig_built_sources += msdd_rs.scm msdd_rs_guile.cc +swig_built_sources += msdd_rs.scm endif ## Various SWIG variables. These can be overloaded in the including @@ -434,243 +245,50 @@ msdd_rs_swiginclude_HEADERS = \ $(msdd_rs_swiginclude_headers) msdd_rs_pylib_LTLIBRARIES = \ - _msdd_rs_python.la + _msdd_rs.la -_msdd_rs_python_la_SOURCES = \ - msdd_rs_python.cc \ +_msdd_rs_la_SOURCES = \ + python/msdd_rs.cc \ $(msdd_rs_la_swig_sources) -_msdd_rs_python_la_LIBADD = \ +_msdd_rs_la_LIBADD = \ $(STD_SWIG_LA_LIB_ADD) \ $(msdd_rs_la_swig_libadd) -_msdd_rs_python_la_LDFLAGS = \ +# _msdd_rs_la_DEPENDENCIES = python/msdd_rs.lo + +_msdd_rs_la_LDFLAGS = \ $(STD_SWIG_LA_LD_FLAGS) \ $(msdd_rs_la_swig_ldflags) -_msdd_rs_python_la_CXXFLAGS = \ +_msdd_rs_la_CXXFLAGS = \ $(STD_SWIG_CXX_FLAGS) \ + -I$(top_builddir) \ $(msdd_rs_la_swig_cxxflags) msdd_rs_python_PYTHON = \ msdd_rs.py \ - $(msdd_rs_python) + $(msdd_rs) if GUILE -msdd_rs_scmlib_LTLIBRARIES = _msdd_rs_guile.la -_msdd_rs_guile_la_SOURCES = \ - msdd_rs_guile.cc \ +msdd_rs_scmlib_LTLIBRARIES = msdd_rs_guile.la +msdd_rs_guile_la_SOURCES = \ + guile/msdd_rs.cc \ $(msdd_rs_la_swig_sources) msdd_rs_scm_DATA = msdd_rs.scm # Guile can use the same flags as python does -_msdd_rs_guile_la_LIBADD = $(_msdd_rs_python_la_LIBADD) -_msdd_rs_guile_la_LDFLAGS = $(_msdd_rs_python_la_LDFLAGS) -_msdd_rs_guile_la_CXXFLAGS = $(_msdd_rs_python_la_CXXFLAGS) - -endif # end of GUILE +msdd_rs_guile_la_LIBADD = $(_msdd_rs_la_LIBADD) +msdd_rs_guile_la_LDFLAGS = $(_msdd_rs_la_LDFLAGS) +msdd_rs_guile_la_CXXFLAGS = $(_msdd_rs_la_CXXFLAGS) -## Entry rule for running SWIG - -# $(python_deps) $(guile_deps): msdd_rs.i -msdd_rs_python.h msdd_rs.py msdd_rs_python.cc: msdd_rs.i -## This rule will get called only when MAKE decides that one of the -## targets needs to be created or re-created, because: -## -## * The .i file is newer than any or all of the generated files; -## -## * Any or all of the .cc, .h, or .py files does not exist and is -## needed (in the case this file is not needed, the rule for it is -## ignored); or -## -## * Some SWIG-based dependecy of the .cc file isn't met and hence the -## .cc file needs be be regenerated. Explanation: Because MAKE -## knows how to handle dependencies for .cc files (regardless of -## their name or extension), then the .cc file is used as a target -## instead of the .i file -- but with the dependencies of the .i -## file. It is this last reason why the line: -## -## if test -f $@; then :; else -## -## cannot be used in this case: If a .i file dependecy is not met, -## then the .cc file needs to be rebuilt. But if the stamp is newer -## than the .cc file, and the .cc file exists, then in the original -## version (with the 'test' above) the internal MAKE call will not -## be issued and hence the .cc file will not be rebuilt. -## -## Once execution gets to here, it should always proceed no matter the -## state of a stamp (as discussed in link above). The -## $(DEPDIR)/msdd_rs-generate stuff is used to allow for parallel -## builds to "do the right thing". The stamp has no relationship with -## either the target files or dependency file; it is used solely for -## the protection of multiple builds during a given call to MAKE. -## -## Catch signals SIGHUP (1), SIGINT (2), SIGPIPE (13), and SIGTERM -## (15). At a caught signal, the quoted command will be issued before -## exiting. In this case, remove any stamp, whether temporary of not. -## The trap is valid until the process exits; the process includes all -## commands appended via "\"s. -## - trap 'rm -rf $(DEPDIR)/msdd_rs-generate-*' 1 2 13 15; \ -## -## Create a temporary directory, which acts as a lock. The first -## process to create the directory will succeed and issue the MAKE -## command to do the actual work, while all subsequent processes will -## fail -- leading them to wait for the first process to finish. -## - if mkdir $(DEPDIR)/msdd_rs-generate-lock 2>/dev/null; then \ -## -## This code is being executed by the first process to succeed in -## creating the directory lock. -## -## Remove the stamp associated with this filename. -## - rm -f $(DEPDIR)/msdd_rs-generate-*stamp; \ -## -## Tell MAKE to run the rule for creating this stamp. -## - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/msdd_rs-generate-python-stamp WHAT=$<; \ -## -## Now that the .cc, .h, and .py files have been (re)created from the -## .i file, future checking of this rule during the same MAKE -## execution will come back that the rule doesn't need to be executed -## because none of the conditions mentioned at the start of this rule -## will be positive. Remove the the directory lock, which frees up -## any waiting process(es) to continue. -## - rmdir $(DEPDIR)/msdd_rs-generate-lock; \ - else \ -## -## This code is being executed by any follower processes while the -## directory lock is in place. -## -## Wait until the first process is done, testing once per second. -## - while test -d $(DEPDIR)/msdd_rs-generate-lock; do \ - sleep 1; \ - done; \ -## -## Succeed if and only if the first process succeeded; exit this -## process returning the status of the generated stamp. -## - test -f $(DEPDIR)/msdd_rs-generate-python-stamp; \ - exit $$?; \ - fi; +guile/msdd_rs.lo: msdd_rs.lo +msdd_rs.scm: msdd_rs.i -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. -msdd_rs_guile.h msdd_rs.scm msdd_rs_guile.cc: msdd_rs.i -if GUILE - trap 'rm -rf $(DEPDIR)/msdd_rs-generate-*' 1 2 13 15; \ - if mkdir $(DEPDIR)/msdd_rs-generate-lock 2>/dev/null; then \ - rm -f $(DEPDIR)/msdd_rs-generate-*stamp; \ - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/msdd_rs-generate-guile-stamp WHAT=$<; \ - rmdir $(DEPDIR)/msdd_rs-generate-lock; \ - else \ - while test -d $(DEPDIR)/msdd_rs-generate-lock; do \ - sleep 1; \ - done; \ - test -f $(DEPDIR)/msdd_rs-generate-guile-stamp; \ - exit $$?; \ - fi; endif # end of GUILE -$(DEPDIR)/msdd_rs-generate-python-stamp: -## This rule will be called only by the first process issuing the -## above rule to succeed in creating the lock directory, after -## removing the actual stamp file in order to guarantee that MAKE will -## execute this rule. -## -## Call SWIG to generate the various output files; special -## post-processing on 'mingw32' host OS for the dependency file. -## - if $(SWIG) $(STD_SWIG_PYTHON_ARGS) $(msdd_rs_swig_args) \ - -MD -MF $(DEPDIR)/msdd_rs_python.Std \ - -module msdd_rs -o msdd_rs_python.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/msdd_rs_python.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/msdd_rs_python.Std \ - > $(DEPDIR)/msdd_rs_python.Sd; \ - $(RM) $(DEPDIR)/msdd_rs_python.Std; \ - $(MV) $(DEPDIR)/msdd_rs_python.Sd $(DEPDIR)/msdd_rs_python.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/msdd_rs_python.S*; exit 1; \ - fi; -## -## Mess with the SWIG output .Std dependency file, to create a -## dependecy file valid for the input .i file: Basically, simulate the -## dependency file created for libraries by GNU's libtool for C++, -## where all of the dependencies for the target are first listed, then -## each individual dependency is listed as a target with no further -## dependencies. -## -## (1) remove the current dependency file -## - $(RM) $(DEPDIR)/msdd_rs_python.d -## -## (2) Copy the whole SWIG file: -## - cp $(DEPDIR)/msdd_rs_python.Std $(DEPDIR)/msdd_rs_python.d -## -## (3) all a carriage return to the end of the dependency file. -## - echo "" >> $(DEPDIR)/msdd_rs_python.d -## -## (4) from the SWIG file, remove the first line (the target); remove -## trailing " \" and " " from each line. Append ":" to each line, -## followed by 2 carriage returns, then append this to the end of -## the dependency file. -## - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/msdd_rs_python.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/msdd_rs_python.d -## -## (5) remove the SWIG-generated file -## - $(RM) $(DEPDIR)/msdd_rs_python.Std -## -## Create the stamp for this filename generation, to signal success in -## executing this rule; allows other threads waiting on this process -## to continue. -## - touch $(DEPDIR)/msdd_rs-generate-python-stamp - -# KLUDGE: Force runtime include of a SWIG dependency file. This is -# not guaranteed to be portable, but will probably work. If it works, -# we have accurate dependencies for our swig stuff, which is good. - -@am__include@ @am__quote@./$(DEPDIR)/msdd_rs_python.d@am__quote@ - -$(DEPDIR)/msdd_rs-generate-guile-stamp: -if GUILE -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. - if $(SWIG) $(STD_SWIG_GUILE_ARGS) $(msdd_rs_swig_args) \ - -MD -MF $(DEPDIR)/msdd_rs_guile.Std \ - -module msdd_rs -o msdd_rs_guile.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/msdd_rs_guile.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/msdd_rs_guile.Std \ - > $(DEPDIR)/msdd_rs_guile.Sd; \ - $(RM) $(DEPDIR)/msdd_rs_guile.Std; \ - $(MV) $(DEPDIR)/msdd_rs_guile.Sd $(DEPDIR)/msdd_rs_guile.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/msdd_rs_guile.S*; exit 1; \ - fi; - touch $(DEPDIR)/msdd_rs-generate-guile-stamp - $(RM) $(DEPDIR)/msdd_rs_guile.d - cp $(DEPDIR)/msdd_rs_guile.Std $(DEPDIR)/msdd_rs_guile.d - echo "" >> $(DEPDIR)/msdd_rs_guile.d - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/msdd_rs_guile.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/msdd_rs_guile.d - $(RM) $(DEPDIR)/msdd_rs_guile.Std - touch $(DEPDIR)/msdd_rs-generate-guile-stamp -else - touch $(DEPDIR)/msdd_rs-generate-guile-stamp -endif - -@am__include@ @am__quote@./$(DEPDIR)/msdd_rs_guile.d@am__quote@ +python/msdd_rs.lo: +msdd_rs.lo: msdd_rs.py msdd_rs.scm +msdd_rs.py: msdd_rs.i -#gnuradio_swig_py_runtime_python.h: gnuradio_swig_py_runtime.i diff --git a/gr-noaa/swig/Makefile.swig.gen b/gr-noaa/swig/Makefile.swig.gen index d8dd80bbd..0462fcecd 100644 --- a/gr-noaa/swig/Makefile.swig.gen +++ b/gr-noaa/swig/Makefile.swig.gen @@ -82,9 +82,11 @@ MOSTLYCLEANFILES += $(DEPDIR)/*.S* ## .h file is sometimes built, but not always ... so that one has to ## be added manually by the including Makefile.am . -swig_built_sources += noaa_swig.py noaa_swig_python.cc +# generating the py or scm file also generates the .cc or .h files, +# but dependencies work better without the .cc ort .h files listed. +swig_built_sources += noaa_swig.py if GUILE -swig_built_sources += noaa_swig.scm noaa_swig_guile.cc +swig_built_sources += noaa_swig.scm endif ## Various SWIG variables. These can be overloaded in the including @@ -96,243 +98,50 @@ noaa_swig_swiginclude_HEADERS = \ $(noaa_swig_swiginclude_headers) noaa_swig_pylib_LTLIBRARIES = \ - _noaa_swig_python.la + _noaa_swig.la -_noaa_swig_python_la_SOURCES = \ - noaa_swig_python.cc \ +_noaa_swig_la_SOURCES = \ + python/noaa_swig.cc \ $(noaa_swig_la_swig_sources) -_noaa_swig_python_la_LIBADD = \ +_noaa_swig_la_LIBADD = \ $(STD_SWIG_LA_LIB_ADD) \ $(noaa_swig_la_swig_libadd) -_noaa_swig_python_la_LDFLAGS = \ +# _noaa_swig_la_DEPENDENCIES = python/noaa_swig.lo + +_noaa_swig_la_LDFLAGS = \ $(STD_SWIG_LA_LD_FLAGS) \ $(noaa_swig_la_swig_ldflags) -_noaa_swig_python_la_CXXFLAGS = \ +_noaa_swig_la_CXXFLAGS = \ $(STD_SWIG_CXX_FLAGS) \ + -I$(top_builddir) \ $(noaa_swig_la_swig_cxxflags) noaa_swig_python_PYTHON = \ noaa_swig.py \ - $(noaa_swig_python) + $(noaa_swig) if GUILE -noaa_swig_scmlib_LTLIBRARIES = _noaa_swig_guile.la -_noaa_swig_guile_la_SOURCES = \ - noaa_swig_guile.cc \ +noaa_swig_scmlib_LTLIBRARIES = noaa_swig_guile.la +noaa_swig_guile_la_SOURCES = \ + guile/noaa_swig.cc \ $(noaa_swig_la_swig_sources) noaa_swig_scm_DATA = noaa_swig.scm # Guile can use the same flags as python does -_noaa_swig_guile_la_LIBADD = $(_noaa_swig_python_la_LIBADD) -_noaa_swig_guile_la_LDFLAGS = $(_noaa_swig_python_la_LDFLAGS) -_noaa_swig_guile_la_CXXFLAGS = $(_noaa_swig_python_la_CXXFLAGS) - -endif # end of GUILE +noaa_swig_guile_la_LIBADD = $(_noaa_swig_la_LIBADD) +noaa_swig_guile_la_LDFLAGS = $(_noaa_swig_la_LDFLAGS) +noaa_swig_guile_la_CXXFLAGS = $(_noaa_swig_la_CXXFLAGS) -## Entry rule for running SWIG - -# $(python_deps) $(guile_deps): noaa_swig.i -noaa_swig_python.h noaa_swig.py noaa_swig_python.cc: noaa_swig.i -## This rule will get called only when MAKE decides that one of the -## targets needs to be created or re-created, because: -## -## * The .i file is newer than any or all of the generated files; -## -## * Any or all of the .cc, .h, or .py files does not exist and is -## needed (in the case this file is not needed, the rule for it is -## ignored); or -## -## * Some SWIG-based dependecy of the .cc file isn't met and hence the -## .cc file needs be be regenerated. Explanation: Because MAKE -## knows how to handle dependencies for .cc files (regardless of -## their name or extension), then the .cc file is used as a target -## instead of the .i file -- but with the dependencies of the .i -## file. It is this last reason why the line: -## -## if test -f $@; then :; else -## -## cannot be used in this case: If a .i file dependecy is not met, -## then the .cc file needs to be rebuilt. But if the stamp is newer -## than the .cc file, and the .cc file exists, then in the original -## version (with the 'test' above) the internal MAKE call will not -## be issued and hence the .cc file will not be rebuilt. -## -## Once execution gets to here, it should always proceed no matter the -## state of a stamp (as discussed in link above). The -## $(DEPDIR)/noaa_swig-generate stuff is used to allow for parallel -## builds to "do the right thing". The stamp has no relationship with -## either the target files or dependency file; it is used solely for -## the protection of multiple builds during a given call to MAKE. -## -## Catch signals SIGHUP (1), SIGINT (2), SIGPIPE (13), and SIGTERM -## (15). At a caught signal, the quoted command will be issued before -## exiting. In this case, remove any stamp, whether temporary of not. -## The trap is valid until the process exits; the process includes all -## commands appended via "\"s. -## - trap 'rm -rf $(DEPDIR)/noaa_swig-generate-*' 1 2 13 15; \ -## -## Create a temporary directory, which acts as a lock. The first -## process to create the directory will succeed and issue the MAKE -## command to do the actual work, while all subsequent processes will -## fail -- leading them to wait for the first process to finish. -## - if mkdir $(DEPDIR)/noaa_swig-generate-lock 2>/dev/null; then \ -## -## This code is being executed by the first process to succeed in -## creating the directory lock. -## -## Remove the stamp associated with this filename. -## - rm -f $(DEPDIR)/noaa_swig-generate-*stamp; \ -## -## Tell MAKE to run the rule for creating this stamp. -## - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/noaa_swig-generate-python-stamp WHAT=$<; \ -## -## Now that the .cc, .h, and .py files have been (re)created from the -## .i file, future checking of this rule during the same MAKE -## execution will come back that the rule doesn't need to be executed -## because none of the conditions mentioned at the start of this rule -## will be positive. Remove the the directory lock, which frees up -## any waiting process(es) to continue. -## - rmdir $(DEPDIR)/noaa_swig-generate-lock; \ - else \ -## -## This code is being executed by any follower processes while the -## directory lock is in place. -## -## Wait until the first process is done, testing once per second. -## - while test -d $(DEPDIR)/noaa_swig-generate-lock; do \ - sleep 1; \ - done; \ -## -## Succeed if and only if the first process succeeded; exit this -## process returning the status of the generated stamp. -## - test -f $(DEPDIR)/noaa_swig-generate-python-stamp; \ - exit $$?; \ - fi; +guile/noaa_swig.lo: noaa_swig.lo +noaa_swig.scm: noaa_swig.i -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. -noaa_swig_guile.h noaa_swig.scm noaa_swig_guile.cc: noaa_swig.i -if GUILE - trap 'rm -rf $(DEPDIR)/noaa_swig-generate-*' 1 2 13 15; \ - if mkdir $(DEPDIR)/noaa_swig-generate-lock 2>/dev/null; then \ - rm -f $(DEPDIR)/noaa_swig-generate-*stamp; \ - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/noaa_swig-generate-guile-stamp WHAT=$<; \ - rmdir $(DEPDIR)/noaa_swig-generate-lock; \ - else \ - while test -d $(DEPDIR)/noaa_swig-generate-lock; do \ - sleep 1; \ - done; \ - test -f $(DEPDIR)/noaa_swig-generate-guile-stamp; \ - exit $$?; \ - fi; endif # end of GUILE -$(DEPDIR)/noaa_swig-generate-python-stamp: -## This rule will be called only by the first process issuing the -## above rule to succeed in creating the lock directory, after -## removing the actual stamp file in order to guarantee that MAKE will -## execute this rule. -## -## Call SWIG to generate the various output files; special -## post-processing on 'mingw32' host OS for the dependency file. -## - if $(SWIG) $(STD_SWIG_PYTHON_ARGS) $(noaa_swig_swig_args) \ - -MD -MF $(DEPDIR)/noaa_swig_python.Std \ - -module noaa_swig -o noaa_swig_python.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/noaa_swig_python.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/noaa_swig_python.Std \ - > $(DEPDIR)/noaa_swig_python.Sd; \ - $(RM) $(DEPDIR)/noaa_swig_python.Std; \ - $(MV) $(DEPDIR)/noaa_swig_python.Sd $(DEPDIR)/noaa_swig_python.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/noaa_swig_python.S*; exit 1; \ - fi; -## -## Mess with the SWIG output .Std dependency file, to create a -## dependecy file valid for the input .i file: Basically, simulate the -## dependency file created for libraries by GNU's libtool for C++, -## where all of the dependencies for the target are first listed, then -## each individual dependency is listed as a target with no further -## dependencies. -## -## (1) remove the current dependency file -## - $(RM) $(DEPDIR)/noaa_swig_python.d -## -## (2) Copy the whole SWIG file: -## - cp $(DEPDIR)/noaa_swig_python.Std $(DEPDIR)/noaa_swig_python.d -## -## (3) all a carriage return to the end of the dependency file. -## - echo "" >> $(DEPDIR)/noaa_swig_python.d -## -## (4) from the SWIG file, remove the first line (the target); remove -## trailing " \" and " " from each line. Append ":" to each line, -## followed by 2 carriage returns, then append this to the end of -## the dependency file. -## - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/noaa_swig_python.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/noaa_swig_python.d -## -## (5) remove the SWIG-generated file -## - $(RM) $(DEPDIR)/noaa_swig_python.Std -## -## Create the stamp for this filename generation, to signal success in -## executing this rule; allows other threads waiting on this process -## to continue. -## - touch $(DEPDIR)/noaa_swig-generate-python-stamp - -# KLUDGE: Force runtime include of a SWIG dependency file. This is -# not guaranteed to be portable, but will probably work. If it works, -# we have accurate dependencies for our swig stuff, which is good. - -@am__include@ @am__quote@./$(DEPDIR)/noaa_swig_python.d@am__quote@ - -$(DEPDIR)/noaa_swig-generate-guile-stamp: -if GUILE -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. - if $(SWIG) $(STD_SWIG_GUILE_ARGS) $(noaa_swig_swig_args) \ - -MD -MF $(DEPDIR)/noaa_swig_guile.Std \ - -module noaa_swig -o noaa_swig_guile.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/noaa_swig_guile.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/noaa_swig_guile.Std \ - > $(DEPDIR)/noaa_swig_guile.Sd; \ - $(RM) $(DEPDIR)/noaa_swig_guile.Std; \ - $(MV) $(DEPDIR)/noaa_swig_guile.Sd $(DEPDIR)/noaa_swig_guile.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/noaa_swig_guile.S*; exit 1; \ - fi; - touch $(DEPDIR)/noaa_swig-generate-guile-stamp - $(RM) $(DEPDIR)/noaa_swig_guile.d - cp $(DEPDIR)/noaa_swig_guile.Std $(DEPDIR)/noaa_swig_guile.d - echo "" >> $(DEPDIR)/noaa_swig_guile.d - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/noaa_swig_guile.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/noaa_swig_guile.d - $(RM) $(DEPDIR)/noaa_swig_guile.Std - touch $(DEPDIR)/noaa_swig-generate-guile-stamp -else - touch $(DEPDIR)/noaa_swig-generate-guile-stamp -endif - -@am__include@ @am__quote@./$(DEPDIR)/noaa_swig_guile.d@am__quote@ +python/noaa_swig.lo: +noaa_swig.lo: noaa_swig.py noaa_swig.scm +noaa_swig.py: noaa_swig.i -#gnuradio_swig_py_runtime_python.h: gnuradio_swig_py_runtime.i diff --git a/gr-pager/swig/Makefile.swig.gen b/gr-pager/swig/Makefile.swig.gen index b3f47e0e6..feddc65de 100644 --- a/gr-pager/swig/Makefile.swig.gen +++ b/gr-pager/swig/Makefile.swig.gen @@ -82,9 +82,11 @@ MOSTLYCLEANFILES += $(DEPDIR)/*.S* ## .h file is sometimes built, but not always ... so that one has to ## be added manually by the including Makefile.am . -swig_built_sources += pager_swig.py pager_swig_python.cc +# generating the py or scm file also generates the .cc or .h files, +# but dependencies work better without the .cc ort .h files listed. +swig_built_sources += pager_swig.py if GUILE -swig_built_sources += pager_swig.scm pager_swig_guile.cc +swig_built_sources += pager_swig.scm endif ## Various SWIG variables. These can be overloaded in the including @@ -96,243 +98,50 @@ pager_swig_swiginclude_HEADERS = \ $(pager_swig_swiginclude_headers) pager_swig_pylib_LTLIBRARIES = \ - _pager_swig_python.la + _pager_swig.la -_pager_swig_python_la_SOURCES = \ - pager_swig_python.cc \ +_pager_swig_la_SOURCES = \ + python/pager_swig.cc \ $(pager_swig_la_swig_sources) -_pager_swig_python_la_LIBADD = \ +_pager_swig_la_LIBADD = \ $(STD_SWIG_LA_LIB_ADD) \ $(pager_swig_la_swig_libadd) -_pager_swig_python_la_LDFLAGS = \ +# _pager_swig_la_DEPENDENCIES = python/pager_swig.lo + +_pager_swig_la_LDFLAGS = \ $(STD_SWIG_LA_LD_FLAGS) \ $(pager_swig_la_swig_ldflags) -_pager_swig_python_la_CXXFLAGS = \ +_pager_swig_la_CXXFLAGS = \ $(STD_SWIG_CXX_FLAGS) \ + -I$(top_builddir) \ $(pager_swig_la_swig_cxxflags) pager_swig_python_PYTHON = \ pager_swig.py \ - $(pager_swig_python) + $(pager_swig) if GUILE -pager_swig_scmlib_LTLIBRARIES = _pager_swig_guile.la -_pager_swig_guile_la_SOURCES = \ - pager_swig_guile.cc \ +pager_swig_scmlib_LTLIBRARIES = pager_swig_guile.la +pager_swig_guile_la_SOURCES = \ + guile/pager_swig.cc \ $(pager_swig_la_swig_sources) pager_swig_scm_DATA = pager_swig.scm # Guile can use the same flags as python does -_pager_swig_guile_la_LIBADD = $(_pager_swig_python_la_LIBADD) -_pager_swig_guile_la_LDFLAGS = $(_pager_swig_python_la_LDFLAGS) -_pager_swig_guile_la_CXXFLAGS = $(_pager_swig_python_la_CXXFLAGS) - -endif # end of GUILE +pager_swig_guile_la_LIBADD = $(_pager_swig_la_LIBADD) +pager_swig_guile_la_LDFLAGS = $(_pager_swig_la_LDFLAGS) +pager_swig_guile_la_CXXFLAGS = $(_pager_swig_la_CXXFLAGS) -## Entry rule for running SWIG - -# $(python_deps) $(guile_deps): pager_swig.i -pager_swig_python.h pager_swig.py pager_swig_python.cc: pager_swig.i -## This rule will get called only when MAKE decides that one of the -## targets needs to be created or re-created, because: -## -## * The .i file is newer than any or all of the generated files; -## -## * Any or all of the .cc, .h, or .py files does not exist and is -## needed (in the case this file is not needed, the rule for it is -## ignored); or -## -## * Some SWIG-based dependecy of the .cc file isn't met and hence the -## .cc file needs be be regenerated. Explanation: Because MAKE -## knows how to handle dependencies for .cc files (regardless of -## their name or extension), then the .cc file is used as a target -## instead of the .i file -- but with the dependencies of the .i -## file. It is this last reason why the line: -## -## if test -f $@; then :; else -## -## cannot be used in this case: If a .i file dependecy is not met, -## then the .cc file needs to be rebuilt. But if the stamp is newer -## than the .cc file, and the .cc file exists, then in the original -## version (with the 'test' above) the internal MAKE call will not -## be issued and hence the .cc file will not be rebuilt. -## -## Once execution gets to here, it should always proceed no matter the -## state of a stamp (as discussed in link above). The -## $(DEPDIR)/pager_swig-generate stuff is used to allow for parallel -## builds to "do the right thing". The stamp has no relationship with -## either the target files or dependency file; it is used solely for -## the protection of multiple builds during a given call to MAKE. -## -## Catch signals SIGHUP (1), SIGINT (2), SIGPIPE (13), and SIGTERM -## (15). At a caught signal, the quoted command will be issued before -## exiting. In this case, remove any stamp, whether temporary of not. -## The trap is valid until the process exits; the process includes all -## commands appended via "\"s. -## - trap 'rm -rf $(DEPDIR)/pager_swig-generate-*' 1 2 13 15; \ -## -## Create a temporary directory, which acts as a lock. The first -## process to create the directory will succeed and issue the MAKE -## command to do the actual work, while all subsequent processes will -## fail -- leading them to wait for the first process to finish. -## - if mkdir $(DEPDIR)/pager_swig-generate-lock 2>/dev/null; then \ -## -## This code is being executed by the first process to succeed in -## creating the directory lock. -## -## Remove the stamp associated with this filename. -## - rm -f $(DEPDIR)/pager_swig-generate-*stamp; \ -## -## Tell MAKE to run the rule for creating this stamp. -## - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/pager_swig-generate-python-stamp WHAT=$<; \ -## -## Now that the .cc, .h, and .py files have been (re)created from the -## .i file, future checking of this rule during the same MAKE -## execution will come back that the rule doesn't need to be executed -## because none of the conditions mentioned at the start of this rule -## will be positive. Remove the the directory lock, which frees up -## any waiting process(es) to continue. -## - rmdir $(DEPDIR)/pager_swig-generate-lock; \ - else \ -## -## This code is being executed by any follower processes while the -## directory lock is in place. -## -## Wait until the first process is done, testing once per second. -## - while test -d $(DEPDIR)/pager_swig-generate-lock; do \ - sleep 1; \ - done; \ -## -## Succeed if and only if the first process succeeded; exit this -## process returning the status of the generated stamp. -## - test -f $(DEPDIR)/pager_swig-generate-python-stamp; \ - exit $$?; \ - fi; +guile/pager_swig.lo: pager_swig.lo +pager_swig.scm: pager_swig.i -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. -pager_swig_guile.h pager_swig.scm pager_swig_guile.cc: pager_swig.i -if GUILE - trap 'rm -rf $(DEPDIR)/pager_swig-generate-*' 1 2 13 15; \ - if mkdir $(DEPDIR)/pager_swig-generate-lock 2>/dev/null; then \ - rm -f $(DEPDIR)/pager_swig-generate-*stamp; \ - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/pager_swig-generate-guile-stamp WHAT=$<; \ - rmdir $(DEPDIR)/pager_swig-generate-lock; \ - else \ - while test -d $(DEPDIR)/pager_swig-generate-lock; do \ - sleep 1; \ - done; \ - test -f $(DEPDIR)/pager_swig-generate-guile-stamp; \ - exit $$?; \ - fi; endif # end of GUILE -$(DEPDIR)/pager_swig-generate-python-stamp: -## This rule will be called only by the first process issuing the -## above rule to succeed in creating the lock directory, after -## removing the actual stamp file in order to guarantee that MAKE will -## execute this rule. -## -## Call SWIG to generate the various output files; special -## post-processing on 'mingw32' host OS for the dependency file. -## - if $(SWIG) $(STD_SWIG_PYTHON_ARGS) $(pager_swig_swig_args) \ - -MD -MF $(DEPDIR)/pager_swig_python.Std \ - -module pager_swig -o pager_swig_python.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/pager_swig_python.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/pager_swig_python.Std \ - > $(DEPDIR)/pager_swig_python.Sd; \ - $(RM) $(DEPDIR)/pager_swig_python.Std; \ - $(MV) $(DEPDIR)/pager_swig_python.Sd $(DEPDIR)/pager_swig_python.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/pager_swig_python.S*; exit 1; \ - fi; -## -## Mess with the SWIG output .Std dependency file, to create a -## dependecy file valid for the input .i file: Basically, simulate the -## dependency file created for libraries by GNU's libtool for C++, -## where all of the dependencies for the target are first listed, then -## each individual dependency is listed as a target with no further -## dependencies. -## -## (1) remove the current dependency file -## - $(RM) $(DEPDIR)/pager_swig_python.d -## -## (2) Copy the whole SWIG file: -## - cp $(DEPDIR)/pager_swig_python.Std $(DEPDIR)/pager_swig_python.d -## -## (3) all a carriage return to the end of the dependency file. -## - echo "" >> $(DEPDIR)/pager_swig_python.d -## -## (4) from the SWIG file, remove the first line (the target); remove -## trailing " \" and " " from each line. Append ":" to each line, -## followed by 2 carriage returns, then append this to the end of -## the dependency file. -## - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/pager_swig_python.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/pager_swig_python.d -## -## (5) remove the SWIG-generated file -## - $(RM) $(DEPDIR)/pager_swig_python.Std -## -## Create the stamp for this filename generation, to signal success in -## executing this rule; allows other threads waiting on this process -## to continue. -## - touch $(DEPDIR)/pager_swig-generate-python-stamp - -# KLUDGE: Force runtime include of a SWIG dependency file. This is -# not guaranteed to be portable, but will probably work. If it works, -# we have accurate dependencies for our swig stuff, which is good. - -@am__include@ @am__quote@./$(DEPDIR)/pager_swig_python.d@am__quote@ - -$(DEPDIR)/pager_swig-generate-guile-stamp: -if GUILE -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. - if $(SWIG) $(STD_SWIG_GUILE_ARGS) $(pager_swig_swig_args) \ - -MD -MF $(DEPDIR)/pager_swig_guile.Std \ - -module pager_swig -o pager_swig_guile.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/pager_swig_guile.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/pager_swig_guile.Std \ - > $(DEPDIR)/pager_swig_guile.Sd; \ - $(RM) $(DEPDIR)/pager_swig_guile.Std; \ - $(MV) $(DEPDIR)/pager_swig_guile.Sd $(DEPDIR)/pager_swig_guile.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/pager_swig_guile.S*; exit 1; \ - fi; - touch $(DEPDIR)/pager_swig-generate-guile-stamp - $(RM) $(DEPDIR)/pager_swig_guile.d - cp $(DEPDIR)/pager_swig_guile.Std $(DEPDIR)/pager_swig_guile.d - echo "" >> $(DEPDIR)/pager_swig_guile.d - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/pager_swig_guile.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/pager_swig_guile.d - $(RM) $(DEPDIR)/pager_swig_guile.Std - touch $(DEPDIR)/pager_swig-generate-guile-stamp -else - touch $(DEPDIR)/pager_swig-generate-guile-stamp -endif - -@am__include@ @am__quote@./$(DEPDIR)/pager_swig_guile.d@am__quote@ +python/pager_swig.lo: +pager_swig.lo: pager_swig.py pager_swig.scm +pager_swig.py: pager_swig.i -#gnuradio_swig_py_runtime_python.h: gnuradio_swig_py_runtime.i diff --git a/gr-qtgui/src/lib/Makefile.swig.gen b/gr-qtgui/src/lib/Makefile.swig.gen index 8759ce00d..5b66e6e0c 100644 --- a/gr-qtgui/src/lib/Makefile.swig.gen +++ b/gr-qtgui/src/lib/Makefile.swig.gen @@ -82,9 +82,11 @@ MOSTLYCLEANFILES += $(DEPDIR)/*.S* ## .h file is sometimes built, but not always ... so that one has to ## be added manually by the including Makefile.am . -swig_built_sources += qtgui.py qtgui_python.cc +# generating the py or scm file also generates the .cc or .h files, +# but dependencies work better without the .cc ort .h files listed. +swig_built_sources += qtgui.py if GUILE -swig_built_sources += qtgui.scm qtgui_guile.cc +swig_built_sources += qtgui.scm endif ## Various SWIG variables. These can be overloaded in the including @@ -96,243 +98,50 @@ qtgui_swiginclude_HEADERS = \ $(qtgui_swiginclude_headers) qtgui_pylib_LTLIBRARIES = \ - _qtgui_python.la + _qtgui.la -_qtgui_python_la_SOURCES = \ - qtgui_python.cc \ +_qtgui_la_SOURCES = \ + python/qtgui.cc \ $(qtgui_la_swig_sources) -_qtgui_python_la_LIBADD = \ +_qtgui_la_LIBADD = \ $(STD_SWIG_LA_LIB_ADD) \ $(qtgui_la_swig_libadd) -_qtgui_python_la_LDFLAGS = \ +# _qtgui_la_DEPENDENCIES = python/qtgui.lo + +_qtgui_la_LDFLAGS = \ $(STD_SWIG_LA_LD_FLAGS) \ $(qtgui_la_swig_ldflags) -_qtgui_python_la_CXXFLAGS = \ +_qtgui_la_CXXFLAGS = \ $(STD_SWIG_CXX_FLAGS) \ + -I$(top_builddir) \ $(qtgui_la_swig_cxxflags) qtgui_python_PYTHON = \ qtgui.py \ - $(qtgui_python) + $(qtgui) if GUILE -qtgui_scmlib_LTLIBRARIES = _qtgui_guile.la -_qtgui_guile_la_SOURCES = \ - qtgui_guile.cc \ +qtgui_scmlib_LTLIBRARIES = qtgui_guile.la +qtgui_guile_la_SOURCES = \ + guile/qtgui.cc \ $(qtgui_la_swig_sources) qtgui_scm_DATA = qtgui.scm # Guile can use the same flags as python does -_qtgui_guile_la_LIBADD = $(_qtgui_python_la_LIBADD) -_qtgui_guile_la_LDFLAGS = $(_qtgui_python_la_LDFLAGS) -_qtgui_guile_la_CXXFLAGS = $(_qtgui_python_la_CXXFLAGS) - -endif # end of GUILE +qtgui_guile_la_LIBADD = $(_qtgui_la_LIBADD) +qtgui_guile_la_LDFLAGS = $(_qtgui_la_LDFLAGS) +qtgui_guile_la_CXXFLAGS = $(_qtgui_la_CXXFLAGS) -## Entry rule for running SWIG - -# $(python_deps) $(guile_deps): qtgui.i -qtgui_python.h qtgui.py qtgui_python.cc: qtgui.i -## This rule will get called only when MAKE decides that one of the -## targets needs to be created or re-created, because: -## -## * The .i file is newer than any or all of the generated files; -## -## * Any or all of the .cc, .h, or .py files does not exist and is -## needed (in the case this file is not needed, the rule for it is -## ignored); or -## -## * Some SWIG-based dependecy of the .cc file isn't met and hence the -## .cc file needs be be regenerated. Explanation: Because MAKE -## knows how to handle dependencies for .cc files (regardless of -## their name or extension), then the .cc file is used as a target -## instead of the .i file -- but with the dependencies of the .i -## file. It is this last reason why the line: -## -## if test -f $@; then :; else -## -## cannot be used in this case: If a .i file dependecy is not met, -## then the .cc file needs to be rebuilt. But if the stamp is newer -## than the .cc file, and the .cc file exists, then in the original -## version (with the 'test' above) the internal MAKE call will not -## be issued and hence the .cc file will not be rebuilt. -## -## Once execution gets to here, it should always proceed no matter the -## state of a stamp (as discussed in link above). The -## $(DEPDIR)/qtgui-generate stuff is used to allow for parallel -## builds to "do the right thing". The stamp has no relationship with -## either the target files or dependency file; it is used solely for -## the protection of multiple builds during a given call to MAKE. -## -## Catch signals SIGHUP (1), SIGINT (2), SIGPIPE (13), and SIGTERM -## (15). At a caught signal, the quoted command will be issued before -## exiting. In this case, remove any stamp, whether temporary of not. -## The trap is valid until the process exits; the process includes all -## commands appended via "\"s. -## - trap 'rm -rf $(DEPDIR)/qtgui-generate-*' 1 2 13 15; \ -## -## Create a temporary directory, which acts as a lock. The first -## process to create the directory will succeed and issue the MAKE -## command to do the actual work, while all subsequent processes will -## fail -- leading them to wait for the first process to finish. -## - if mkdir $(DEPDIR)/qtgui-generate-lock 2>/dev/null; then \ -## -## This code is being executed by the first process to succeed in -## creating the directory lock. -## -## Remove the stamp associated with this filename. -## - rm -f $(DEPDIR)/qtgui-generate-*stamp; \ -## -## Tell MAKE to run the rule for creating this stamp. -## - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/qtgui-generate-python-stamp WHAT=$<; \ -## -## Now that the .cc, .h, and .py files have been (re)created from the -## .i file, future checking of this rule during the same MAKE -## execution will come back that the rule doesn't need to be executed -## because none of the conditions mentioned at the start of this rule -## will be positive. Remove the the directory lock, which frees up -## any waiting process(es) to continue. -## - rmdir $(DEPDIR)/qtgui-generate-lock; \ - else \ -## -## This code is being executed by any follower processes while the -## directory lock is in place. -## -## Wait until the first process is done, testing once per second. -## - while test -d $(DEPDIR)/qtgui-generate-lock; do \ - sleep 1; \ - done; \ -## -## Succeed if and only if the first process succeeded; exit this -## process returning the status of the generated stamp. -## - test -f $(DEPDIR)/qtgui-generate-python-stamp; \ - exit $$?; \ - fi; +guile/qtgui.lo: qtgui.lo +qtgui.scm: qtgui.i -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. -qtgui_guile.h qtgui.scm qtgui_guile.cc: qtgui.i -if GUILE - trap 'rm -rf $(DEPDIR)/qtgui-generate-*' 1 2 13 15; \ - if mkdir $(DEPDIR)/qtgui-generate-lock 2>/dev/null; then \ - rm -f $(DEPDIR)/qtgui-generate-*stamp; \ - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/qtgui-generate-guile-stamp WHAT=$<; \ - rmdir $(DEPDIR)/qtgui-generate-lock; \ - else \ - while test -d $(DEPDIR)/qtgui-generate-lock; do \ - sleep 1; \ - done; \ - test -f $(DEPDIR)/qtgui-generate-guile-stamp; \ - exit $$?; \ - fi; endif # end of GUILE -$(DEPDIR)/qtgui-generate-python-stamp: -## This rule will be called only by the first process issuing the -## above rule to succeed in creating the lock directory, after -## removing the actual stamp file in order to guarantee that MAKE will -## execute this rule. -## -## Call SWIG to generate the various output files; special -## post-processing on 'mingw32' host OS for the dependency file. -## - if $(SWIG) $(STD_SWIG_PYTHON_ARGS) $(qtgui_swig_args) \ - -MD -MF $(DEPDIR)/qtgui_python.Std \ - -module qtgui -o qtgui_python.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/qtgui_python.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/qtgui_python.Std \ - > $(DEPDIR)/qtgui_python.Sd; \ - $(RM) $(DEPDIR)/qtgui_python.Std; \ - $(MV) $(DEPDIR)/qtgui_python.Sd $(DEPDIR)/qtgui_python.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/qtgui_python.S*; exit 1; \ - fi; -## -## Mess with the SWIG output .Std dependency file, to create a -## dependecy file valid for the input .i file: Basically, simulate the -## dependency file created for libraries by GNU's libtool for C++, -## where all of the dependencies for the target are first listed, then -## each individual dependency is listed as a target with no further -## dependencies. -## -## (1) remove the current dependency file -## - $(RM) $(DEPDIR)/qtgui_python.d -## -## (2) Copy the whole SWIG file: -## - cp $(DEPDIR)/qtgui_python.Std $(DEPDIR)/qtgui_python.d -## -## (3) all a carriage return to the end of the dependency file. -## - echo "" >> $(DEPDIR)/qtgui_python.d -## -## (4) from the SWIG file, remove the first line (the target); remove -## trailing " \" and " " from each line. Append ":" to each line, -## followed by 2 carriage returns, then append this to the end of -## the dependency file. -## - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/qtgui_python.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/qtgui_python.d -## -## (5) remove the SWIG-generated file -## - $(RM) $(DEPDIR)/qtgui_python.Std -## -## Create the stamp for this filename generation, to signal success in -## executing this rule; allows other threads waiting on this process -## to continue. -## - touch $(DEPDIR)/qtgui-generate-python-stamp - -# KLUDGE: Force runtime include of a SWIG dependency file. This is -# not guaranteed to be portable, but will probably work. If it works, -# we have accurate dependencies for our swig stuff, which is good. - -@am__include@ @am__quote@./$(DEPDIR)/qtgui_python.d@am__quote@ - -if GUILE -$(DEPDIR)/qtgui-generate-guile-stamp: -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. - if $(SWIG) $(STD_SWIG_GUILE_ARGS) $(qtgui_swig_args) \ - -MD -MF $(DEPDIR)/qtgui_guile.Std \ - -module qtgui -o qtgui_guile.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/qtgui_guile.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/qtgui_guile.Std \ - > $(DEPDIR)/qtgui_guile.Sd; \ - $(RM) $(DEPDIR)/qtgui_guile.Std; \ - $(MV) $(DEPDIR)/qtgui_guile.Sd $(DEPDIR)/qtgui_guile.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/qtgui_guile.S*; exit 1; \ - fi; - touch $(DEPDIR)/qtgui-generate-guile-stamp - $(RM) $(DEPDIR)/qtgui_guile.d - cp $(DEPDIR)/qtgui_guile.Std $(DEPDIR)/qtgui_guile.d - echo "" >> $(DEPDIR)/qtgui_guile.d - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/qtgui_guile.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/qtgui_guile.d - $(RM) $(DEPDIR)/qtgui_guile.Std - touch $(DEPDIR)/qtgui-generate-guile-stamp -else - touch $(DEPDIR)/qtgui-generate-guile-stamp -endif - -@am__include@ @am__quote@./$(DEPDIR)/qtgui_guile.d@am__quote@ +python/qtgui.lo: +qtgui.lo: qtgui.py qtgui.scm +qtgui.py: qtgui.i -#gnuradio_swig_py_runtime_python.h: gnuradio_swig_py_runtime.i diff --git a/gr-radio-astronomy/src/lib/Makefile.swig.gen b/gr-radio-astronomy/src/lib/Makefile.swig.gen index aa8d35e77..b1d0ce95a 100644 --- a/gr-radio-astronomy/src/lib/Makefile.swig.gen +++ b/gr-radio-astronomy/src/lib/Makefile.swig.gen @@ -82,9 +82,11 @@ MOSTLYCLEANFILES += $(DEPDIR)/*.S* ## .h file is sometimes built, but not always ... so that one has to ## be added manually by the including Makefile.am . -swig_built_sources += ra.py ra_python.cc +# generating the py or scm file also generates the .cc or .h files, +# but dependencies work better without the .cc ort .h files listed. +swig_built_sources += ra.py if GUILE -swig_built_sources += ra.scm ra_guile.cc +swig_built_sources += ra.scm endif ## Various SWIG variables. These can be overloaded in the including @@ -96,243 +98,50 @@ ra_swiginclude_HEADERS = \ $(ra_swiginclude_headers) ra_pylib_LTLIBRARIES = \ - _ra_python.la + _ra.la -_ra_python_la_SOURCES = \ - ra_python.cc \ +_ra_la_SOURCES = \ + python/ra.cc \ $(ra_la_swig_sources) -_ra_python_la_LIBADD = \ +_ra_la_LIBADD = \ $(STD_SWIG_LA_LIB_ADD) \ $(ra_la_swig_libadd) -_ra_python_la_LDFLAGS = \ +# _ra_la_DEPENDENCIES = python/ra.lo + +_ra_la_LDFLAGS = \ $(STD_SWIG_LA_LD_FLAGS) \ $(ra_la_swig_ldflags) -_ra_python_la_CXXFLAGS = \ +_ra_la_CXXFLAGS = \ $(STD_SWIG_CXX_FLAGS) \ + -I$(top_builddir) \ $(ra_la_swig_cxxflags) ra_python_PYTHON = \ ra.py \ - $(ra_python) + $(ra) if GUILE -ra_scmlib_LTLIBRARIES = _ra_guile.la -_ra_guile_la_SOURCES = \ - ra_guile.cc \ +ra_scmlib_LTLIBRARIES = ra_guile.la +ra_guile_la_SOURCES = \ + guile/ra.cc \ $(ra_la_swig_sources) ra_scm_DATA = ra.scm # Guile can use the same flags as python does -_ra_guile_la_LIBADD = $(_ra_python_la_LIBADD) -_ra_guile_la_LDFLAGS = $(_ra_python_la_LDFLAGS) -_ra_guile_la_CXXFLAGS = $(_ra_python_la_CXXFLAGS) - -endif # end of GUILE +ra_guile_la_LIBADD = $(_ra_la_LIBADD) +ra_guile_la_LDFLAGS = $(_ra_la_LDFLAGS) +ra_guile_la_CXXFLAGS = $(_ra_la_CXXFLAGS) -## Entry rule for running SWIG - -# $(python_deps) $(guile_deps): ra.i -ra_python.h ra.py ra_python.cc: ra.i -## This rule will get called only when MAKE decides that one of the -## targets needs to be created or re-created, because: -## -## * The .i file is newer than any or all of the generated files; -## -## * Any or all of the .cc, .h, or .py files does not exist and is -## needed (in the case this file is not needed, the rule for it is -## ignored); or -## -## * Some SWIG-based dependecy of the .cc file isn't met and hence the -## .cc file needs be be regenerated. Explanation: Because MAKE -## knows how to handle dependencies for .cc files (regardless of -## their name or extension), then the .cc file is used as a target -## instead of the .i file -- but with the dependencies of the .i -## file. It is this last reason why the line: -## -## if test -f $@; then :; else -## -## cannot be used in this case: If a .i file dependecy is not met, -## then the .cc file needs to be rebuilt. But if the stamp is newer -## than the .cc file, and the .cc file exists, then in the original -## version (with the 'test' above) the internal MAKE call will not -## be issued and hence the .cc file will not be rebuilt. -## -## Once execution gets to here, it should always proceed no matter the -## state of a stamp (as discussed in link above). The -## $(DEPDIR)/ra-generate stuff is used to allow for parallel -## builds to "do the right thing". The stamp has no relationship with -## either the target files or dependency file; it is used solely for -## the protection of multiple builds during a given call to MAKE. -## -## Catch signals SIGHUP (1), SIGINT (2), SIGPIPE (13), and SIGTERM -## (15). At a caught signal, the quoted command will be issued before -## exiting. In this case, remove any stamp, whether temporary of not. -## The trap is valid until the process exits; the process includes all -## commands appended via "\"s. -## - trap 'rm -rf $(DEPDIR)/ra-generate-*' 1 2 13 15; \ -## -## Create a temporary directory, which acts as a lock. The first -## process to create the directory will succeed and issue the MAKE -## command to do the actual work, while all subsequent processes will -## fail -- leading them to wait for the first process to finish. -## - if mkdir $(DEPDIR)/ra-generate-lock 2>/dev/null; then \ -## -## This code is being executed by the first process to succeed in -## creating the directory lock. -## -## Remove the stamp associated with this filename. -## - rm -f $(DEPDIR)/ra-generate-*stamp; \ -## -## Tell MAKE to run the rule for creating this stamp. -## - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/ra-generate-python-stamp WHAT=$<; \ -## -## Now that the .cc, .h, and .py files have been (re)created from the -## .i file, future checking of this rule during the same MAKE -## execution will come back that the rule doesn't need to be executed -## because none of the conditions mentioned at the start of this rule -## will be positive. Remove the the directory lock, which frees up -## any waiting process(es) to continue. -## - rmdir $(DEPDIR)/ra-generate-lock; \ - else \ -## -## This code is being executed by any follower processes while the -## directory lock is in place. -## -## Wait until the first process is done, testing once per second. -## - while test -d $(DEPDIR)/ra-generate-lock; do \ - sleep 1; \ - done; \ -## -## Succeed if and only if the first process succeeded; exit this -## process returning the status of the generated stamp. -## - test -f $(DEPDIR)/ra-generate-python-stamp; \ - exit $$?; \ - fi; +guile/ra.lo: ra.lo +ra.scm: ra.i -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. -ra_guile.h ra.scm ra_guile.cc: ra.i -if GUILE - trap 'rm -rf $(DEPDIR)/ra-generate-*' 1 2 13 15; \ - if mkdir $(DEPDIR)/ra-generate-lock 2>/dev/null; then \ - rm -f $(DEPDIR)/ra-generate-*stamp; \ - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/ra-generate-guile-stamp WHAT=$<; \ - rmdir $(DEPDIR)/ra-generate-lock; \ - else \ - while test -d $(DEPDIR)/ra-generate-lock; do \ - sleep 1; \ - done; \ - test -f $(DEPDIR)/ra-generate-guile-stamp; \ - exit $$?; \ - fi; endif # end of GUILE -$(DEPDIR)/ra-generate-python-stamp: -## This rule will be called only by the first process issuing the -## above rule to succeed in creating the lock directory, after -## removing the actual stamp file in order to guarantee that MAKE will -## execute this rule. -## -## Call SWIG to generate the various output files; special -## post-processing on 'mingw32' host OS for the dependency file. -## - if $(SWIG) $(STD_SWIG_PYTHON_ARGS) $(ra_swig_args) \ - -MD -MF $(DEPDIR)/ra_python.Std \ - -module ra -o ra_python.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/ra_python.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/ra_python.Std \ - > $(DEPDIR)/ra_python.Sd; \ - $(RM) $(DEPDIR)/ra_python.Std; \ - $(MV) $(DEPDIR)/ra_python.Sd $(DEPDIR)/ra_python.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/ra_python.S*; exit 1; \ - fi; -## -## Mess with the SWIG output .Std dependency file, to create a -## dependecy file valid for the input .i file: Basically, simulate the -## dependency file created for libraries by GNU's libtool for C++, -## where all of the dependencies for the target are first listed, then -## each individual dependency is listed as a target with no further -## dependencies. -## -## (1) remove the current dependency file -## - $(RM) $(DEPDIR)/ra_python.d -## -## (2) Copy the whole SWIG file: -## - cp $(DEPDIR)/ra_python.Std $(DEPDIR)/ra_python.d -## -## (3) all a carriage return to the end of the dependency file. -## - echo "" >> $(DEPDIR)/ra_python.d -## -## (4) from the SWIG file, remove the first line (the target); remove -## trailing " \" and " " from each line. Append ":" to each line, -## followed by 2 carriage returns, then append this to the end of -## the dependency file. -## - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/ra_python.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/ra_python.d -## -## (5) remove the SWIG-generated file -## - $(RM) $(DEPDIR)/ra_python.Std -## -## Create the stamp for this filename generation, to signal success in -## executing this rule; allows other threads waiting on this process -## to continue. -## - touch $(DEPDIR)/ra-generate-python-stamp - -# KLUDGE: Force runtime include of a SWIG dependency file. This is -# not guaranteed to be portable, but will probably work. If it works, -# we have accurate dependencies for our swig stuff, which is good. - -@am__include@ @am__quote@./$(DEPDIR)/ra_python.d@am__quote@ - -$(DEPDIR)/ra-generate-guile-stamp: -if GUILE -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. - if $(SWIG) $(STD_SWIG_GUILE_ARGS) $(ra_swig_args) \ - -MD -MF $(DEPDIR)/ra_guile.Std \ - -module ra -o ra_guile.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/ra_guile.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/ra_guile.Std \ - > $(DEPDIR)/ra_guile.Sd; \ - $(RM) $(DEPDIR)/ra_guile.Std; \ - $(MV) $(DEPDIR)/ra_guile.Sd $(DEPDIR)/ra_guile.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/ra_guile.S*; exit 1; \ - fi; - touch $(DEPDIR)/ra-generate-guile-stamp - $(RM) $(DEPDIR)/ra_guile.d - cp $(DEPDIR)/ra_guile.Std $(DEPDIR)/ra_guile.d - echo "" >> $(DEPDIR)/ra_guile.d - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/ra_guile.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/ra_guile.d - $(RM) $(DEPDIR)/ra_guile.Std - touch $(DEPDIR)/ra-generate-guile-stamp -else - touch $(DEPDIR)/ra-generate-guile-stamp -endif - -@am__include@ @am__quote@./$(DEPDIR)/ra_guile.d@am__quote@ +python/ra.lo: +ra.lo: ra.py ra.scm +ra.py: ra.i -#gnuradio_swig_py_runtime_python.h: gnuradio_swig_py_runtime.i diff --git a/gr-trellis/src/lib/Makefile.swig.gen b/gr-trellis/src/lib/Makefile.swig.gen index 2b07c671e..0da0b5c81 100644 --- a/gr-trellis/src/lib/Makefile.swig.gen +++ b/gr-trellis/src/lib/Makefile.swig.gen @@ -82,9 +82,11 @@ MOSTLYCLEANFILES += $(DEPDIR)/*.S* ## .h file is sometimes built, but not always ... so that one has to ## be added manually by the including Makefile.am . -swig_built_sources += trellis.py trellis_python.cc +# generating the py or scm file also generates the .cc or .h files, +# but dependencies work better without the .cc ort .h files listed. +swig_built_sources += trellis.py if GUILE -swig_built_sources += trellis.scm trellis_guile.cc +swig_built_sources += trellis.scm endif ## Various SWIG variables. These can be overloaded in the including @@ -96,243 +98,50 @@ trellis_swiginclude_HEADERS = \ $(trellis_swiginclude_headers) trellis_pylib_LTLIBRARIES = \ - _trellis_python.la + _trellis.la -_trellis_python_la_SOURCES = \ - trellis_python.cc \ +_trellis_la_SOURCES = \ + python/trellis.cc \ $(trellis_la_swig_sources) -_trellis_python_la_LIBADD = \ +_trellis_la_LIBADD = \ $(STD_SWIG_LA_LIB_ADD) \ $(trellis_la_swig_libadd) -_trellis_python_la_LDFLAGS = \ +# _trellis_la_DEPENDENCIES = python/trellis.lo + +_trellis_la_LDFLAGS = \ $(STD_SWIG_LA_LD_FLAGS) \ $(trellis_la_swig_ldflags) -_trellis_python_la_CXXFLAGS = \ +_trellis_la_CXXFLAGS = \ $(STD_SWIG_CXX_FLAGS) \ + -I$(top_builddir) \ $(trellis_la_swig_cxxflags) trellis_python_PYTHON = \ trellis.py \ - $(trellis_python) + $(trellis) if GUILE -trellis_scmlib_LTLIBRARIES = _trellis_guile.la -_trellis_guile_la_SOURCES = \ - trellis_guile.cc \ +trellis_scmlib_LTLIBRARIES = trellis_guile.la +trellis_guile_la_SOURCES = \ + guile/trellis.cc \ $(trellis_la_swig_sources) trellis_scm_DATA = trellis.scm # Guile can use the same flags as python does -_trellis_guile_la_LIBADD = $(_trellis_python_la_LIBADD) -_trellis_guile_la_LDFLAGS = $(_trellis_python_la_LDFLAGS) -_trellis_guile_la_CXXFLAGS = $(_trellis_python_la_CXXFLAGS) - -endif # end of GUILE +trellis_guile_la_LIBADD = $(_trellis_la_LIBADD) +trellis_guile_la_LDFLAGS = $(_trellis_la_LDFLAGS) +trellis_guile_la_CXXFLAGS = $(_trellis_la_CXXFLAGS) -## Entry rule for running SWIG - -# $(python_deps) $(guile_deps): trellis.i -trellis_python.h trellis.py trellis_python.cc: trellis.i -## This rule will get called only when MAKE decides that one of the -## targets needs to be created or re-created, because: -## -## * The .i file is newer than any or all of the generated files; -## -## * Any or all of the .cc, .h, or .py files does not exist and is -## needed (in the case this file is not needed, the rule for it is -## ignored); or -## -## * Some SWIG-based dependecy of the .cc file isn't met and hence the -## .cc file needs be be regenerated. Explanation: Because MAKE -## knows how to handle dependencies for .cc files (regardless of -## their name or extension), then the .cc file is used as a target -## instead of the .i file -- but with the dependencies of the .i -## file. It is this last reason why the line: -## -## if test -f $@; then :; else -## -## cannot be used in this case: If a .i file dependecy is not met, -## then the .cc file needs to be rebuilt. But if the stamp is newer -## than the .cc file, and the .cc file exists, then in the original -## version (with the 'test' above) the internal MAKE call will not -## be issued and hence the .cc file will not be rebuilt. -## -## Once execution gets to here, it should always proceed no matter the -## state of a stamp (as discussed in link above). The -## $(DEPDIR)/trellis-generate stuff is used to allow for parallel -## builds to "do the right thing". The stamp has no relationship with -## either the target files or dependency file; it is used solely for -## the protection of multiple builds during a given call to MAKE. -## -## Catch signals SIGHUP (1), SIGINT (2), SIGPIPE (13), and SIGTERM -## (15). At a caught signal, the quoted command will be issued before -## exiting. In this case, remove any stamp, whether temporary of not. -## The trap is valid until the process exits; the process includes all -## commands appended via "\"s. -## - trap 'rm -rf $(DEPDIR)/trellis-generate-*' 1 2 13 15; \ -## -## Create a temporary directory, which acts as a lock. The first -## process to create the directory will succeed and issue the MAKE -## command to do the actual work, while all subsequent processes will -## fail -- leading them to wait for the first process to finish. -## - if mkdir $(DEPDIR)/trellis-generate-lock 2>/dev/null; then \ -## -## This code is being executed by the first process to succeed in -## creating the directory lock. -## -## Remove the stamp associated with this filename. -## - rm -f $(DEPDIR)/trellis-generate-*stamp; \ -## -## Tell MAKE to run the rule for creating this stamp. -## - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/trellis-generate-python-stamp WHAT=$<; \ -## -## Now that the .cc, .h, and .py files have been (re)created from the -## .i file, future checking of this rule during the same MAKE -## execution will come back that the rule doesn't need to be executed -## because none of the conditions mentioned at the start of this rule -## will be positive. Remove the the directory lock, which frees up -## any waiting process(es) to continue. -## - rmdir $(DEPDIR)/trellis-generate-lock; \ - else \ -## -## This code is being executed by any follower processes while the -## directory lock is in place. -## -## Wait until the first process is done, testing once per second. -## - while test -d $(DEPDIR)/trellis-generate-lock; do \ - sleep 1; \ - done; \ -## -## Succeed if and only if the first process succeeded; exit this -## process returning the status of the generated stamp. -## - test -f $(DEPDIR)/trellis-generate-python-stamp; \ - exit $$?; \ - fi; +guile/trellis.lo: trellis.lo +trellis.scm: trellis.i -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. -trellis_guile.h trellis.scm trellis_guile.cc: trellis.i -if GUILE - trap 'rm -rf $(DEPDIR)/trellis-generate-*' 1 2 13 15; \ - if mkdir $(DEPDIR)/trellis-generate-lock 2>/dev/null; then \ - rm -f $(DEPDIR)/trellis-generate-*stamp; \ - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/trellis-generate-guile-stamp WHAT=$<; \ - rmdir $(DEPDIR)/trellis-generate-lock; \ - else \ - while test -d $(DEPDIR)/trellis-generate-lock; do \ - sleep 1; \ - done; \ - test -f $(DEPDIR)/trellis-generate-guile-stamp; \ - exit $$?; \ - fi; endif # end of GUILE -$(DEPDIR)/trellis-generate-python-stamp: -## This rule will be called only by the first process issuing the -## above rule to succeed in creating the lock directory, after -## removing the actual stamp file in order to guarantee that MAKE will -## execute this rule. -## -## Call SWIG to generate the various output files; special -## post-processing on 'mingw32' host OS for the dependency file. -## - if $(SWIG) $(STD_SWIG_PYTHON_ARGS) $(trellis_swig_args) \ - -MD -MF python/$(DEPDIR)/trellis.Std \ - -module trellis -o python/trellis.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) python/$(DEPDIR)/trellis.Sd; \ - $(SED) 's,\\\\,/,g' < python/$(DEPDIR)/trellis.Std \ - > python/$(DEPDIR)/trellis.Sd; \ - $(RM) python/$(DEPDIR)/trellis.Std; \ - $(MV) python/$(DEPDIR)/trellis.Sd python/$(DEPDIR)/trellis.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/trellis.S*; exit 1; \ - fi; -## -## Mess with the SWIG output .Std dependency file, to create a -## dependecy file valid for the input .i file: Basically, simulate the -## dependency file created for libraries by GNU's libtool for C++, -## where all of the dependencies for the target are first listed, then -## each individual dependency is listed as a target with no further -## dependencies. -## -## (1) remove the current dependency file -## - $(RM) python/$(DEPDIR)/trellis.d -## -## (2) Copy the whole SWIG file: -## - cp python/$(DEPDIR)/trellis.Std python/$(DEPDIR)/trellis.d -## -## (3) all a carriage return to the end of the dependency file. -## - echo "" >> python/$(DEPDIR)/trellis.d -## -## (4) from the SWIG file, remove the first line (the target); remove -## trailing " \" and " " from each line. Append ":" to each line, -## followed by 2 carriage returns, then append this to the end of -## the dependency file. -## - $(SED) -e '1d;s, \\,,g;s, ,,g' < python/$(DEPDIR)/trellis.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> python/$(DEPDIR)/trellis.d -## -## (5) remove the SWIG-generated file -## - $(RM) python/$(DEPDIR)/trellis.Std -## -## Create the stamp for this filename generation, to signal success in -## executing this rule; allows other threads waiting on this process -## to continue. -## - touch $(DEPDIR)/trellis-generate-python-stamp - -# KLUDGE: Force runtime include of a SWIG dependency file. This is -# not guaranteed to be portable, but will probably work. If it works, -# we have accurate dependencies for our swig stuff, which is good. - -@am__include@ @am__quote@./python/$(DEPDIR)/trellis.d@am__quote@ - -$(DEPDIR)/trellis-generate-guile-stamp: -if GUILE -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. - if $(SWIG) $(STD_SWIG_ARGS) $(trellis_swig_args) \ - -MD -MF guile/$(DEPDIR)/trellis.Std \ - -module trellis -o guile/trellis.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) guile/$(DEPDIR)/trellis.Sd; \ - $(SED) 's,\\\\,/,g' < guile/$(DEPDIR)/trellis.Std \ - > guile/$(DEPDIR)/trellis.Sd; \ - $(RM) guile/$(DEPDIR)/trellis.Std; \ - $(MV) guile/$(DEPDIR)/trellis.Sd guile/$(DEPDIR)/trellis.Std; \ - fi; \ - else \ - $(RM) guile/$(DEPDIR)/trellis.S*; exit 1; \ - fi; - touch $(DEPDIR)/trellis-generate-guile-stamp - $(RM) guile/$(DEPDIR)/trellis.d - cp guile/$(DEPDIR)/trellis.Std $(DEPDIR)/trellis.d - echo "" >> guile/$(DEPDIR)/trellis.d - $(SED) -e '1d;s, \\,,g;s, ,,g' < guile/$(DEPDIR)/trellis.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> guile/$(DEPDIR)/trellis.d - $(RM) guile/$(DEPDIR)/trellis.Std - touch guile/$(DEPDIR)/trellis-generate-guile-stamp -else - touch guile/$(DEPDIR)/trellis-generate-guile-stamp -endif - -@am__include@ @am__quote@./$(DEPDIR)/trellis.d@am__quote@ +python/trellis.lo: +trellis.lo: trellis.py trellis.scm +trellis.py: trellis.i -#gnuradio_swig_py_runtime_python.h: gnuradio_swig_py_runtime.i diff --git a/gr-usrp2/src/Makefile.swig.gen b/gr-usrp2/src/Makefile.swig.gen index 22a6998ab..a5d151f11 100644 --- a/gr-usrp2/src/Makefile.swig.gen +++ b/gr-usrp2/src/Makefile.swig.gen @@ -82,9 +82,11 @@ MOSTLYCLEANFILES += $(DEPDIR)/*.S* ## .h file is sometimes built, but not always ... so that one has to ## be added manually by the including Makefile.am . -swig_built_sources += usrp2.py usrp2_python.cc +# generating the py or scm file also generates the .cc or .h files, +# but dependencies work better without the .cc ort .h files listed. +swig_built_sources += usrp2.py if GUILE -swig_built_sources += usrp2.scm usrp2_guile.cc +swig_built_sources += usrp2.scm endif ## Various SWIG variables. These can be overloaded in the including @@ -96,243 +98,50 @@ usrp2_swiginclude_HEADERS = \ $(usrp2_swiginclude_headers) usrp2_pylib_LTLIBRARIES = \ - _usrp2_python.la + _usrp2.la -_usrp2_python_la_SOURCES = \ - usrp2_python.cc \ +_usrp2_la_SOURCES = \ + python/usrp2.cc \ $(usrp2_la_swig_sources) -_usrp2_python_la_LIBADD = \ +_usrp2_la_LIBADD = \ $(STD_SWIG_LA_LIB_ADD) \ $(usrp2_la_swig_libadd) -_usrp2_python_la_LDFLAGS = \ +# _usrp2_la_DEPENDENCIES = python/usrp2.lo + +_usrp2_la_LDFLAGS = \ $(STD_SWIG_LA_LD_FLAGS) \ $(usrp2_la_swig_ldflags) -_usrp2_python_la_CXXFLAGS = \ +_usrp2_la_CXXFLAGS = \ $(STD_SWIG_CXX_FLAGS) \ + -I$(top_builddir) \ $(usrp2_la_swig_cxxflags) usrp2_python_PYTHON = \ usrp2.py \ - $(usrp2_python) + $(usrp2) if GUILE -usrp2_scmlib_LTLIBRARIES = _usrp2_guile.la -_usrp2_guile_la_SOURCES = \ - usrp2_guile.cc \ +usrp2_scmlib_LTLIBRARIES = usrp2_guile.la +usrp2_guile_la_SOURCES = \ + guile/usrp2.cc \ $(usrp2_la_swig_sources) usrp2_scm_DATA = usrp2.scm # Guile can use the same flags as python does -_usrp2_guile_la_LIBADD = $(_usrp2_python_la_LIBADD) -_usrp2_guile_la_LDFLAGS = $(_usrp2_python_la_LDFLAGS) -_usrp2_guile_la_CXXFLAGS = $(_usrp2_python_la_CXXFLAGS) - -endif # end of GUILE +usrp2_guile_la_LIBADD = $(_usrp2_la_LIBADD) +usrp2_guile_la_LDFLAGS = $(_usrp2_la_LDFLAGS) +usrp2_guile_la_CXXFLAGS = $(_usrp2_la_CXXFLAGS) -## Entry rule for running SWIG - -# $(python_deps) $(guile_deps): usrp2.i -usrp2_python.h usrp2.py usrp2_python.cc: usrp2.i -## This rule will get called only when MAKE decides that one of the -## targets needs to be created or re-created, because: -## -## * The .i file is newer than any or all of the generated files; -## -## * Any or all of the .cc, .h, or .py files does not exist and is -## needed (in the case this file is not needed, the rule for it is -## ignored); or -## -## * Some SWIG-based dependecy of the .cc file isn't met and hence the -## .cc file needs be be regenerated. Explanation: Because MAKE -## knows how to handle dependencies for .cc files (regardless of -## their name or extension), then the .cc file is used as a target -## instead of the .i file -- but with the dependencies of the .i -## file. It is this last reason why the line: -## -## if test -f $@; then :; else -## -## cannot be used in this case: If a .i file dependecy is not met, -## then the .cc file needs to be rebuilt. But if the stamp is newer -## than the .cc file, and the .cc file exists, then in the original -## version (with the 'test' above) the internal MAKE call will not -## be issued and hence the .cc file will not be rebuilt. -## -## Once execution gets to here, it should always proceed no matter the -## state of a stamp (as discussed in link above). The -## $(DEPDIR)/usrp2-generate stuff is used to allow for parallel -## builds to "do the right thing". The stamp has no relationship with -## either the target files or dependency file; it is used solely for -## the protection of multiple builds during a given call to MAKE. -## -## Catch signals SIGHUP (1), SIGINT (2), SIGPIPE (13), and SIGTERM -## (15). At a caught signal, the quoted command will be issued before -## exiting. In this case, remove any stamp, whether temporary of not. -## The trap is valid until the process exits; the process includes all -## commands appended via "\"s. -## - trap 'rm -rf $(DEPDIR)/usrp2-generate-*' 1 2 13 15; \ -## -## Create a temporary directory, which acts as a lock. The first -## process to create the directory will succeed and issue the MAKE -## command to do the actual work, while all subsequent processes will -## fail -- leading them to wait for the first process to finish. -## - if mkdir $(DEPDIR)/usrp2-generate-lock 2>/dev/null; then \ -## -## This code is being executed by the first process to succeed in -## creating the directory lock. -## -## Remove the stamp associated with this filename. -## - rm -f $(DEPDIR)/usrp2-generate-*stamp; \ -## -## Tell MAKE to run the rule for creating this stamp. -## - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/usrp2-generate-python-stamp WHAT=$<; \ -## -## Now that the .cc, .h, and .py files have been (re)created from the -## .i file, future checking of this rule during the same MAKE -## execution will come back that the rule doesn't need to be executed -## because none of the conditions mentioned at the start of this rule -## will be positive. Remove the the directory lock, which frees up -## any waiting process(es) to continue. -## - rmdir $(DEPDIR)/usrp2-generate-lock; \ - else \ -## -## This code is being executed by any follower processes while the -## directory lock is in place. -## -## Wait until the first process is done, testing once per second. -## - while test -d $(DEPDIR)/usrp2-generate-lock; do \ - sleep 1; \ - done; \ -## -## Succeed if and only if the first process succeeded; exit this -## process returning the status of the generated stamp. -## - test -f $(DEPDIR)/usrp2-generate-python-stamp; \ - exit $$?; \ - fi; +guile/usrp2.lo: usrp2.lo +usrp2.scm: usrp2.i -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. -usrp2_guile.h usrp2.scm usrp2_guile.cc: usrp2.i -if GUILE - trap 'rm -rf $(DEPDIR)/usrp2-generate-*' 1 2 13 15; \ - if mkdir $(DEPDIR)/usrp2-generate-lock 2>/dev/null; then \ - rm -f $(DEPDIR)/usrp2-generate-*stamp; \ - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/usrp2-generate-guile-stamp WHAT=$<; \ - rmdir $(DEPDIR)/usrp2-generate-lock; \ - else \ - while test -d $(DEPDIR)/usrp2-generate-lock; do \ - sleep 1; \ - done; \ - test -f $(DEPDIR)/usrp2-generate-guile-stamp; \ - exit $$?; \ - fi; endif # end of GUILE -$(DEPDIR)/usrp2-generate-python-stamp: -## This rule will be called only by the first process issuing the -## above rule to succeed in creating the lock directory, after -## removing the actual stamp file in order to guarantee that MAKE will -## execute this rule. -## -## Call SWIG to generate the various output files; special -## post-processing on 'mingw32' host OS for the dependency file. -## - if $(SWIG) $(STD_SWIG_PYTHON_ARGS) $(usrp2_swig_args) \ - -MD -MF $(DEPDIR)/usrp2_python.Std \ - -module usrp2 -o usrp2_python.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/usrp2_python.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/usrp2_python.Std \ - > $(DEPDIR)/usrp2_python.Sd; \ - $(RM) $(DEPDIR)/usrp2_python.Std; \ - $(MV) $(DEPDIR)/usrp2_python.Sd $(DEPDIR)/usrp2_python.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/usrp2_python.S*; exit 1; \ - fi; -## -## Mess with the SWIG output .Std dependency file, to create a -## dependecy file valid for the input .i file: Basically, simulate the -## dependency file created for libraries by GNU's libtool for C++, -## where all of the dependencies for the target are first listed, then -## each individual dependency is listed as a target with no further -## dependencies. -## -## (1) remove the current dependency file -## - $(RM) $(DEPDIR)/usrp2_python.d -## -## (2) Copy the whole SWIG file: -## - cp $(DEPDIR)/usrp2_python.Std $(DEPDIR)/usrp2_python.d -## -## (3) all a carriage return to the end of the dependency file. -## - echo "" >> $(DEPDIR)/usrp2_python.d -## -## (4) from the SWIG file, remove the first line (the target); remove -## trailing " \" and " " from each line. Append ":" to each line, -## followed by 2 carriage returns, then append this to the end of -## the dependency file. -## - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/usrp2_python.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/usrp2_python.d -## -## (5) remove the SWIG-generated file -## - $(RM) $(DEPDIR)/usrp2_python.Std -## -## Create the stamp for this filename generation, to signal success in -## executing this rule; allows other threads waiting on this process -## to continue. -## - touch $(DEPDIR)/usrp2-generate-python-stamp - -# KLUDGE: Force runtime include of a SWIG dependency file. This is -# not guaranteed to be portable, but will probably work. If it works, -# we have accurate dependencies for our swig stuff, which is good. - -@am__include@ @am__quote@./$(DEPDIR)/usrp2_python.d@am__quote@ - -$(DEPDIR)/usrp2-generate-guile-stamp: -if GUILE -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. - if $(SWIG) $(STD_SWIG_GUILE_ARGS) $(usrp2_swig_args) \ - -MD -MF $(DEPDIR)/usrp2_guile.Std \ - -module usrp2 -o usrp2_guile.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/usrp2_guile.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/usrp2_guile.Std \ - > $(DEPDIR)/usrp2_guile.Sd; \ - $(RM) $(DEPDIR)/usrp2_guile.Std; \ - $(MV) $(DEPDIR)/usrp2_guile.Sd $(DEPDIR)/usrp2_guile.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/usrp2_guile.S*; exit 1; \ - fi; - touch $(DEPDIR)/usrp2-generate-guile-stamp - $(RM) $(DEPDIR)/usrp2_guile.d - cp $(DEPDIR)/usrp2_guile.Std $(DEPDIR)/usrp2_guile.d - echo "" >> $(DEPDIR)/usrp2_guile.d - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/usrp2_guile.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/usrp2_guile.d - $(RM) $(DEPDIR)/usrp2_guile.Std - touch $(DEPDIR)/usrp2-generate-guile-stamp -else - touch $(DEPDIR)/usrp2-generate-guile-stamp -endif - -@am__include@ @am__quote@./$(DEPDIR)/usrp2_guile.d@am__quote@ +python/usrp2.lo: +usrp2.lo: usrp2.py usrp2.scm +usrp2.py: usrp2.i -#gnuradio_swig_py_runtime_python.h: gnuradio_swig_py_runtime.i diff --git a/gr-video-sdl/src/Makefile.swig.gen b/gr-video-sdl/src/Makefile.swig.gen index 15e2d4234..d09582c25 100644 --- a/gr-video-sdl/src/Makefile.swig.gen +++ b/gr-video-sdl/src/Makefile.swig.gen @@ -82,9 +82,11 @@ MOSTLYCLEANFILES += $(DEPDIR)/*.S* ## .h file is sometimes built, but not always ... so that one has to ## be added manually by the including Makefile.am . -swig_built_sources += video_sdl.py video_sdl_python.cc +# generating the py or scm file also generates the .cc or .h files, +# but dependencies work better without the .cc ort .h files listed. +swig_built_sources += video_sdl.py if GUILE -swig_built_sources += video_sdl.scm video_sdl_guile.cc +swig_built_sources += video_sdl.scm endif ## Various SWIG variables. These can be overloaded in the including @@ -96,243 +98,50 @@ video_sdl_swiginclude_HEADERS = \ $(video_sdl_swiginclude_headers) video_sdl_pylib_LTLIBRARIES = \ - _video_sdl_python.la + _video_sdl.la -_video_sdl_python_la_SOURCES = \ - video_sdl_python.cc \ +_video_sdl_la_SOURCES = \ + python/video_sdl.cc \ $(video_sdl_la_swig_sources) -_video_sdl_python_la_LIBADD = \ +_video_sdl_la_LIBADD = \ $(STD_SWIG_LA_LIB_ADD) \ $(video_sdl_la_swig_libadd) -_video_sdl_python_la_LDFLAGS = \ +# _video_sdl_la_DEPENDENCIES = python/video_sdl.lo + +_video_sdl_la_LDFLAGS = \ $(STD_SWIG_LA_LD_FLAGS) \ $(video_sdl_la_swig_ldflags) -_video_sdl_python_la_CXXFLAGS = \ +_video_sdl_la_CXXFLAGS = \ $(STD_SWIG_CXX_FLAGS) \ + -I$(top_builddir) \ $(video_sdl_la_swig_cxxflags) video_sdl_python_PYTHON = \ video_sdl.py \ - $(video_sdl_python) + $(video_sdl) if GUILE -video_sdl_scmlib_LTLIBRARIES = _video_sdl_guile.la -_video_sdl_guile_la_SOURCES = \ - video_sdl_guile.cc \ +video_sdl_scmlib_LTLIBRARIES = video_sdl_guile.la +video_sdl_guile_la_SOURCES = \ + guile/video_sdl.cc \ $(video_sdl_la_swig_sources) video_sdl_scm_DATA = video_sdl.scm # Guile can use the same flags as python does -_video_sdl_guile_la_LIBADD = $(_video_sdl_python_la_LIBADD) -_video_sdl_guile_la_LDFLAGS = $(_video_sdl_python_la_LDFLAGS) -_video_sdl_guile_la_CXXFLAGS = $(_video_sdl_python_la_CXXFLAGS) - -endif # end of GUILE +video_sdl_guile_la_LIBADD = $(_video_sdl_la_LIBADD) +video_sdl_guile_la_LDFLAGS = $(_video_sdl_la_LDFLAGS) +video_sdl_guile_la_CXXFLAGS = $(_video_sdl_la_CXXFLAGS) -## Entry rule for running SWIG - -# $(python_deps) $(guile_deps): video_sdl.i -video_sdl_python.h video_sdl.py video_sdl_python.cc: video_sdl.i -## This rule will get called only when MAKE decides that one of the -## targets needs to be created or re-created, because: -## -## * The .i file is newer than any or all of the generated files; -## -## * Any or all of the .cc, .h, or .py files does not exist and is -## needed (in the case this file is not needed, the rule for it is -## ignored); or -## -## * Some SWIG-based dependecy of the .cc file isn't met and hence the -## .cc file needs be be regenerated. Explanation: Because MAKE -## knows how to handle dependencies for .cc files (regardless of -## their name or extension), then the .cc file is used as a target -## instead of the .i file -- but with the dependencies of the .i -## file. It is this last reason why the line: -## -## if test -f $@; then :; else -## -## cannot be used in this case: If a .i file dependecy is not met, -## then the .cc file needs to be rebuilt. But if the stamp is newer -## than the .cc file, and the .cc file exists, then in the original -## version (with the 'test' above) the internal MAKE call will not -## be issued and hence the .cc file will not be rebuilt. -## -## Once execution gets to here, it should always proceed no matter the -## state of a stamp (as discussed in link above). The -## $(DEPDIR)/video_sdl-generate stuff is used to allow for parallel -## builds to "do the right thing". The stamp has no relationship with -## either the target files or dependency file; it is used solely for -## the protection of multiple builds during a given call to MAKE. -## -## Catch signals SIGHUP (1), SIGINT (2), SIGPIPE (13), and SIGTERM -## (15). At a caught signal, the quoted command will be issued before -## exiting. In this case, remove any stamp, whether temporary of not. -## The trap is valid until the process exits; the process includes all -## commands appended via "\"s. -## - trap 'rm -rf $(DEPDIR)/video_sdl-generate-*' 1 2 13 15; \ -## -## Create a temporary directory, which acts as a lock. The first -## process to create the directory will succeed and issue the MAKE -## command to do the actual work, while all subsequent processes will -## fail -- leading them to wait for the first process to finish. -## - if mkdir $(DEPDIR)/video_sdl-generate-lock 2>/dev/null; then \ -## -## This code is being executed by the first process to succeed in -## creating the directory lock. -## -## Remove the stamp associated with this filename. -## - rm -f $(DEPDIR)/video_sdl-generate-*stamp; \ -## -## Tell MAKE to run the rule for creating this stamp. -## - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/video_sdl-generate-python-stamp WHAT=$<; \ -## -## Now that the .cc, .h, and .py files have been (re)created from the -## .i file, future checking of this rule during the same MAKE -## execution will come back that the rule doesn't need to be executed -## because none of the conditions mentioned at the start of this rule -## will be positive. Remove the the directory lock, which frees up -## any waiting process(es) to continue. -## - rmdir $(DEPDIR)/video_sdl-generate-lock; \ - else \ -## -## This code is being executed by any follower processes while the -## directory lock is in place. -## -## Wait until the first process is done, testing once per second. -## - while test -d $(DEPDIR)/video_sdl-generate-lock; do \ - sleep 1; \ - done; \ -## -## Succeed if and only if the first process succeeded; exit this -## process returning the status of the generated stamp. -## - test -f $(DEPDIR)/video_sdl-generate-python-stamp; \ - exit $$?; \ - fi; +guile/video_sdl.lo: video_sdl.lo +video_sdl.scm: video_sdl.i -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. -video_sdl_guile.h video_sdl.scm video_sdl_guile.cc: video_sdl.i -if GUILE - trap 'rm -rf $(DEPDIR)/video_sdl-generate-*' 1 2 13 15; \ - if mkdir $(DEPDIR)/video_sdl-generate-lock 2>/dev/null; then \ - rm -f $(DEPDIR)/video_sdl-generate-*stamp; \ - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/video_sdl-generate-guile-stamp WHAT=$<; \ - rmdir $(DEPDIR)/video_sdl-generate-lock; \ - else \ - while test -d $(DEPDIR)/video_sdl-generate-lock; do \ - sleep 1; \ - done; \ - test -f $(DEPDIR)/video_sdl-generate-guile-stamp; \ - exit $$?; \ - fi; endif # end of GUILE -$(DEPDIR)/video_sdl-generate-python-stamp: -## This rule will be called only by the first process issuing the -## above rule to succeed in creating the lock directory, after -## removing the actual stamp file in order to guarantee that MAKE will -## execute this rule. -## -## Call SWIG to generate the various output files; special -## post-processing on 'mingw32' host OS for the dependency file. -## - if $(SWIG) $(STD_SWIG_PYTHON_ARGS) $(video_sdl_swig_args) \ - -MD -MF $(DEPDIR)/video_sdl_python.Std \ - -module video_sdl -o video_sdl_python.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/video_sdl_python.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/video_sdl_python.Std \ - > $(DEPDIR)/video_sdl_python.Sd; \ - $(RM) $(DEPDIR)/video_sdl_python.Std; \ - $(MV) $(DEPDIR)/video_sdl_python.Sd $(DEPDIR)/video_sdl_python.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/video_sdl_python.S*; exit 1; \ - fi; -## -## Mess with the SWIG output .Std dependency file, to create a -## dependecy file valid for the input .i file: Basically, simulate the -## dependency file created for libraries by GNU's libtool for C++, -## where all of the dependencies for the target are first listed, then -## each individual dependency is listed as a target with no further -## dependencies. -## -## (1) remove the current dependency file -## - $(RM) $(DEPDIR)/video_sdl_python.d -## -## (2) Copy the whole SWIG file: -## - cp $(DEPDIR)/video_sdl_python.Std $(DEPDIR)/video_sdl_python.d -## -## (3) all a carriage return to the end of the dependency file. -## - echo "" >> $(DEPDIR)/video_sdl_python.d -## -## (4) from the SWIG file, remove the first line (the target); remove -## trailing " \" and " " from each line. Append ":" to each line, -## followed by 2 carriage returns, then append this to the end of -## the dependency file. -## - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/video_sdl_python.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/video_sdl_python.d -## -## (5) remove the SWIG-generated file -## - $(RM) $(DEPDIR)/video_sdl_python.Std -## -## Create the stamp for this filename generation, to signal success in -## executing this rule; allows other threads waiting on this process -## to continue. -## - touch $(DEPDIR)/video_sdl-generate-python-stamp - -# KLUDGE: Force runtime include of a SWIG dependency file. This is -# not guaranteed to be portable, but will probably work. If it works, -# we have accurate dependencies for our swig stuff, which is good. - -@am__include@ @am__quote@./$(DEPDIR)/video_sdl_python.d@am__quote@ - -$(DEPDIR)/video_sdl-generate-guile-stamp: -if GUILE -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. - if $(SWIG) $(STD_SWIG_GUILE_ARGS) $(video_sdl_swig_args) \ - -MD -MF $(DEPDIR)/video_sdl_guile.Std \ - -module video_sdl -o video_sdl_guile.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/video_sdl_guile.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/video_sdl_guile.Std \ - > $(DEPDIR)/video_sdl_guile.Sd; \ - $(RM) $(DEPDIR)/video_sdl_guile.Std; \ - $(MV) $(DEPDIR)/video_sdl_guile.Sd $(DEPDIR)/video_sdl_guile.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/video_sdl_guile.S*; exit 1; \ - fi; - touch $(DEPDIR)/video_sdl-generate-guile-stamp - $(RM) $(DEPDIR)/video_sdl_guile.d - cp $(DEPDIR)/video_sdl_guile.Std $(DEPDIR)/video_sdl_guile.d - echo "" >> $(DEPDIR)/video_sdl_guile.d - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/video_sdl_guile.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/video_sdl_guile.d - $(RM) $(DEPDIR)/video_sdl_guile.Std - touch $(DEPDIR)/video_sdl-generate-guile-stamp -else - touch $(DEPDIR)/video_sdl-generate-guile-stamp -endif - -@am__include@ @am__quote@./$(DEPDIR)/video_sdl_guile.d@am__quote@ +python/video_sdl.lo: +video_sdl.lo: video_sdl.py video_sdl.scm +video_sdl.py: video_sdl.i -#gnuradio_swig_py_runtime_python.h: gnuradio_swig_py_runtime.i -- cgit