root/gnuradio/trunk/gnuradio-core/src/lib/swig/Makefile.am

Revision 7769 (checked in by michaelld, 9 months ago)

Merged build_config branch into trunk:

1) Modified top-level run_tests.sh script:

a) to execute code for setting or changing the library search path in

Darwin (DYLD_LIBRARY_PATH) or Windows (PATH) on those host OSs
only, not on other host OSs.

b) Added local (to the component making check) library paths to those

same search paths, since libtool doesn't do it (unlike in Linux).

2) In all AM Makefiles -except those dealing with USRP firmware-,
changes INCLUDES to AM_CPPFLAGS since the former is deprecated.

3) Changed AM_CPPFLAGS to FW_INCLUDES for commands .c.rel in USRP
firmware.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 #
2 # Copyright 2001,2003,2004,2005,2006,2007,2008 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 3, 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 AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(PYTHON_CPPFLAGS) -I$(srcdir) \
32          $(WITH_INCLUDES)
33
34 EXTRA_DIST = gen-swig-bug-fix
35
36 LOCAL_IFILES =                          \
37         gnuradio.i                      \
38         shared_ptr.i                    \
39         sw_general.i                    \
40         sw_gengen.i                     \
41         sw_filter.i                     \
42         sw_io.i
43
44 ALL_IFILES =                            \
45         $(LOCAL_IFILES)
46
47 # ----------------------------------------------------------------
48 # We've split the previously monstrous gnuradio_swig_python into
49 # 5 smaller pieces.  This reduces compile time coupling and
50 # creates smaller pieces for the compiler to digest.
51 # prior to this change, on X86_64, g++'s resident set size was
52 # 650MB!
53
54 BUILT_SOURCES =                         \
55         gnuradio_swig_py_runtime.cc     \
56         gnuradio_swig_py_runtime.py     \
57         gnuradio_swig_py_runtime.h      \
58         gnuradio_swig_py_general.cc     \
59         gnuradio_swig_py_general.py     \
60         gnuradio_swig_py_general.h      \
61         gnuradio_swig_py_gengen.cc      \
62         gnuradio_swig_py_gengen.py      \
63         gnuradio_swig_py_gengen.h       \
64         gnuradio_swig_py_filter.cc      \
65         gnuradio_swig_py_filter.py      \
66         gnuradio_swig_py_filter.h       \
67         gnuradio_swig_py_io.cc          \
68         gnuradio_swig_py_io.py          \
69         gnuradio_swig_py_io.h           \
70         gnuradio_swig_bug_workaround.h 
71
72 SWIGPYTHONARGS = $(SWIGPYTHONFLAGS) $(AM_CPPFLAGS) $(WITH_SWIG_INCLUDES) \
73         $(WITH_INCLUDES)
74
75 # ----------------------------------------------------------------
76 # We break this up into 5 libraries...
77
78 grgrlib_LTLIBRARIES =                           \
79         _gnuradio_swig_py_runtime.la            \
80         _gnuradio_swig_py_general.la            \
81         _gnuradio_swig_py_gengen.la             \
82         _gnuradio_swig_py_filter.la             \
83         _gnuradio_swig_py_io.la                 
84
85
86 grgrpython_PYTHON =                     \
87         gnuradio_swig_python.py         \
88         gnuradio_swig_py_runtime.py     \
89         gnuradio_swig_py_general.py     \
90         gnuradio_swig_py_gengen.py      \
91         gnuradio_swig_py_filter.py      \
92         gnuradio_swig_py_io.py         
93
94
95 # This results in the code being compiled with -O1 instead of -g -O2
96
97 _gnuradio_swig_py_runtime_la_CXXFLAGS = @swig_CXXFLAGS@
98 _gnuradio_swig_py_general_la_CXXFLAGS = @swig_CXXFLAGS@
99 _gnuradio_swig_py_gengen_la_CXXFLAGS  = @swig_CXXFLAGS@
100 _gnuradio_swig_py_filter_la_CXXFLAGS  = @swig_CXXFLAGS@
101 _gnuradio_swig_py_io_la_CXXFLAGS      = @swig_CXXFLAGS@
102
103
104 # ----------------------------------------------------------------
105 # Part 1: gnuradio.i -> gnuradio_swig_py_runtime
106 #
107 # We continue to call this gnuradio.i to avoid having to touch
108 # lots of code in other modules
109
110 _gnuradio_swig_py_runtime_la_SOURCES =          \
111         gnuradio_swig_py_runtime.cc             
112
113
114 _gnuradio_swig_py_runtime_la_LIBADD  =          \
115         $(GNURADIO_CORE_LA)                     \
116         $(PYTHON_LDFLAGS)                       \
117         -lstdc++
118
119 _gnuradio_swig_py_runtime_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED)
120
121
122 # KLUDGE: Force runtime include of gnuradio_swig_py_runtime.d dependency file.
123 # This is not guaranteed to be portable, but will probably work.
124 # If it works, we have accurate dependencies for our swig stuff, which is good.
125 @am__include@ @am__quote@./gnuradio_swig_py_runtime.d@am__quote@
126
127 gnuradio_swig_py_runtime.py gnuradio_swig_py_runtime.h: gnuradio_swig_py_runtime.cc
128
129 gnuradio_swig_py_runtime.cc : gnuradio.i
130         if $(SWIG) $(SWIGPYTHONARGS) -MMD -MF gnuradio_swig_py_runtime.Td -module gnuradio_swig_py_runtime -o gnuradio_swig_py_runtime.cc gnuradio.i ;\
131         then if test $(host_os) = mingw32; \
132              then sed 's,\\\\,/,g' <gnuradio_swig_py_runtime.Td >gnuradio_swig_py_runtime.d; rm -f gnuradio_swig_py_runtime.Td; \
133              else mv -f gnuradio_swig_py_runtime.Td gnuradio_swig_py_runtime.d; fi \
134         else rm -f gnuradio_swig_py_runtime.Td; exit 1; fi
135
136
137 # ----------------------------------------------------------------
138 # Part 2: sw_general.i -> gnuradio_swig_py_general
139 #
140
141 _gnuradio_swig_py_general_la_SOURCES =          \
142         gnuradio_swig_py_general.cc             
143
144
145 _gnuradio_swig_py_general_la_LIBADD  =          \
146         $(GNURADIO_CORE_LA)                     \
147         $(PYTHON_LDFLAGS)                       \
148         -lstdc++
149
150 _gnuradio_swig_py_general_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED)
151
152
153 # KLUDGE: Force general include of gnuradio_swig_py_general.d dependency file.
154 # This is not guaranteed to be portable, but will probably work.
155 # If it works, we have accurate dependencies for our swig stuff, which is good.
156 @am__include@ @am__quote@./gnuradio_swig_py_general.d@am__quote@
157
158 gnuradio_swig_py_general.py gnuradio_swig_py_general.h: gnuradio_swig_py_general.cc
159
160 gnuradio_swig_py_general.cc : sw_general.i
161         if $(SWIG) $(SWIGPYTHONARGS) -MMD -MF gnuradio_swig_py_general.Td -module gnuradio_swig_py_general -o gnuradio_swig_py_general.cc sw_general.i ;\
162         then if test $(host_os) = mingw32; \
163              then sed 's,\\\\,/,g' <gnuradio_swig_py_general.Td >gnuradio_swig_py_general.d; rm -f gnuradio_swig_py_general.Td; \
164              else mv -f gnuradio_swig_py_general.Td gnuradio_swig_py_general.d; fi \
165         else rm -f gnuradio_swig_py_general.Td; exit 1; fi
166
167
168 # ----------------------------------------------------------------
169 # Part 3: sw_gengen.i -> gnuradio_swig_py_gengen
170 #
171
172 _gnuradio_swig_py_gengen_la_SOURCES =           \
173         gnuradio_swig_py_gengen.cc             
174
175
176 _gnuradio_swig_py_gengen_la_LIBADD  =           \
177         $(GNURADIO_CORE_LA)                     \
178         $(PYTHON_LDFLAGS)                       \
179         -lstdc++
180
181 _gnuradio_swig_py_gengen_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED)
182
183
184 # KLUDGE: Force gengen include of gnuradio_swig_py_gengen.d dependency file.
185 # This is not guaranteed to be portable, but will probably work.
186 # If it works, we have accurate dependencies for our swig stuff, which is good.
187 @am__include@ @am__quote@./gnuradio_swig_py_gengen.d@am__quote@
188
189 gnuradio_swig_py_gengen.py gnuradio_swig_py_gengen.h: gnuradio_swig_py_gengen.cc
190
191 gnuradio_swig_py_gengen.cc : sw_gengen.i
192         if $(SWIG) $(SWIGPYTHONARGS) -MMD -MF gnuradio_swig_py_gengen.Td -module gnuradio_swig_py_gengen -o gnuradio_swig_py_gengen.cc sw_gengen.i ;\
193         then if test $(host_os) = mingw32; \
194              then sed 's,\\\\,/,g' <gnuradio_swig_py_gengen.Td >gnuradio_swig_py_gengen.d; rm -f gnuradio_swig_py_gengen.Td; \
195              else mv -f gnuradio_swig_py_gengen.Td gnuradio_swig_py_gengen.d; fi \
196         else rm -f gnuradio_swig_py_gengen.Td; exit 1; fi
197
198
199 # ----------------------------------------------------------------
200 # Part 4: sw_filter.i -> gnuradio_swig_py_filter
201 #
202
203 _gnuradio_swig_py_filter_la_SOURCES =           \
204         gnuradio_swig_py_filter.cc             
205
206
207 _gnuradio_swig_py_filter_la_LIBADD  =           \
208         $(GNURADIO_CORE_LA)                     \
209         $(PYTHON_LDFLAGS)                       \
210         -lstdc++
211
212 _gnuradio_swig_py_filter_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED)
213
214
215 # KLUDGE: Force filter include of gnuradio_swig_py_filter.d dependency file.
216 # This is not guaranteed to be portable, but will probably work.
217 # If it works, we have accurate dependencies for our swig stuff, which is good.
218 @am__include@ @am__quote@./gnuradio_swig_py_filter.d@am__quote@
219
220 gnuradio_swig_py_filter.py gnuradio_swig_py_filter.h: gnuradio_swig_py_filter.cc
221
222 gnuradio_swig_py_filter.cc : sw_filter.i
223         if $(SWIG) $(SWIGPYTHONARGS) -MMD -MF gnuradio_swig_py_filter.Td -module gnuradio_swig_py_filter -o gnuradio_swig_py_filter.cc sw_filter.i ;\
224         then if test $(host_os) = mingw32; \
225              then sed 's,\\\\,/,g' <gnuradio_swig_py_filter.Td >gnuradio_swig_py_filter.d; rm -f gnuradio_swig_py_filter.Td; \
226              else mv -f gnuradio_swig_py_filter.Td gnuradio_swig_py_filter.d; fi \
227         else rm -f gnuradio_swig_py_filter.Td; exit 1; fi
228
229
230 # ----------------------------------------------------------------
231 # Part 5: sw_io.i -> gnuradio_swig_py_io
232 #
233
234 _gnuradio_swig_py_io_la_SOURCES =               \
235         gnuradio_swig_py_io.cc         
236
237
238 _gnuradio_swig_py_io_la_LIBADD  =               \
239         $(GNURADIO_CORE_LA)                     \
240         $(PYTHON_LDFLAGS)                       \
241         -lstdc++
242
243 _gnuradio_swig_py_io_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED)
244
245
246 # KLUDGE: Force io include of gnuradio_swig_py_io.d dependency file.
247 # This is not guaranteed to be portable, but will probably work.
248 # If it works, we have accurate dependencies for our swig stuff, which is good.
249 @am__include@ @am__quote@./gnuradio_swig_py_io.d@am__quote@
250
251 gnuradio_swig_py_io.py gnuradio_swig_py_io.h: gnuradio_swig_py_io.cc
252
253 gnuradio_swig_py_io.cc : sw_io.i
254         if $(SWIG) $(SWIGPYTHONARGS) -MMD -MF gnuradio_swig_py_io.Td -module gnuradio_swig_py_io -o gnuradio_swig_py_io.cc sw_io.i ;\
255         then if test $(host_os) = mingw32; \
256              then sed 's,\\\\,/,g' <gnuradio_swig_py_io.Td >gnuradio_swig_py_io.d; rm -f gnuradio_swig_py_io.Td; \
257              else mv -f gnuradio_swig_py_io.Td gnuradio_swig_py_io.d; fi \
258         else rm -f gnuradio_swig_py_io.Td; exit 1; fi
259
260
261 # ----------------------------------------------------------------
262 # FIXME As of swig 1.3.31, this still seems to be required...
263
264 gnuradio_swig_bug_workaround.h : gnuradio_swig_py_runtime.cc $(srcdir)/gen-swig-bug-fix
265         $(PYTHON) $(srcdir)/gen-swig-bug-fix gnuradio_swig_py_runtime.cc $@
266
267 # ----------------------------------------------------------------
268
269 # Don't distribute output of swig
270 dist-hook:
271         @for file in $(BUILT_SOURCES); do echo $(RM) $(distdir)/$$file; done
272         @for file in $(BUILT_SOURCES); do $(RM) $(distdir)/$$file; done
273
274
275 grinclude_HEADERS =                             \
276         gnuradio_swig_bug_workaround.h
277
278 swiginclude_HEADERS =                           \
279         $(LOCAL_IFILES)                 
280
281 MOSTLYCLEANFILES = \
282         $(BUILT_SOURCES) *~ *.pyc
283
284 DISTCLEANFILES =                        \
285         gnuradio_swig_py_runtime.d      \
286         gnuradio_swig_py_general.d      \
287         gnuradio_swig_py_gengen.d       \
288         gnuradio_swig_py_filter.d       \
289         gnuradio_swig_py_io.d           
Note: See TracBrowser for help on using the browser.