Merged r7478:7608 from michaelld/t186 into trunk. Adds ability to compile GNU Radio...
[debian/gnuradio] / gr-howto-write-a-block / src / lib / Makefile.am
1 #
2 # Copyright 2004,2005,2006,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 so that it ends up as the gnuradio.howto module
25 # This usually ends up at:
26 #   ${prefix}/lib/python${python_version}/site-packages/gnuradio
27
28 ourpythondir = $(grpythondir)
29 ourlibdir    = $(grpyexecdir)
30
31 INCLUDES = $(STD_DEFINES_AND_INCLUDES) $(PYTHON_CPPFLAGS) $(WITH_INCLUDES)
32
33 SWIGPYTHONARGS = $(SWIGPYTHONFLAGS) $(SWIGGRFLAGS) $(WITH_SWIG_INCLUDES) \
34         $(WITH_INCLUDES)
35
36 ALL_IFILES =                            \
37         $(LOCAL_IFILES)                 \
38         $(NON_LOCAL_IFILES)             
39
40 NON_LOCAL_IFILES =                      \
41         $(GNURADIO_CORE_INCLUDEDIR)/swig/gnuradio.i
42
43
44 LOCAL_IFILES =                          \
45         $(top_srcdir)/src/lib/howto.i                           
46
47 # These files are built by SWIG.  The first is the C++ glue.
48 # The second is the python wrapper that loads the _howto shared library
49 # and knows how to call our extensions.
50
51 BUILT_SOURCES =                         \
52         howto.cc                        \
53         howto.py                                
54
55 # This gets howto.py installed in the right place
56 ourpython_PYTHON =                      \
57         howto.py
58
59 ourlib_LTLIBRARIES = _howto.la
60
61 # These are the source files that go into the shared library
62 _howto_la_SOURCES =                     \
63         howto.cc                        \
64         howto_square_ff.cc              \
65         howto_square2_ff.cc             
66
67 # magic flags
68 _howto_la_LDFLAGS = $(NO_UNDEFINED) -module -avoid-version
69
70 # link the library against some comon swig runtime code and the 
71 # c++ standard library
72 _howto_la_LIBADD =                      \
73         $(PYTHON_LDFLAGS)               \
74         -lstdc++                        
75
76 howto.cc howto.py: $(LOCAL_IFILES) $(ALL_IFILES)
77         $(SWIG) $(SWIGPYTHONARGS) -module howto -o howto.cc $(LOCAL_IFILES)
78
79 # These headers get installed in ${prefix}/include/gnuradio
80 grinclude_HEADERS =                     \
81         howto_square_ff.h               \
82         howto_square2_ff.h              
83
84
85 # These swig headers get installed in ${prefix}/include/gnuradio/swig
86 swiginclude_HEADERS =                   \
87         $(LOCAL_IFILES)
88
89
90 MOSTLYCLEANFILES = $(BUILT_SOURCES) *.pyc
91
92 # Don't distribute output of swig
93 dist-hook:
94         @for file in $(BUILT_SOURCES); do echo $(RM) $(distdir)/$$file; done
95         @for file in $(BUILT_SOURCES); do $(RM) $(distdir)/$$file; done