# -*- Makefile -*- # # Copyright 2009 Free Software Foundation, Inc. # # This file is part of GNU Radio # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, or (at your option) # any later version. # # GNU Radio is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Radio; see the file COPYING. If not, write to # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. # # Makefile.swig.gen for gnuradio_swig_py_runtime.i ## Default install locations for these files: ## ## Default location for the Python directory is: ## ${prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_swig_py_runtime ## Default location for the Python exec directory is: ## ${exec_prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_swig_py_runtime ## ## The following can be overloaded to change the install location, but ## this has to be done in the including Makefile.am -before- ## Makefile.swig is included. gnuradio_swig_py_runtime_pythondir_category ?= gnuradio/gnuradio_swig_py_runtime gnuradio_swig_py_runtime_pylibdir_category ?= $(gnuradio_swig_py_runtime_pythondir_category) gnuradio_swig_py_runtime_pythondir = $(pythondir)/$(gnuradio_swig_py_runtime_pythondir_category) gnuradio_swig_py_runtime_pylibdir = $(pyexecdir)/$(gnuradio_swig_py_runtime_pylibdir_category) ## SWIG headers are always installed into the same directory. gnuradio_swig_py_runtime_swigincludedir = $(swigincludedir) ## This is a template file for a "generated" Makefile addition (in ## this case, "Makefile.swig.gen"). By including the top-level ## Makefile.swig, this file will be used to generate the SWIG ## dependencies. Assign the variable TOP_SWIG_FILES to be the list of ## SWIG .i files to generated wrappings for; there can be more than 1 ## so long as the names are unique (no sorting is done on the ## TOP_SWIG_FILES list). This file explicitly assumes that a SWIG .i ## file will generate .cc, .py, and possibly .h files -- meaning that ## all of these files will have the same base name (that provided for ## the SWIG .i file). ## ## This code is setup to ensure parallel MAKE ("-j" or "-jN") does the ## right thing. For more info, see < ## http://sources.redhat.com/automake/automake.html#Multiple-Outputs > ## Stamps used to ensure parallel make does the right thing. These ## are removed by "make clean", but otherwise unused except during the ## parallel built. These will not be included in a tarball, because ## the SWIG-generated files will be removed from the distribution. STAMPS += $(DEPDIR)/gnuradio_swig_py_runtime-generate-* ## Other cleaned files: dependency files generated by SWIG or this Makefile MOSTLYCLEANFILES += $(DEPDIR)/*.S* ## Add the .py and .cc files to the list of SWIG built sources. The ## .h file is sometimes built, but not always ... so that one has to ## be added manually by the including Makefile.am . swig_built_sources += gnuradio_swig_py_runtime.py gnuradio_swig_py_runtime.cc ## Various SWIG variables. These can be overloaded in the including ## Makefile.am by setting the variable value there, then including ## Makefile.swig . gnuradio_swig_py_runtime_swiginclude_HEADERS = \ gnuradio_swig_py_runtime.i \ $(gnuradio_swig_py_runtime_swiginclude_headers) gnuradio_swig_py_runtime_pylib_LTLIBRARIES = \ _gnuradio_swig_py_runtime.la _gnuradio_swig_py_runtime_la_SOURCES = \ gnuradio_swig_py_runtime.cc \ $(gnuradio_swig_py_runtime_la_swig_sources) _gnuradio_swig_py_runtime_la_LIBADD = \ $(STD_SWIG_LA_LIB_ADD) \ $(gnuradio_swig_py_runtime_la_swig_libadd) _gnuradio_swig_py_runtime_la_LDFLAGS = \ $(STD_SWIG_LA_LD_FLAGS) \ $(gnuradio_swig_py_runtime_la_swig_ldflags) _gnuradio_swig_py_runtime_la_CXXFLAGS = \ $(STD_SWIG_CXX_FLAGS) \ $(gnuradio_swig_py_runtime_la_swig_cxxflags) gnuradio_swig_py_runtime_python_PYTHON = \ gnuradio_swig_py_runtime.py \ $(gnuradio_swig_py_runtime_python) ## Entry rule for running SWIG gnuradio_swig_py_runtime.h gnuradio_swig_py_runtime.py gnuradio_swig_py_runtime.cc: gnuradio_swig_py_runtime.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.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 or the swig_doc.i are 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)/gnuradio_swig_py_runtime-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)/gnuradio_swig_py_runtime-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)/gnuradio_swig_py_runtime-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)/gnuradio_swig_py_runtime-generate-stamp; \ ## ## Tell MAKE to run the rule for creating this stamp. ## $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/gnuradio_swig_py_runtime-generate-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)/gnuradio_swig_py_runtime-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)/gnuradio_swig_py_runtime-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)/gnuradio_swig_py_runtime-generate-stamp; \ exit $$?; \ fi; $(DEPDIR)/gnuradio_swig_py_runtime-generate-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) $(gnuradio_swig_py_runtime_swig_args) \ -MD -MF $(DEPDIR)/gnuradio_swig_py_runtime.Std \ -module gnuradio_swig_py_runtime -o gnuradio_swig_py_runtime.cc $(WHAT); then \ if test $(host_os) = mingw32; then \ $(RM) $(DEPDIR)/gnuradio_swig_py_runtime.Sd; \ $(SED) 's,\\\\,/,g' < $(DEPDIR)/gnuradio_swig_py_runtime.Std \ > $(DEPDIR)/gnuradio_swig_py_runtime.Sd; \ $(RM) $(DEPDIR)/gnuradio_swig_py_runtime.Std; \ $(MV) $(DEPDIR)/gnuradio_swig_py_runtime.Sd $(DEPDIR)/gnuradio_swig_py_runtime.Std; \ fi; \ else \ $(RM) $(DEPDIR)/gnuradio_swig_py_runtime.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)/gnuradio_swig_py_runtime.d ## ## (2) Copy the whole SWIG file: ## cp $(DEPDIR)/gnuradio_swig_py_runtime.Std $(DEPDIR)/gnuradio_swig_py_runtime.d ## ## (3) all a carriage return to the end of the dependency file. ## echo "" >> $(DEPDIR)/gnuradio_swig_py_runtime.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)/gnuradio_swig_py_runtime.Std | \ awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/gnuradio_swig_py_runtime.d ## ## (5) remove the SWIG-generated file ## $(RM) $(DEPDIR)/gnuradio_swig_py_runtime.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)/gnuradio_swig_py_runtime-generate-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)/gnuradio_swig_py_runtime.d@am__quote@ # -*- Makefile -*- # # Copyright 2009 Free Software Foundation, Inc. # # This file is part of GNU Radio # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, or (at your option) # any later version. # # GNU Radio is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Radio; see the file COPYING. If not, write to # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. # # Makefile.swig.gen for gnuradio_swig_py_general.i ## Default install locations for these files: ## ## Default location for the Python directory is: ## ${prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_swig_py_general ## Default location for the Python exec directory is: ## ${exec_prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_swig_py_general ## ## The following can be overloaded to change the install location, but ## this has to be done in the including Makefile.am -before- ## Makefile.swig is included. gnuradio_swig_py_general_pythondir_category ?= gnuradio/gnuradio_swig_py_general gnuradio_swig_py_general_pylibdir_category ?= $(gnuradio_swig_py_general_pythondir_category) gnuradio_swig_py_general_pythondir = $(pythondir)/$(gnuradio_swig_py_general_pythondir_category) gnuradio_swig_py_general_pylibdir = $(pyexecdir)/$(gnuradio_swig_py_general_pylibdir_category) ## SWIG headers are always installed into the same directory. gnuradio_swig_py_general_swigincludedir = $(swigincludedir) ## This is a template file for a "generated" Makefile addition (in ## this case, "Makefile.swig.gen"). By including the top-level ## Makefile.swig, this file will be used to generate the SWIG ## dependencies. Assign the variable TOP_SWIG_FILES to be the list of ## SWIG .i files to generated wrappings for; there can be more than 1 ## so long as the names are unique (no sorting is done on the ## TOP_SWIG_FILES list). This file explicitly assumes that a SWIG .i ## file will generate .cc, .py, and possibly .h files -- meaning that ## all of these files will have the same base name (that provided for ## the SWIG .i file). ## ## This code is setup to ensure parallel MAKE ("-j" or "-jN") does the ## right thing. For more info, see < ## http://sources.redhat.com/automake/automake.html#Multiple-Outputs > ## Stamps used to ensure parallel make does the right thing. These ## are removed by "make clean", but otherwise unused except during the ## parallel built. These will not be included in a tarball, because ## the SWIG-generated files will be removed from the distribution. STAMPS += $(DEPDIR)/gnuradio_swig_py_general-generate-* ## Other cleaned files: dependency files generated by SWIG or this Makefile MOSTLYCLEANFILES += $(DEPDIR)/*.S* ## Add the .py and .cc files to the list of SWIG built sources. The ## .h file is sometimes built, but not always ... so that one has to ## be added manually by the including Makefile.am . swig_built_sources += gnuradio_swig_py_general.py gnuradio_swig_py_general.cc ## Various SWIG variables. These can be overloaded in the including ## Makefile.am by setting the variable value there, then including ## Makefile.swig . gnuradio_swig_py_general_swiginclude_HEADERS = \ gnuradio_swig_py_general.i \ $(gnuradio_swig_py_general_swiginclude_headers) gnuradio_swig_py_general_pylib_LTLIBRARIES = \ _gnuradio_swig_py_general.la _gnuradio_swig_py_general_la_SOURCES = \ gnuradio_swig_py_general.cc \ $(gnuradio_swig_py_general_la_swig_sources) _gnuradio_swig_py_general_la_LIBADD = \ $(STD_SWIG_LA_LIB_ADD) \ $(gnuradio_swig_py_general_la_swig_libadd) _gnuradio_swig_py_general_la_LDFLAGS = \ $(STD_SWIG_LA_LD_FLAGS) \ $(gnuradio_swig_py_general_la_swig_ldflags) _gnuradio_swig_py_general_la_CXXFLAGS = \ $(STD_SWIG_CXX_FLAGS) \ $(gnuradio_swig_py_general_la_swig_cxxflags) gnuradio_swig_py_general_python_PYTHON = \ gnuradio_swig_py_general.py \ $(gnuradio_swig_py_general_python) ## Entry rule for running SWIG gnuradio_swig_py_general.h gnuradio_swig_py_general.py gnuradio_swig_py_general.cc: gnuradio_swig_py_general.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.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 or the swig_doc.i are 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)/gnuradio_swig_py_general-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)/gnuradio_swig_py_general-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)/gnuradio_swig_py_general-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)/gnuradio_swig_py_general-generate-stamp; \ ## ## Tell MAKE to run the rule for creating this stamp. ## $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/gnuradio_swig_py_general-generate-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)/gnuradio_swig_py_general-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)/gnuradio_swig_py_general-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)/gnuradio_swig_py_general-generate-stamp; \ exit $$?; \ fi; $(DEPDIR)/gnuradio_swig_py_general-generate-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) $(gnuradio_swig_py_general_swig_args) \ -MD -MF $(DEPDIR)/gnuradio_swig_py_general.Std \ -module gnuradio_swig_py_general -o gnuradio_swig_py_general.cc $(WHAT); then \ if test $(host_os) = mingw32; then \ $(RM) $(DEPDIR)/gnuradio_swig_py_general.Sd; \ $(SED) 's,\\\\,/,g' < $(DEPDIR)/gnuradio_swig_py_general.Std \ > $(DEPDIR)/gnuradio_swig_py_general.Sd; \ $(RM) $(DEPDIR)/gnuradio_swig_py_general.Std; \ $(MV) $(DEPDIR)/gnuradio_swig_py_general.Sd $(DEPDIR)/gnuradio_swig_py_general.Std; \ fi; \ else \ $(RM) $(DEPDIR)/gnuradio_swig_py_general.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)/gnuradio_swig_py_general.d ## ## (2) Copy the whole SWIG file: ## cp $(DEPDIR)/gnuradio_swig_py_general.Std $(DEPDIR)/gnuradio_swig_py_general.d ## ## (3) all a carriage return to the end of the dependency file. ## echo "" >> $(DEPDIR)/gnuradio_swig_py_general.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)/gnuradio_swig_py_general.Std | \ awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/gnuradio_swig_py_general.d ## ## (5) remove the SWIG-generated file ## $(RM) $(DEPDIR)/gnuradio_swig_py_general.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)/gnuradio_swig_py_general-generate-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)/gnuradio_swig_py_general.d@am__quote@ # -*- Makefile -*- # # Copyright 2009 Free Software Foundation, Inc. # # This file is part of GNU Radio # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, or (at your option) # any later version. # # GNU Radio is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Radio; see the file COPYING. If not, write to # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. # # Makefile.swig.gen for gnuradio_swig_py_gengen.i ## Default install locations for these files: ## ## Default location for the Python directory is: ## ${prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_swig_py_gengen ## Default location for the Python exec directory is: ## ${exec_prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_swig_py_gengen ## ## The following can be overloaded to change the install location, but ## this has to be done in the including Makefile.am -before- ## Makefile.swig is included. gnuradio_swig_py_gengen_pythondir_category ?= gnuradio/gnuradio_swig_py_gengen gnuradio_swig_py_gengen_pylibdir_category ?= $(gnuradio_swig_py_gengen_pythondir_category) gnuradio_swig_py_gengen_pythondir = $(pythondir)/$(gnuradio_swig_py_gengen_pythondir_category) gnuradio_swig_py_gengen_pylibdir = $(pyexecdir)/$(gnuradio_swig_py_gengen_pylibdir_category) ## SWIG headers are always installed into the same directory. gnuradio_swig_py_gengen_swigincludedir = $(swigincludedir) ## This is a template file for a "generated" Makefile addition (in ## this case, "Makefile.swig.gen"). By including the top-level ## Makefile.swig, this file will be used to generate the SWIG ## dependencies. Assign the variable TOP_SWIG_FILES to be the list of ## SWIG .i files to generated wrappings for; there can be more than 1 ## so long as the names are unique (no sorting is done on the ## TOP_SWIG_FILES list). This file explicitly assumes that a SWIG .i ## file will generate .cc, .py, and possibly .h files -- meaning that ## all of these files will have the same base name (that provided for ## the SWIG .i file). ## ## This code is setup to ensure parallel MAKE ("-j" or "-jN") does the ## right thing. For more info, see < ## http://sources.redhat.com/automake/automake.html#Multiple-Outputs > ## Stamps used to ensure parallel make does the right thing. These ## are removed by "make clean", but otherwise unused except during the ## parallel built. These will not be included in a tarball, because ## the SWIG-generated files will be removed from the distribution. STAMPS += $(DEPDIR)/gnuradio_swig_py_gengen-generate-* ## Other cleaned files: dependency files generated by SWIG or this Makefile MOSTLYCLEANFILES += $(DEPDIR)/*.S* ## Add the .py and .cc files to the list of SWIG built sources. The ## .h file is sometimes built, but not always ... so that one has to ## be added manually by the including Makefile.am . swig_built_sources += gnuradio_swig_py_gengen.py gnuradio_swig_py_gengen.cc ## Various SWIG variables. These can be overloaded in the including ## Makefile.am by setting the variable value there, then including ## Makefile.swig . gnuradio_swig_py_gengen_swiginclude_HEADERS = \ gnuradio_swig_py_gengen.i \ $(gnuradio_swig_py_gengen_swiginclude_headers) gnuradio_swig_py_gengen_pylib_LTLIBRARIES = \ _gnuradio_swig_py_gengen.la _gnuradio_swig_py_gengen_la_SOURCES = \ gnuradio_swig_py_gengen.cc \ $(gnuradio_swig_py_gengen_la_swig_sources) _gnuradio_swig_py_gengen_la_LIBADD = \ $(STD_SWIG_LA_LIB_ADD) \ $(gnuradio_swig_py_gengen_la_swig_libadd) _gnuradio_swig_py_gengen_la_LDFLAGS = \ $(STD_SWIG_LA_LD_FLAGS) \ $(gnuradio_swig_py_gengen_la_swig_ldflags) _gnuradio_swig_py_gengen_la_CXXFLAGS = \ $(STD_SWIG_CXX_FLAGS) \ $(gnuradio_swig_py_gengen_la_swig_cxxflags) gnuradio_swig_py_gengen_python_PYTHON = \ gnuradio_swig_py_gengen.py \ $(gnuradio_swig_py_gengen_python) ## Entry rule for running SWIG gnuradio_swig_py_gengen.h gnuradio_swig_py_gengen.py gnuradio_swig_py_gengen.cc: gnuradio_swig_py_gengen.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.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 or the swig_doc.i are 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)/gnuradio_swig_py_gengen-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)/gnuradio_swig_py_gengen-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)/gnuradio_swig_py_gengen-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)/gnuradio_swig_py_gengen-generate-stamp; \ ## ## Tell MAKE to run the rule for creating this stamp. ## $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/gnuradio_swig_py_gengen-generate-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)/gnuradio_swig_py_gengen-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)/gnuradio_swig_py_gengen-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)/gnuradio_swig_py_gengen-generate-stamp; \ exit $$?; \ fi; $(DEPDIR)/gnuradio_swig_py_gengen-generate-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) $(gnuradio_swig_py_gengen_swig_args) \ -MD -MF $(DEPDIR)/gnuradio_swig_py_gengen.Std \ -module gnuradio_swig_py_gengen -o gnuradio_swig_py_gengen.cc $(WHAT); then \ if test $(host_os) = mingw32; then \ $(RM) $(DEPDIR)/gnuradio_swig_py_gengen.Sd; \ $(SED) 's,\\\\,/,g' < $(DEPDIR)/gnuradio_swig_py_gengen.Std \ > $(DEPDIR)/gnuradio_swig_py_gengen.Sd; \ $(RM) $(DEPDIR)/gnuradio_swig_py_gengen.Std; \ $(MV) $(DEPDIR)/gnuradio_swig_py_gengen.Sd $(DEPDIR)/gnuradio_swig_py_gengen.Std; \ fi; \ else \ $(RM) $(DEPDIR)/gnuradio_swig_py_gengen.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)/gnuradio_swig_py_gengen.d ## ## (2) Copy the whole SWIG file: ## cp $(DEPDIR)/gnuradio_swig_py_gengen.Std $(DEPDIR)/gnuradio_swig_py_gengen.d ## ## (3) all a carriage return to the end of the dependency file. ## echo "" >> $(DEPDIR)/gnuradio_swig_py_gengen.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)/gnuradio_swig_py_gengen.Std | \ awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/gnuradio_swig_py_gengen.d ## ## (5) remove the SWIG-generated file ## $(RM) $(DEPDIR)/gnuradio_swig_py_gengen.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)/gnuradio_swig_py_gengen-generate-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)/gnuradio_swig_py_gengen.d@am__quote@ # -*- Makefile -*- # # Copyright 2009 Free Software Foundation, Inc. # # This file is part of GNU Radio # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, or (at your option) # any later version. # # GNU Radio is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Radio; see the file COPYING. If not, write to # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. # # Makefile.swig.gen for gnuradio_swig_py_filter.i ## Default install locations for these files: ## ## Default location for the Python directory is: ## ${prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_swig_py_filter ## Default location for the Python exec directory is: ## ${exec_prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_swig_py_filter ## ## The following can be overloaded to change the install location, but ## this has to be done in the including Makefile.am -before- ## Makefile.swig is included. gnuradio_swig_py_filter_pythondir_category ?= gnuradio/gnuradio_swig_py_filter gnuradio_swig_py_filter_pylibdir_category ?= $(gnuradio_swig_py_filter_pythondir_category) gnuradio_swig_py_filter_pythondir = $(pythondir)/$(gnuradio_swig_py_filter_pythondir_category) gnuradio_swig_py_filter_pylibdir = $(pyexecdir)/$(gnuradio_swig_py_filter_pylibdir_category) ## SWIG headers are always installed into the same directory. gnuradio_swig_py_filter_swigincludedir = $(swigincludedir) ## This is a template file for a "generated" Makefile addition (in ## this case, "Makefile.swig.gen"). By including the top-level ## Makefile.swig, this file will be used to generate the SWIG ## dependencies. Assign the variable TOP_SWIG_FILES to be the list of ## SWIG .i files to generated wrappings for; there can be more than 1 ## so long as the names are unique (no sorting is done on the ## TOP_SWIG_FILES list). This file explicitly assumes that a SWIG .i ## file will generate .cc, .py, and possibly .h files -- meaning that ## all of these files will have the same base name (that provided for ## the SWIG .i file). ## ## This code is setup to ensure parallel MAKE ("-j" or "-jN") does the ## right thing. For more info, see < ## http://sources.redhat.com/automake/automake.html#Multiple-Outputs > ## Stamps used to ensure parallel make does the right thing. These ## are removed by "make clean", but otherwise unused except during the ## parallel built. These will not be included in a tarball, because ## the SWIG-generated files will be removed from the distribution. STAMPS += $(DEPDIR)/gnuradio_swig_py_filter-generate-* ## Other cleaned files: dependency files generated by SWIG or this Makefile MOSTLYCLEANFILES += $(DEPDIR)/*.S* ## Add the .py and .cc files to the list of SWIG built sources. The ## .h file is sometimes built, but not always ... so that one has to ## be added manually by the including Makefile.am . swig_built_sources += gnuradio_swig_py_filter.py gnuradio_swig_py_filter.cc ## Various SWIG variables. These can be overloaded in the including ## Makefile.am by setting the variable value there, then including ## Makefile.swig . gnuradio_swig_py_filter_swiginclude_HEADERS = \ gnuradio_swig_py_filter.i \ $(gnuradio_swig_py_filter_swiginclude_headers) gnuradio_swig_py_filter_pylib_LTLIBRARIES = \ _gnuradio_swig_py_filter.la _gnuradio_swig_py_filter_la_SOURCES = \ gnuradio_swig_py_filter.cc \ $(gnuradio_swig_py_filter_la_swig_sources) _gnuradio_swig_py_filter_la_LIBADD = \ $(STD_SWIG_LA_LIB_ADD) \ $(gnuradio_swig_py_filter_la_swig_libadd) _gnuradio_swig_py_filter_la_LDFLAGS = \ $(STD_SWIG_LA_LD_FLAGS) \ $(gnuradio_swig_py_filter_la_swig_ldflags) _gnuradio_swig_py_filter_la_CXXFLAGS = \ $(STD_SWIG_CXX_FLAGS) \ $(gnuradio_swig_py_filter_la_swig_cxxflags) gnuradio_swig_py_filter_python_PYTHON = \ gnuradio_swig_py_filter.py \ $(gnuradio_swig_py_filter_python) ## Entry rule for running SWIG gnuradio_swig_py_filter.h gnuradio_swig_py_filter.py gnuradio_swig_py_filter.cc: gnuradio_swig_py_filter.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.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 or the swig_doc.i are 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)/gnuradio_swig_py_filter-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)/gnuradio_swig_py_filter-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)/gnuradio_swig_py_filter-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)/gnuradio_swig_py_filter-generate-stamp; \ ## ## Tell MAKE to run the rule for creating this stamp. ## $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/gnuradio_swig_py_filter-generate-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)/gnuradio_swig_py_filter-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)/gnuradio_swig_py_filter-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)/gnuradio_swig_py_filter-generate-stamp; \ exit $$?; \ fi; $(DEPDIR)/gnuradio_swig_py_filter-generate-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) $(gnuradio_swig_py_filter_swig_args) \ -MD -MF $(DEPDIR)/gnuradio_swig_py_filter.Std \ -module gnuradio_swig_py_filter -o gnuradio_swig_py_filter.cc $(WHAT); then \ if test $(host_os) = mingw32; then \ $(RM) $(DEPDIR)/gnuradio_swig_py_filter.Sd; \ $(SED) 's,\\\\,/,g' < $(DEPDIR)/gnuradio_swig_py_filter.Std \ > $(DEPDIR)/gnuradio_swig_py_filter.Sd; \ $(RM) $(DEPDIR)/gnuradio_swig_py_filter.Std; \ $(MV) $(DEPDIR)/gnuradio_swig_py_filter.Sd $(DEPDIR)/gnuradio_swig_py_filter.Std; \ fi; \ else \ $(RM) $(DEPDIR)/gnuradio_swig_py_filter.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)/gnuradio_swig_py_filter.d ## ## (2) Copy the whole SWIG file: ## cp $(DEPDIR)/gnuradio_swig_py_filter.Std $(DEPDIR)/gnuradio_swig_py_filter.d ## ## (3) all a carriage return to the end of the dependency file. ## echo "" >> $(DEPDIR)/gnuradio_swig_py_filter.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)/gnuradio_swig_py_filter.Std | \ awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/gnuradio_swig_py_filter.d ## ## (5) remove the SWIG-generated file ## $(RM) $(DEPDIR)/gnuradio_swig_py_filter.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)/gnuradio_swig_py_filter-generate-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)/gnuradio_swig_py_filter.d@am__quote@ # -*- Makefile -*- # # Copyright 2009 Free Software Foundation, Inc. # # This file is part of GNU Radio # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, or (at your option) # any later version. # # GNU Radio is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Radio; see the file COPYING. If not, write to # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. # # Makefile.swig.gen for gnuradio_swig_py_io.i ## Default install locations for these files: ## ## Default location for the Python directory is: ## ${prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_swig_py_io ## Default location for the Python exec directory is: ## ${exec_prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_swig_py_io ## ## The following can be overloaded to change the install location, but ## this has to be done in the including Makefile.am -before- ## Makefile.swig is included. gnuradio_swig_py_io_pythondir_category ?= gnuradio/gnuradio_swig_py_io gnuradio_swig_py_io_pylibdir_category ?= $(gnuradio_swig_py_io_pythondir_category) gnuradio_swig_py_io_pythondir = $(pythondir)/$(gnuradio_swig_py_io_pythondir_category) gnuradio_swig_py_io_pylibdir = $(pyexecdir)/$(gnuradio_swig_py_io_pylibdir_category) ## SWIG headers are always installed into the same directory. gnuradio_swig_py_io_swigincludedir = $(swigincludedir) ## This is a template file for a "generated" Makefile addition (in ## this case, "Makefile.swig.gen"). By including the top-level ## Makefile.swig, this file will be used to generate the SWIG ## dependencies. Assign the variable TOP_SWIG_FILES to be the list of ## SWIG .i files to generated wrappings for; there can be more than 1 ## so long as the names are unique (no sorting is done on the ## TOP_SWIG_FILES list). This file explicitly assumes that a SWIG .i ## file will generate .cc, .py, and possibly .h files -- meaning that ## all of these files will have the same base name (that provided for ## the SWIG .i file). ## ## This code is setup to ensure parallel MAKE ("-j" or "-jN") does the ## right thing. For more info, see < ## http://sources.redhat.com/automake/automake.html#Multiple-Outputs > ## Stamps used to ensure parallel make does the right thing. These ## are removed by "make clean", but otherwise unused except during the ## parallel built. These will not be included in a tarball, because ## the SWIG-generated files will be removed from the distribution. STAMPS += $(DEPDIR)/gnuradio_swig_py_io-generate-* ## Other cleaned files: dependency files generated by SWIG or this Makefile MOSTLYCLEANFILES += $(DEPDIR)/*.S* ## Add the .py and .cc files to the list of SWIG built sources. The ## .h file is sometimes built, but not always ... so that one has to ## be added manually by the including Makefile.am . swig_built_sources += gnuradio_swig_py_io.py gnuradio_swig_py_io.cc ## Various SWIG variables. These can be overloaded in the including ## Makefile.am by setting the variable value there, then including ## Makefile.swig . gnuradio_swig_py_io_swiginclude_HEADERS = \ gnuradio_swig_py_io.i \ $(gnuradio_swig_py_io_swiginclude_headers) gnuradio_swig_py_io_pylib_LTLIBRARIES = \ _gnuradio_swig_py_io.la _gnuradio_swig_py_io_la_SOURCES = \ gnuradio_swig_py_io.cc \ $(gnuradio_swig_py_io_la_swig_sources) _gnuradio_swig_py_io_la_LIBADD = \ $(STD_SWIG_LA_LIB_ADD) \ $(gnuradio_swig_py_io_la_swig_libadd) _gnuradio_swig_py_io_la_LDFLAGS = \ $(STD_SWIG_LA_LD_FLAGS) \ $(gnuradio_swig_py_io_la_swig_ldflags) _gnuradio_swig_py_io_la_CXXFLAGS = \ $(STD_SWIG_CXX_FLAGS) \ $(gnuradio_swig_py_io_la_swig_cxxflags) gnuradio_swig_py_io_python_PYTHON = \ gnuradio_swig_py_io.py \ $(gnuradio_swig_py_io_python) ## Entry rule for running SWIG gnuradio_swig_py_io.h gnuradio_swig_py_io.py gnuradio_swig_py_io.cc: gnuradio_swig_py_io.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.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 or the swig_doc.i are 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)/gnuradio_swig_py_io-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)/gnuradio_swig_py_io-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)/gnuradio_swig_py_io-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)/gnuradio_swig_py_io-generate-stamp; \ ## ## Tell MAKE to run the rule for creating this stamp. ## $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/gnuradio_swig_py_io-generate-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)/gnuradio_swig_py_io-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)/gnuradio_swig_py_io-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)/gnuradio_swig_py_io-generate-stamp; \ exit $$?; \ fi; $(DEPDIR)/gnuradio_swig_py_io-generate-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) $(gnuradio_swig_py_io_swig_args) \ -MD -MF $(DEPDIR)/gnuradio_swig_py_io.Std \ -module gnuradio_swig_py_io -o gnuradio_swig_py_io.cc $(WHAT); then \ if test $(host_os) = mingw32; then \ $(RM) $(DEPDIR)/gnuradio_swig_py_io.Sd; \ $(SED) 's,\\\\,/,g' < $(DEPDIR)/gnuradio_swig_py_io.Std \ > $(DEPDIR)/gnuradio_swig_py_io.Sd; \ $(RM) $(DEPDIR)/gnuradio_swig_py_io.Std; \ $(MV) $(DEPDIR)/gnuradio_swig_py_io.Sd $(DEPDIR)/gnuradio_swig_py_io.Std; \ fi; \ else \ $(RM) $(DEPDIR)/gnuradio_swig_py_io.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)/gnuradio_swig_py_io.d ## ## (2) Copy the whole SWIG file: ## cp $(DEPDIR)/gnuradio_swig_py_io.Std $(DEPDIR)/gnuradio_swig_py_io.d ## ## (3) all a carriage return to the end of the dependency file. ## echo "" >> $(DEPDIR)/gnuradio_swig_py_io.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)/gnuradio_swig_py_io.Std | \ awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/gnuradio_swig_py_io.d ## ## (5) remove the SWIG-generated file ## $(RM) $(DEPDIR)/gnuradio_swig_py_io.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)/gnuradio_swig_py_io-generate-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)/gnuradio_swig_py_io.d@am__quote@ # -*- Makefile -*- # # Copyright 2009 Free Software Foundation, Inc. # # This file is part of GNU Radio # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, or (at your option) # any later version. # # GNU Radio is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Radio; see the file COPYING. If not, write to # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. # # Makefile.swig.gen for gnuradio_swig_py_hier.i ## Default install locations for these files: ## ## Default location for the Python directory is: ## ${prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_swig_py_hier ## Default location for the Python exec directory is: ## ${exec_prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_swig_py_hier ## ## The following can be overloaded to change the install location, but ## this has to be done in the including Makefile.am -before- ## Makefile.swig is included. gnuradio_swig_py_hier_pythondir_category ?= gnuradio/gnuradio_swig_py_hier gnuradio_swig_py_hier_pylibdir_category ?= $(gnuradio_swig_py_hier_pythondir_category) gnuradio_swig_py_hier_pythondir = $(pythondir)/$(gnuradio_swig_py_hier_pythondir_category) gnuradio_swig_py_hier_pylibdir = $(pyexecdir)/$(gnuradio_swig_py_hier_pylibdir_category) ## SWIG headers are always installed into the same directory. gnuradio_swig_py_hier_swigincludedir = $(swigincludedir) ## This is a template file for a "generated" Makefile addition (in ## this case, "Makefile.swig.gen"). By including the top-level ## Makefile.swig, this file will be used to generate the SWIG ## dependencies. Assign the variable TOP_SWIG_FILES to be the list of ## SWIG .i files to generated wrappings for; there can be more than 1 ## so long as the names are unique (no sorting is done on the ## TOP_SWIG_FILES list). This file explicitly assumes that a SWIG .i ## file will generate .cc, .py, and possibly .h files -- meaning that ## all of these files will have the same base name (that provided for ## the SWIG .i file). ## ## This code is setup to ensure parallel MAKE ("-j" or "-jN") does the ## right thing. For more info, see < ## http://sources.redhat.com/automake/automake.html#Multiple-Outputs > ## Stamps used to ensure parallel make does the right thing. These ## are removed by "make clean", but otherwise unused except during the ## parallel built. These will not be included in a tarball, because ## the SWIG-generated files will be removed from the distribution. STAMPS += $(DEPDIR)/gnuradio_swig_py_hier-generate-* ## Other cleaned files: dependency files generated by SWIG or this Makefile MOSTLYCLEANFILES += $(DEPDIR)/*.S* ## Add the .py and .cc files to the list of SWIG built sources. The ## .h file is sometimes built, but not always ... so that one has to ## be added manually by the including Makefile.am . swig_built_sources += gnuradio_swig_py_hier.py gnuradio_swig_py_hier.cc ## Various SWIG variables. These can be overloaded in the including ## Makefile.am by setting the variable value there, then including ## Makefile.swig . gnuradio_swig_py_hier_swiginclude_HEADERS = \ gnuradio_swig_py_hier.i \ $(gnuradio_swig_py_hier_swiginclude_headers) gnuradio_swig_py_hier_pylib_LTLIBRARIES = \ _gnuradio_swig_py_hier.la _gnuradio_swig_py_hier_la_SOURCES = \ gnuradio_swig_py_hier.cc \ $(gnuradio_swig_py_hier_la_swig_sources) _gnuradio_swig_py_hier_la_LIBADD = \ $(STD_SWIG_LA_LIB_ADD) \ $(gnuradio_swig_py_hier_la_swig_libadd) _gnuradio_swig_py_hier_la_LDFLAGS = \ $(STD_SWIG_LA_LD_FLAGS) \ $(gnuradio_swig_py_hier_la_swig_ldflags) _gnuradio_swig_py_hier_la_CXXFLAGS = \ $(STD_SWIG_CXX_FLAGS) \ $(gnuradio_swig_py_hier_la_swig_cxxflags) gnuradio_swig_py_hier_python_PYTHON = \ gnuradio_swig_py_hier.py \ $(gnuradio_swig_py_hier_python) ## Entry rule for running SWIG gnuradio_swig_py_hier.h gnuradio_swig_py_hier.py gnuradio_swig_py_hier.cc: gnuradio_swig_py_hier.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.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 or the swig_doc.i are 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)/gnuradio_swig_py_hier-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)/gnuradio_swig_py_hier-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)/gnuradio_swig_py_hier-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)/gnuradio_swig_py_hier-generate-stamp; \ ## ## Tell MAKE to run the rule for creating this stamp. ## $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/gnuradio_swig_py_hier-generate-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)/gnuradio_swig_py_hier-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)/gnuradio_swig_py_hier-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)/gnuradio_swig_py_hier-generate-stamp; \ exit $$?; \ fi; $(DEPDIR)/gnuradio_swig_py_hier-generate-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) $(gnuradio_swig_py_hier_swig_args) \ -MD -MF $(DEPDIR)/gnuradio_swig_py_hier.Std \ -module gnuradio_swig_py_hier -o gnuradio_swig_py_hier.cc $(WHAT); then \ if test $(host_os) = mingw32; then \ $(RM) $(DEPDIR)/gnuradio_swig_py_hier.Sd; \ $(SED) 's,\\\\,/,g' < $(DEPDIR)/gnuradio_swig_py_hier.Std \ > $(DEPDIR)/gnuradio_swig_py_hier.Sd; \ $(RM) $(DEPDIR)/gnuradio_swig_py_hier.Std; \ $(MV) $(DEPDIR)/gnuradio_swig_py_hier.Sd $(DEPDIR)/gnuradio_swig_py_hier.Std; \ fi; \ else \ $(RM) $(DEPDIR)/gnuradio_swig_py_hier.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)/gnuradio_swig_py_hier.d ## ## (2) Copy the whole SWIG file: ## cp $(DEPDIR)/gnuradio_swig_py_hier.Std $(DEPDIR)/gnuradio_swig_py_hier.d ## ## (3) all a carriage return to the end of the dependency file. ## echo "" >> $(DEPDIR)/gnuradio_swig_py_hier.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)/gnuradio_swig_py_hier.Std | \ awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/gnuradio_swig_py_hier.d ## ## (5) remove the SWIG-generated file ## $(RM) $(DEPDIR)/gnuradio_swig_py_hier.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)/gnuradio_swig_py_hier-generate-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)/gnuradio_swig_py_hier.d@am__quote@