summaryrefslogtreecommitdiff
path: root/Makefile.swig
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.swig')
-rw-r--r--Makefile.swig43
1 files changed, 35 insertions, 8 deletions
diff --git a/Makefile.swig b/Makefile.swig
index 9e14835e5..810157b55 100644
--- a/Makefile.swig
+++ b/Makefile.swig
@@ -32,6 +32,9 @@
## In some older autotools, $(builddir) is not defined, so
## just use '.' instead.
+CLEANFILES = python/*.cc python/*.h python/*.lo python/*.o
+CLEANFILES += guile/*.cc gnuradio/*.scm guile/*.lo guile/*.o
+
SWIG_PYTHON_FLAGS = \
-fvirtual \
-python \
@@ -40,14 +43,33 @@ SWIG_PYTHON_FLAGS = \
-w511 \
-outdir .
-## standard swig flags used by most components
-
STD_SWIG_PYTHON_ARGS = \
$(SWIG_PYTHON_FLAGS) \
$(STD_DEFINES_AND_INCLUDES) \
$(WITH_SWIG_INCLUDES) \
$(WITH_INCLUDES)
+# NOTE: -Linkage passive and -Linkage module don't define SWIG_init()
+SWIG_GUILE_FLAGS = \
+ -guile \
+ -scm \
+ -scmstub \
+ -package gnuradio \
+ -Linkage module \
+ -proxy \
+ -goopsprefix gr: \
+ -emit-slot-accessors \
+ -emit-setters \
+ -outdir .
+
+## standard swig flags used by most components
+
+STD_SWIG_GUILE_ARGS = \
+ $(SWIG_GUILE_FLAGS) \
+ $(STD_DEFINES_AND_INCLUDES) \
+ $(WITH_SWIG_INCLUDES) \
+ $(WITH_INCLUDES)
+
## standard SWIG LD flags for library creation
STD_SWIG_LA_LD_FLAGS = \
@@ -58,8 +80,7 @@ STD_SWIG_LA_LD_FLAGS = \
## standard SWIG library additions for library creation
-STD_SWIG_LA_LIB_ADD = \
- -lstdc++
+STD_SWIG_LA_LIB_ADD = -lstdc++
## standard SWIG CXXFLAGS
## This allows for code to be compiled with "-O1" instead of "-g -O2"
@@ -67,10 +88,6 @@ STD_SWIG_LA_LIB_ADD = \
STD_SWIG_CXX_FLAGS = @swig_CXXFLAGS@
-## SWIG suffix for automake to know about
-
-SUFFIXES = .i
-
## Create $(srcdir)/Makefile.swig.gen, containing all of the rules
## for running SWIG to generate or re-generate outputs. SWIG file
## names are to be defined in TOP_SWIG_IFILES, and must include the
@@ -115,3 +132,13 @@ swig_built_sources =
## on variables defined above.
include $(srcdir)/Makefile.swig.gen
+
+# Create a list of .py files based on the top level .i files.
+PYTHON_GEN = $(foreach HFILE,$(TOP_SWIG_IFILES), $(subst .i,.py,$(HFILE)))
+swig_built_sources += $(PYTHON_GEN)
+
+if GUILE
+# Create a list of .scm files based on the top level .i files.
+GUILE_GEN = $(foreach HFILE,$(TOP_SWIG_IFILES), $(patsubst %.i,gnuradio/%.scm,$(HFILE)))
+swig_built_sources += $(GUILE_GEN)
+endif