# -*- Makefile -*- # # Copyright 2004,2006,2009,2010 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. # # The name of this "out-of-tree" module modname = howto # Make rebuilds less verbose with stuff we can safely ignore # about GNU make only extensions. AUTOMAKE += -Wno-portability -Wnone # these flags are used when compiling non-SWIG-wrapper files # when going in to non-SWIG libraries AM_CXXFLAGS = @autoconf_default_CXXFLAGS@ # Sets ABI version in SONAME and appends -LIBVER to filename LTVERSIONFLAGS = -version-info 0:0:0 -release $(LIBVER) # these flags are used when compiling any CXX file AM_CPPFLAGS = \ $(STD_DEFINES_AND_INCLUDES) \ $(PYTHON_CPPFLAGS) \ $(CPPUNIT_INCLUDES) \ $(GNURADIO_CORE_CPPFLAGS) # these are used by both SWIG and CXX STD_DEFINES_AND_INCLUDES = \ $(DEFINES) \ -I$(abs_top_srcdir)/lib \ -I$(GNURADIO_CORE_INCLUDEDIR) \ -I$(GNURADIO_CORE_INCLUDEDIR)/swig # includes modincludedir = $(includedir)/$(modname) # swig includes swigincludedir = $(modincludedir)/swig # Install this stuff in the appropriate subdirectory # This usually ends up at: # ${prefix}/lib/python${python_version}/site-packages/$(modname) modpythondir = $(pythondir)/$(modname) modpyexecdir = $(pyexecdir)/$(modname) # Data directory for grc block wrappers grc_blocksdir = $(prefix)/share/gnuradio/grc/blocks # Don't assume that make predefines $(RM), because BSD make does # not. We define it now in configure.ac using AM_PATH_PROG, but now # here have to add a -f to be like GNU make. RM=$(RM_PROG) -f # Other common defines; use "+=" to add to these STAMPS = MOSTLYCLEANFILES = $(BUILT_SOURCES) $(STAMPS) *.pyc *.pyo *~ *.tmp *.loT ## SWIG suffixes for automake to know about SUFFIXES = .i .scm .py if GUILE # Compile a .i to what guile needs. We use -o to set the output file name, # or even with -outdir guile in SWIG_GUILE_ARGS, swig keeps putting a # gnuradio_core_*_wrap.cxx in the source directory. gnuradio/%.scm : %.i @echo "Compile .i to .scm" @test -d "guile" || $(mkinstalldirs) "guile" @test -d "gnuradio" || $(mkinstalldirs) "gnuradio" $(SWIG) $(STD_SWIG_GUILE_ARGS) $($*_swig_args) \ -MD -MF guile/$*.Std \ -module $* -o guile/$*.cc $< $(SED) -e 's|guile/\(.*\)\.cc:|gnuradio/\1.scm:|' guile/$*.Std > guile/$*.d $(SED) -i -e 's/<--dummy-[0-9]\+-->//g' gnuradio/$*.scm $(SED) -i -e 's/^(export /(export-safely /' gnuradio/$*.scm $(RM) guile/$*.Std endif # Compile a .i file to what python needs .i.py: @echo "Compile .i to .py" @test -d "python" || $(mkinstalldirs) "python" $(SWIG) $(STD_SWIG_PYTHON_ARGS) $($*_swig_args) \ -MD -MF python/$*.Std \ -module $* -o python/$*.cc -oh python/$*.h $< $(SED) -e 's|python/\(.*\)\.cc:|\1.py:|' python/$*.Std > python/$*.d $(RM) python/$*.Std # Don't distribute the files defined in the variable 'no_dist_files' dist-hook: @for file in $(no_dist_files); do \ echo $(RM) $(distdir)/$$file; \ $(RM) $(distdir)/$$file; \ done;