22
22
include $(top_srcdir)/Makefile.common
24
# Install this stuff in the gr subdirectory of the python pkg dir.
25
# This usually ends up at:
26
# ${prefix}/lib/python${python_version}/site-packages/gnuradio/gr
28
grgrpythondir = $(grpythondir)/gr
29
grgrlibdir = $(grpyexecdir)/gr
32
INCLUDES = $(STD_DEFINES_AND_INCLUDES) $(PYTHON_CPPFLAGS) -I$(srcdir)
24
AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(PYTHON_CPPFLAGS) -I$(srcdir) \
35
27
EXTRA_DIST = gen-swig-bug-fix
29
# SWIG headers get installed in ${prefix}/include/gnuradio/swig
30
swiginclude_HEADERS = \
32
gr_swig_block_magic.i \
35
# special install for this top-level Python script which includes all
36
# of the split Python libraries.
37
ourpythondir = $(grpythondir)/gr
38
ourpython_PYTHON = gnuradio_swig_python.py
40
# ----------------------------------------------------------------
41
# FIXME As of swig 1.3.31, this still seems to be required...
43
gnuradio_swig_bug_workaround.h : gnuradio_swig_py_runtime.cc $(srcdir)/gen-swig-bug-fix
44
$(PYTHON) $(srcdir)/gen-swig-bug-fix gnuradio_swig_py_runtime.cc $@
46
# C/C++ headers get installed in ${prefix}/include/gnuradio
48
gnuradio_swig_bug_workaround.h
50
# ----------------------------------------------------------------
51
# We've split the previously monstrous gnuradio_swig_python into 6
52
# smaller pieces. This reduces compile time coupling and creates
53
# smaller pieces for the compiler to digest. prior to this change, on
54
# X86_64, g++'s resident set size was 650MB!
55
# ----------------------------------------------------------------
58
gnuradio_swig_py_runtime.i \
59
gnuradio_swig_py_general.i \
60
gnuradio_swig_py_gengen.i \
61
gnuradio_swig_py_filter.i \
62
gnuradio_swig_py_io.i \
63
gnuradio_swig_py_hier.i
65
# Install so that they end up available as:
68
# ${prefix}/lib/python${python_version}/site-packages/gnuradio/gr
69
gnuradio_swig_py_runtime_pythondir_category = gnuradio/gr
70
gnuradio_swig_py_general_pythondir_category = gnuradio/gr
71
gnuradio_swig_py_gengen_pythondir_category = gnuradio/gr
72
gnuradio_swig_py_filter_pythondir_category = gnuradio/gr
73
gnuradio_swig_py_io_pythondir_category = gnuradio/gr
74
gnuradio_swig_py_hier_pythondir_category = gnuradio/gr
76
# additional libraries for linking with each SWIG-generated library
77
gnuradio_swig_py_runtime_la_swig_libadd = $(GNURADIO_CORE_LA)
78
gnuradio_swig_py_general_la_swig_libadd = $(GNURADIO_CORE_LA)
79
gnuradio_swig_py_gengen_la_swig_libadd = $(GNURADIO_CORE_LA)
80
gnuradio_swig_py_filter_la_swig_libadd = $(GNURADIO_CORE_LA)
81
gnuradio_swig_py_io_la_swig_libadd = $(GNURADIO_CORE_LA)
82
gnuradio_swig_py_hier_la_swig_libadd = $(GNURADIO_CORE_LA)
84
include $(top_srcdir)/Makefile.swig
86
# add some of the variables generated inside the Makefile.swig
88
# include the SWIG-generated .h files in the BUILT SOURCES, since they
89
# aren't by default when using Makefile.swig; order doesn't matter.
47
gnuradio_swig_python.cc \
48
gnuradio_swig_python.py \
49
gnuradio_swig_python.h \
50
gnuradio_swig_bug_workaround.h
53
gnuradio_swig_python.py
56
SWIGPYTHONARGS = $(SWIGPYTHONFLAGS) $(INCLUDES)
59
# ----------------------------------------------------------------
60
# _gnuradio_swig_python contains all the glue that implements
61
# the gnuradio.gr python package
63
grgrlib_LTLIBRARIES = \
64
_gnuradio_swig_python.la
66
_gnuradio_swig_python_la_SOURCES = \
67
gnuradio_swig_python.cc
70
_gnuradio_swig_python_la_LIBADD = \
75
_gnuradio_swig_python_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED)
78
# KLUDGE: Force runtime include of gnuradio_swig_python.d dependency file.
79
# This is not guaranteed to be portable, but will probably work.
80
# If it works, we have accurate dependencies for our swig stuff, which is good.
81
@am__include@ @am__quote@./gnuradio_swig_python.d@am__quote@
83
gnuradio_swig_python.py gnuradio_swig_python.h: gnuradio_swig_python.cc
85
gnuradio_swig_python.cc : gnuradio.i
86
if $(SWIG) $(SWIGPYTHONARGS) -MMD -MF gnuradio_swig_python.Td -module gnuradio_swig_python -o gnuradio_swig_python.cc gnuradio.i ;\
87
then if test $(host_os) = mingw32; \
88
then sed 's,\\\\,/,g' <gnuradio_swig_python.Td >gnuradio_swig_python.d; rm -f gnuradio_swig_python.Td; \
89
else mv -f gnuradio_swig_python.Td gnuradio_swig_python.d; fi \
90
else rm -f gnuradio_swig_python.Td; exit 1; fi
93
gnuradio_swig_bug_workaround.h : gnuradio_swig_python.cc $(srcdir)/gen-swig-bug-fix
94
$(PYTHON) $(srcdir)/gen-swig-bug-fix gnuradio_swig_python.cc $@
97
# ----------------------------------------------------------------
99
# Don't distribute output of swig
101
@for file in $(BUILT_SOURCES); do echo $(RM) $(distdir)/$$file; done
102
@for file in $(BUILT_SOURCES); do $(RM) $(distdir)/$$file; done
105
grinclude_HEADERS = \
106
gnuradio_swig_bug_workaround.h
108
swiginclude_HEADERS = \
112
$(BUILT_SOURCES) *~ *.pyc
114
DISTCLEANFILES = gnuradio_swig_python.d
91
gnuradio_swig_py_runtime.h \
92
gnuradio_swig_py_general.h \
93
gnuradio_swig_py_gengen.h \
94
gnuradio_swig_py_filter.h \
95
gnuradio_swig_py_io.h \
96
gnuradio_swig_py_hier.h \
97
$(grinclude_HEADERS) \
100
# Do not distribute the output of SWIG
101
no_dist_files = $(swig_built_sources)