root / gnuradio-core / src / lib / swig / Makefile.am @ e10941aa
History | View | Annotate | Download (10.1 kB)
| 1 | # |
|---|---|
| 2 | # Copyright 2001,2003,2004,2005,2006,2007 Free Software Foundation, Inc. |
| 3 | # |
| 4 | # This file is part of GNU Radio |
| 5 | # |
| 6 | # GNU Radio is free software; you can redistribute it and/or modify |
| 7 | # it under the terms of the GNU General Public License as published by |
| 8 | # the Free Software Foundation; either version 2, or (at your option) |
| 9 | # any later version. |
| 10 | # |
| 11 | # GNU Radio is distributed in the hope that it will be useful, |
| 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 14 | # GNU General Public License for more details. |
| 15 | # |
| 16 | # You should have received a copy of the GNU General Public License |
| 17 | # along with GNU Radio; see the file COPYING. If not, write to |
| 18 | # the Free Software Foundation, Inc., 51 Franklin Street, |
| 19 | # Boston, MA 02110-1301, USA. |
| 20 | # |
| 21 | |
| 22 | include $(top_srcdir)/Makefile.common |
| 23 | |
| 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
|
| 27 | |
| 28 | grgrpythondir = $(grpythondir)/gr |
| 29 | grgrlibdir = $(grpyexecdir)/gr |
| 30 | |
| 31 | |
| 32 | INCLUDES = $(STD_DEFINES_AND_INCLUDES) $(PYTHON_CPPFLAGS) -I$(srcdir) |
| 33 | |
| 34 | |
| 35 | EXTRA_DIST = gen-swig-bug-fix |
| 36 | |
| 37 | |
| 38 | LOCAL_IFILES = \ |
| 39 | gnuradio.i \ |
| 40 | shared_ptr.i \ |
| 41 | sw_general.i \ |
| 42 | sw_gengen.i \ |
| 43 | sw_filter.i \ |
| 44 | sw_io.i |
| 45 | |
| 46 | |
| 47 | ALL_IFILES = \ |
| 48 | $(LOCAL_IFILES) |
| 49 | |
| 50 | |
| 51 | |
| 52 | |
| 53 | # ---------------------------------------------------------------- |
| 54 | # We've split the previously monstrous gnuradio_swig_python into |
| 55 | # 5 smaller pieces. This reduces compile time coupling and |
| 56 | # creates smaller pieces for the compiler to digest. |
| 57 | # prior to this change, on X86_64, g++'s resident set size was |
| 58 | # 650MB! |
| 59 | |
| 60 | BUILT_SOURCES = \ |
| 61 | gnuradio_swig_py_runtime.cc \ |
| 62 | gnuradio_swig_py_runtime.py \ |
| 63 | gnuradio_swig_py_runtime.h \ |
| 64 | gnuradio_swig_py_general.cc \ |
| 65 | gnuradio_swig_py_general.py \ |
| 66 | gnuradio_swig_py_general.h \ |
| 67 | gnuradio_swig_py_gengen.cc \ |
| 68 | gnuradio_swig_py_gengen.py \ |
| 69 | gnuradio_swig_py_gengen.h \ |
| 70 | gnuradio_swig_py_filter.cc \ |
| 71 | gnuradio_swig_py_filter.py \ |
| 72 | gnuradio_swig_py_filter.h \ |
| 73 | gnuradio_swig_py_io.cc \ |
| 74 | gnuradio_swig_py_io.py \ |
| 75 | gnuradio_swig_py_io.h \ |
| 76 | gnuradio_swig_bug_workaround.h |
| 77 | |
| 78 | |
| 79 | SWIGPYTHONARGS = $(SWIGPYTHONFLAGS) $(INCLUDES) |
| 80 | |
| 81 | # ---------------------------------------------------------------- |
| 82 | # We break this up into 5 libraries... |
| 83 | |
| 84 | grgrlib_LTLIBRARIES = \ |
| 85 | _gnuradio_swig_py_runtime.la \ |
| 86 | _gnuradio_swig_py_general.la \ |
| 87 | _gnuradio_swig_py_gengen.la \ |
| 88 | _gnuradio_swig_py_filter.la \ |
| 89 | _gnuradio_swig_py_io.la |
| 90 | |
| 91 | |
| 92 | grgrpython_PYTHON = \ |
| 93 | gnuradio_swig_python.py \ |
| 94 | gnuradio_swig_py_runtime.py \ |
| 95 | gnuradio_swig_py_general.py \ |
| 96 | gnuradio_swig_py_gengen.py \ |
| 97 | gnuradio_swig_py_filter.py \ |
| 98 | gnuradio_swig_py_io.py |
| 99 | |
| 100 | |
| 101 | # This results in the code being compiled with -O1 instead of -g -O2 |
| 102 | |
| 103 | _gnuradio_swig_py_runtime_la_CXXFLAGS = @swig_CXXFLAGS@ |
| 104 | _gnuradio_swig_py_general_la_CXXFLAGS = @swig_CXXFLAGS@ |
| 105 | _gnuradio_swig_py_gengen_la_CXXFLAGS = @swig_CXXFLAGS@ |
| 106 | _gnuradio_swig_py_filter_la_CXXFLAGS = @swig_CXXFLAGS@ |
| 107 | _gnuradio_swig_py_io_la_CXXFLAGS = @swig_CXXFLAGS@ |
| 108 | |
| 109 | |
| 110 | # ---------------------------------------------------------------- |
| 111 | # Part 1: gnuradio.i -> gnuradio_swig_py_runtime |
| 112 | # |
| 113 | # We continue to call this gnuradio.i to avoid having to touch |
| 114 | # lots of code in other modules |
| 115 | |
| 116 | _gnuradio_swig_py_runtime_la_SOURCES = \ |
| 117 | gnuradio_swig_py_runtime.cc |
| 118 | |
| 119 | |
| 120 | _gnuradio_swig_py_runtime_la_LIBADD = \ |
| 121 | $(GNURADIO_CORE_LIBS) \ |
| 122 | $(top_builddir)/gnuradio-core/src/lib/libgnuradio-core.la \ |
| 123 | $(PYTHON_LDFLAGS) \ |
| 124 | -lstdc++ |
| 125 | |
| 126 | _gnuradio_swig_py_runtime_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) |
| 127 | |
| 128 | |
| 129 | # KLUDGE: Force runtime include of gnuradio_swig_py_runtime.d dependency file. |
| 130 | # This is not guaranteed to be portable, but will probably work. |
| 131 | # If it works, we have accurate dependencies for our swig stuff, which is good. |
| 132 | @am__include@ @am__quote@./gnuradio_swig_py_runtime.d@am__quote@ |
| 133 | |
| 134 | gnuradio_swig_py_runtime.py gnuradio_swig_py_runtime.h: gnuradio_swig_py_runtime.cc |
| 135 | |
| 136 | gnuradio_swig_py_runtime.cc : gnuradio.i |
| 137 | if $(SWIG) $(SWIGPYTHONARGS) -MMD -MF gnuradio_swig_py_runtime.Td -module gnuradio_swig_py_runtime -o gnuradio_swig_py_runtime.cc gnuradio.i ;\ |
| 138 | then if test $(host_os) = mingw32; \ |
| 139 | then sed 's,\\\\,/,g' <gnuradio_swig_py_runtime.Td >gnuradio_swig_py_runtime.d; rm -f gnuradio_swig_py_runtime.Td; \ |
| 140 | else mv -f gnuradio_swig_py_runtime.Td gnuradio_swig_py_runtime.d; fi \ |
| 141 | else rm -f gnuradio_swig_py_runtime.Td; exit 1; fi |
| 142 | |
| 143 | |
| 144 | # ---------------------------------------------------------------- |
| 145 | # Part 2: sw_general.i -> gnuradio_swig_py_general |
| 146 | # |
| 147 | |
| 148 | _gnuradio_swig_py_general_la_SOURCES = \ |
| 149 | gnuradio_swig_py_general.cc |
| 150 | |
| 151 | |
| 152 | _gnuradio_swig_py_general_la_LIBADD = \ |
| 153 | $(GNURADIO_CORE_LIBS) \ |
| 154 | $(top_builddir)/gnuradio-core/src/lib/libgnuradio-core.la \ |
| 155 | $(PYTHON_LDFLAGS) \ |
| 156 | -lstdc++ |
| 157 | |
| 158 | _gnuradio_swig_py_general_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) |
| 159 | |
| 160 | |
| 161 | # KLUDGE: Force general include of gnuradio_swig_py_general.d dependency file. |
| 162 | # This is not guaranteed to be portable, but will probably work. |
| 163 | # If it works, we have accurate dependencies for our swig stuff, which is good. |
| 164 | @am__include@ @am__quote@./gnuradio_swig_py_general.d@am__quote@ |
| 165 | |
| 166 | gnuradio_swig_py_general.py gnuradio_swig_py_general.h: gnuradio_swig_py_general.cc |
| 167 | |
| 168 | gnuradio_swig_py_general.cc : sw_general.i |
| 169 | if $(SWIG) $(SWIGPYTHONARGS) -MMD -MF gnuradio_swig_py_general.Td -module gnuradio_swig_py_general -o gnuradio_swig_py_general.cc sw_general.i ;\ |
| 170 | then if test $(host_os) = mingw32; \ |
| 171 | then sed 's,\\\\,/,g' <gnuradio_swig_py_general.Td >gnuradio_swig_py_general.d; rm -f gnuradio_swig_py_general.Td; \ |
| 172 | else mv -f gnuradio_swig_py_general.Td gnuradio_swig_py_general.d; fi \ |
| 173 | else rm -f gnuradio_swig_py_general.Td; exit 1; fi |
| 174 | |
| 175 | |
| 176 | # ---------------------------------------------------------------- |
| 177 | # Part 3: sw_gengen.i -> gnuradio_swig_py_gengen |
| 178 | # |
| 179 | |
| 180 | _gnuradio_swig_py_gengen_la_SOURCES = \ |
| 181 | gnuradio_swig_py_gengen.cc |
| 182 | |
| 183 | |
| 184 | _gnuradio_swig_py_gengen_la_LIBADD = \ |
| 185 | $(GNURADIO_CORE_LIBS) \ |
| 186 | $(top_builddir)/gnuradio-core/src/lib/libgnuradio-core.la \ |
| 187 | $(PYTHON_LDFLAGS) \ |
| 188 | -lstdc++ |
| 189 | |
| 190 | _gnuradio_swig_py_gengen_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) |
| 191 | |
| 192 | |
| 193 | # KLUDGE: Force gengen include of gnuradio_swig_py_gengen.d dependency file. |
| 194 | # This is not guaranteed to be portable, but will probably work. |
| 195 | # If it works, we have accurate dependencies for our swig stuff, which is good. |
| 196 | @am__include@ @am__quote@./gnuradio_swig_py_gengen.d@am__quote@ |
| 197 | |
| 198 | gnuradio_swig_py_gengen.py gnuradio_swig_py_gengen.h: gnuradio_swig_py_gengen.cc |
| 199 | |
| 200 | gnuradio_swig_py_gengen.cc : sw_gengen.i |
| 201 | if $(SWIG) $(SWIGPYTHONARGS) -MMD -MF gnuradio_swig_py_gengen.Td -module gnuradio_swig_py_gengen -o gnuradio_swig_py_gengen.cc sw_gengen.i ;\ |
| 202 | then if test $(host_os) = mingw32; \ |
| 203 | then sed 's,\\\\,/,g' <gnuradio_swig_py_gengen.Td >gnuradio_swig_py_gengen.d; rm -f gnuradio_swig_py_gengen.Td; \ |
| 204 | else mv -f gnuradio_swig_py_gengen.Td gnuradio_swig_py_gengen.d; fi \ |
| 205 | else rm -f gnuradio_swig_py_gengen.Td; exit 1; fi |
| 206 | |
| 207 | |
| 208 | # ---------------------------------------------------------------- |
| 209 | # Part 4: sw_filter.i -> gnuradio_swig_py_filter |
| 210 | # |
| 211 | |
| 212 | _gnuradio_swig_py_filter_la_SOURCES = \ |
| 213 | gnuradio_swig_py_filter.cc |
| 214 | |
| 215 | |
| 216 | _gnuradio_swig_py_filter_la_LIBADD = \ |
| 217 | $(GNURADIO_CORE_LIBS) \ |
| 218 | $(top_builddir)/gnuradio-core/src/lib/libgnuradio-core.la \ |
| 219 | $(PYTHON_LDFLAGS) \ |
| 220 | -lstdc++ |
| 221 | |
| 222 | _gnuradio_swig_py_filter_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) |
| 223 | |
| 224 | |
| 225 | # KLUDGE: Force filter include of gnuradio_swig_py_filter.d dependency file. |
| 226 | # This is not guaranteed to be portable, but will probably work. |
| 227 | # If it works, we have accurate dependencies for our swig stuff, which is good. |
| 228 | @am__include@ @am__quote@./gnuradio_swig_py_filter.d@am__quote@ |
| 229 | |
| 230 | gnuradio_swig_py_filter.py gnuradio_swig_py_filter.h: gnuradio_swig_py_filter.cc |
| 231 | |
| 232 | gnuradio_swig_py_filter.cc : sw_filter.i |
| 233 | if $(SWIG) $(SWIGPYTHONARGS) -MMD -MF gnuradio_swig_py_filter.Td -module gnuradio_swig_py_filter -o gnuradio_swig_py_filter.cc sw_filter.i ;\ |
| 234 | then if test $(host_os) = mingw32; \ |
| 235 | then sed 's,\\\\,/,g' <gnuradio_swig_py_filter.Td >gnuradio_swig_py_filter.d; rm -f gnuradio_swig_py_filter.Td; \ |
| 236 | else mv -f gnuradio_swig_py_filter.Td gnuradio_swig_py_filter.d; fi \ |
| 237 | else rm -f gnuradio_swig_py_filter.Td; exit 1; fi |
| 238 | |
| 239 | |
| 240 | # ---------------------------------------------------------------- |
| 241 | # Part 5: sw_io.i -> gnuradio_swig_py_io |
| 242 | # |
| 243 | |
| 244 | _gnuradio_swig_py_io_la_SOURCES = \ |
| 245 | gnuradio_swig_py_io.cc |
| 246 | |
| 247 | |
| 248 | _gnuradio_swig_py_io_la_LIBADD = \ |
| 249 | $(GNURADIO_CORE_LIBS) \ |
| 250 | $(top_builddir)/gnuradio-core/src/lib/libgnuradio-core.la \ |
| 251 | $(PYTHON_LDFLAGS) \ |
| 252 | -lstdc++ |
| 253 | |
| 254 | _gnuradio_swig_py_io_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) |
| 255 | |
| 256 | |
| 257 | # KLUDGE: Force io include of gnuradio_swig_py_io.d dependency file. |
| 258 | # This is not guaranteed to be portable, but will probably work. |
| 259 | # If it works, we have accurate dependencies for our swig stuff, which is good. |
| 260 | @am__include@ @am__quote@./gnuradio_swig_py_io.d@am__quote@ |
| 261 | |
| 262 | gnuradio_swig_py_io.py gnuradio_swig_py_io.h: gnuradio_swig_py_io.cc |
| 263 | |
| 264 | gnuradio_swig_py_io.cc : sw_io.i |
| 265 | if $(SWIG) $(SWIGPYTHONARGS) -MMD -MF gnuradio_swig_py_io.Td -module gnuradio_swig_py_io -o gnuradio_swig_py_io.cc sw_io.i ;\ |
| 266 | then if test $(host_os) = mingw32; \ |
| 267 | then sed 's,\\\\,/,g' <gnuradio_swig_py_io.Td >gnuradio_swig_py_io.d; rm -f gnuradio_swig_py_io.Td; \ |
| 268 | else mv -f gnuradio_swig_py_io.Td gnuradio_swig_py_io.d; fi \ |
| 269 | else rm -f gnuradio_swig_py_io.Td; exit 1; fi |
| 270 | |
| 271 | |
| 272 | # ---------------------------------------------------------------- |
| 273 | # FIXME As of swig 1.3.31, this still seems to be required... |
| 274 | |
| 275 | gnuradio_swig_bug_workaround.h : gnuradio_swig_py_runtime.cc $(srcdir)/gen-swig-bug-fix |
| 276 | $(PYTHON) $(srcdir)/gen-swig-bug-fix gnuradio_swig_py_runtime.cc $@ |
| 277 | |
| 278 | # ---------------------------------------------------------------- |
| 279 | |
| 280 | # Don't distribute output of swig |
| 281 | dist-hook: |
| 282 | @for file in $(BUILT_SOURCES); do echo $(RM) $(distdir)/$$file; done |
| 283 | @for file in $(BUILT_SOURCES); do $(RM) $(distdir)/$$file; done |
| 284 | |
| 285 | |
| 286 | grinclude_HEADERS = \ |
| 287 | gnuradio_swig_bug_workaround.h |
| 288 | |
| 289 | swiginclude_HEADERS = \ |
| 290 | $(LOCAL_IFILES) |
| 291 | |
| 292 | MOSTLYCLEANFILES = \ |
| 293 | $(BUILT_SOURCES) *~ *.pyc |
| 294 | |
| 295 | DISTCLEANFILES = \ |
| 296 | gnuradio_swig_py_runtime.d \ |
| 297 | gnuradio_swig_py_general.d \ |
| 298 | gnuradio_swig_py_gengen.d \ |
| 299 | gnuradio_swig_py_filter.d \ |
| 300 | gnuradio_swig_py_io.d |