Imported Upstream version 3.0
[debian/gnuradio] / gr-trellis / src / lib / Makefile.am
1 #
2 # Copyright 2004,2005,2006 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 include Makefile.gen
25
26 # Install this stuff so that it ends up as the gnuradio.trellis module
27 # This usually ends up at:
28 #   ${prefix}/lib/python${python_version}/site-packages/gnuradio
29
30 ourpythondir = $(grpythondir)
31 ourlibdir    = $(grpyexecdir)
32
33 INCLUDES = $(STD_DEFINES_AND_INCLUDES) $(PYTHON_CPPFLAGS)
34
35 SWIGPYTHONARGS = $(SWIGPYTHONFLAGS) $(STD_DEFINES_AND_INCLUDES)
36
37 ALL_IFILES =                            \
38         $(LOCAL_IFILES)                 \
39         $(NON_LOCAL_IFILES)             
40
41 NON_LOCAL_IFILES =                      \
42         $(GNURADIO_I)                   
43
44
45 LOCAL_IFILES =                          \
46         $(top_srcdir)/gr-trellis/src/lib/trellis.i                      
47
48
49 # These files are built by SWIG.  The first is the C++ glue.
50 # The second is the python wrapper that loads the _trellis shared library
51 # and knows how to call our extensions.
52
53 BUILT_SOURCES =                         \
54         trellis.cc                      \
55         trellis.py                              
56
57 # This gets trellis.py installed in the right place
58 ourpython_PYTHON =                      \
59         trellis.py
60
61 ourlib_LTLIBRARIES = _trellis.la
62
63 # These are the source files that go into the shared library
64 _trellis_la_SOURCES =                   \
65         trellis.cc                      \
66         fsm.cc                          \
67         quicksort_index.cc              \
68         base.cc                         \
69         interleaver.cc                  \
70         trellis_calc_metric.cc          \
71         trellis_permutation.cc          \
72         trellis_siso_f.cc               \
73         trellis_siso_combined_f.cc      \
74         $(GENERATED_CC)                 
75
76 # magic flags
77 _trellis_la_LDFLAGS = $(NO_UNDEFINED) -module -avoid-version
78
79 # link the library against some comon swig runtime code and the 
80 # c++ standard library
81 _trellis_la_LIBADD =                    \
82         $(PYTHON_LDFLAGS)               \
83         $(GNURADIO_CORE_LIBS)           \
84         -lstdc++                        
85
86 trellis.cc trellis.py: $(ALL_IFILES) $(grinclude_HEADERS)
87         $(SWIG) $(SWIGPYTHONARGS) -module trellis -o trellis.cc $(LOCAL_IFILES)
88
89 # These headers get installed in ${prefix}/include/gnuradio
90 grinclude_HEADERS =                     \
91         fsm.h                           \
92         quicksort_index.h               \
93         base.h                          \
94         interleaver.h                   \
95         trellis_metric_type.h           \
96         trellis_calc_metric.h           \
97         trellis_permutation.h           \
98         trellis_siso_type.h             \
99         trellis_siso_f.h                \
100         trellis_siso_combined_f.h               \
101         $(GENERATED_H)                  
102
103
104 # These swig headers get installed in ${prefix}/include/gnuradio/swig
105 swiginclude_HEADERS =                   \
106         $(LOCAL_IFILES)                 \
107         $(GENERATED_I)                  \
108         fsm.i                           \
109         interleaver.i                   \
110         trellis_permutation.i           \
111         trellis_siso_f.i                \
112         trellis_siso_combined_f.i       \
113         trellis_generated.i
114
115
116
117 MOSTLYCLEANFILES = $(BUILT_SOURCES) *.pyc
118
119 # Don't distribute output of swig
120 dist-hook:
121         @for file in $(BUILT_SOURCES); do echo $(RM) $(distdir)/$$file; done
122         @for file in $(BUILT_SOURCES); do $(RM) $(distdir)/$$file; done