8aeb80c0a5be7f4b19ee9dbb5bf4a8a22155eae0
[debian/gnuradio] / gr-atsc / src / lib / Makefile.am
1 #
2 # Copyright 2001,2004,2005,2006,2008,2009 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 AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(PYTHON_CPPFLAGS) \
25         $(CPPUNIT_INCLUDES) $(WITH_INCLUDES)
26
27 EXTRA_DIST =                                    \
28         atsci_viterbi_gen.cc                    \
29         gen_encoder.py                          \
30         qa_atsci_trellis_encoder_t1_input.dat   \
31         qa_atsci_trellis_encoder_t1_output.dat  \
32         qa_atsci_viterbi_decoder_t1_input.dat   \
33         qa_atsci_viterbi_decoder_t1_output.dat
34
35
36 TESTS = test_atsci
37
38 lib_LTLIBRARIES = libgnuradio-atsc.la
39
40 # FIXME
41 #       atsci_exp2_lp.cc                        \
42 #       atsci_root_raised_cosine.cc             \
43 #       atsci_root_raised_cosine_bandpass.cc    \
44 #       atsci_vsbtx_lp.cc                       \
45 #
46
47 libgnuradio_atsc_la_SOURCES =                   \
48         atsc_derandomizer.cc                    \
49         atsc_randomizer.cc                      \
50         atsc_rs_decoder.cc                      \
51         atsc_rs_encoder.cc                      \
52         atsc_interleaver.cc                     \
53         atsc_deinterleaver.cc                   \
54         atsc_trellis_encoder.cc                 \
55         atsc_viterbi_decoder.cc                 \
56         atsc_ds_to_softds.cc                    \
57         atsc_field_sync_mux.cc                  \
58         atsc_field_sync_demux.cc                \
59         atsc_equalizer.cc                       \
60         atsc_fs_checker.cc                      \
61         atsc_bit_timing_loop.cc                 \
62         atsc_fpll.cc                            \
63         atsc_depad.cc                           \
64         atsc_pad.cc                             \
65         atsci_basic_trellis_encoder.cc          \
66         atsci_data_interleaver.cc               \
67         atsci_equalizer.cc                      \
68         atsci_equalizer_lms.cc                  \
69         atsci_equalizer_lms2.cc                 \
70         atsci_equalizer_nop.cc                  \
71         atsci_fake_single_viterbi.cc            \
72         atsci_fs_checker.cc                     \
73         atsci_fs_checker_naive.cc               \
74         atsci_fs_correlator.cc                  \
75         atsci_fs_correlator_naive.cc            \
76         atsci_single_viterbi.cc                 \
77         atsci_sssr.cc                           \
78         atsci_pnXXX.cc                          \
79         atsci_randomizer.cc                     \
80         atsci_reed_solomon.cc                   \
81         atsci_sliding_correlator.cc             \
82         atsci_trellis_encoder.cc                \
83         atsci_viterbi_decoder.cc                \
84         create_atsci_equalizer.cc               \
85         create_atsci_fs_checker.cc              \
86         create_atsci_fs_correlator.cc           \
87         plinfo.cc                               
88
89 BUILT_SOURCES =                                 \
90         atsci_viterbi_mux.cc
91
92 libgnuradio_atsc_la_LIBADD =                    \
93         $(GNURADIO_CORE_LA)
94
95 libgnuradio_atsc_la_LDFLAGS = \
96         $(NO_UNDEFINED)
97
98 noinst_LTLIBRARIES = libgnuradio-atsc-qa.la
99
100 libgnuradio_atsc_qa_la_SOURCES =                \
101         qa_atsci_basic_trellis_encoder.cc       \
102         qa_atsci_data_interleaver.cc            \
103         qa_atsci_equalizer_nop.cc               \
104         qa_atsci_fake_single_viterbi.cc         \
105         qa_atsci_fs_correlator.cc               \
106         qa_atsci_single_viterbi.cc              \
107         qa_atsci_randomizer.cc                  \
108         qa_atsci_reed_solomon.cc                \
109         qa_atsci_sliding_correlator.cc          \
110         qa_atsci_trellis_encoder.cc             \
111         qa_atsci_viterbi_decoder.cc             \
112         qa_convolutional_interleaver.cc         \
113         qa_atsci.cc                             \
114         qa_interleaver_fifo.cc                  
115
116 libgnuradio_atsc_qa_la_LIBADD =                 \
117         $(GNURADIO_CORE_LA)
118
119 libgnuradio_atsc_qa_la_LDFLAGS = \
120         $(NO_UNDEFINED)
121
122
123 # These headers get installed in ${prefix}/include/gnuradio
124 grinclude_HEADERS =                             \
125         atsc_consts.h                           \
126         atsc_derandomizer.h                     \
127         atsc_randomizer.h                       \
128         atsc_rs_decoder.h                       \
129         atsc_rs_encoder.h                       \
130         atsc_interleaver.h                      \
131         atsc_deinterleaver.h                    \
132         atsc_trellis_encoder.h                  \
133         atsc_viterbi_decoder.h                  \
134         atsc_ds_to_softds.h                     \
135         atsc_field_sync_mux.h                   \
136         atsc_field_sync_demux.h                 \
137         atsc_equalizer.h                        \
138         atsc_fs_checker.h                       \
139         atsc_bit_timing_loop.h                  \
140         atsc_fpll.h                             \
141         atsc_depad.h                            \
142         atsc_pad.h                              \
143         atsc_types.h                            \
144         atsci_basic_trellis_encoder.h           \
145         atsci_data_interleaver.h                \
146         atsci_diag_output.h                     \
147         atsci_equalizer.h                       \
148         atsci_equalizer_lms.h                   \
149         atsci_equalizer_lms2.h                  \
150         atsci_equalizer_nop.h                   \
151         atsci_exp2_lp.h                         \
152         atsci_fake_single_viterbi.h             \
153         atsci_fs_checker.h                      \
154         atsci_fs_checker_naive.h                \
155         atsci_fs_correlator.h                   \
156         atsci_fs_correlator_naive.h             \
157         atsci_pnXXX.h                           \
158         atsci_randomizer.h                      \
159         atsci_reed_solomon.h                    \
160         atsci_root_raised_cosine.h              \
161         atsci_root_raised_cosine_bandpass.h     \
162         atsci_single_viterbi.h                  \
163         atsci_slicer_agc.h                      \
164         atsci_sliding_correlator.h              \
165         atsci_sssr.h                            \
166         atsci_syminfo.h                         \
167         atsci_sync_tag.h                        \
168         atsci_trellis_encoder.h                 \
169         atsci_viterbi_decoder.h                 \
170         atsci_vsbtx_lp.h                        \
171         convolutional_interleaver.h             \
172         create_atsci_equalizer.h                \
173         create_atsci_fs_checker.h               \
174         create_atsci_fs_correlator.h            \
175         fpll_btloop_coupling.h                  \
176         interleaver_fifo.h                      \
177         qa_atsci.h                              \
178         qa_atsci_basic_trellis_encoder.h        \
179         qa_atsci_data_interleaver.h             \
180         qa_atsci_equalizer_nop.h                \
181         qa_atsci_fake_single_viterbi.h          \
182         qa_atsci_fs_correlator.h                \
183         qa_atsci_randomizer.h                   \
184         qa_atsci_reed_solomon.h                 \
185         qa_atsci_single_viterbi.h               \
186         qa_atsci_sliding_correlator.h           \
187         qa_atsci_trellis_encoder.h              \
188         qa_atsci_viterbi_decoder.h              \
189         qa_convolutional_interleaver.h          \
190         qa_interleaver_fifo.h
191
192
193 # programs we build but don't install
194 # FIXME add test_atsc
195 noinst_PROGRAMS =                               \
196         test_atsci
197
198 atsci_viterbi_gen$(EXEEXT): $(srcdir)/atsci_viterbi_gen.cc
199         $(CXX_FOR_BUILD) -O2 $(srcdir)/atsci_viterbi_gen.cc -o atsci_viterbi_gen$(EXEEXT)
200
201 atsci_viterbi_mux.cc: atsci_viterbi_gen$(EXEEXT) 
202         ./atsci_viterbi_gen$(EXEEXT) -o atsci_viterbi_mux.cc
203
204 test_atsci_SOURCES = test_atsci.cc
205 test_atsci_LDADD   =            \
206         libgnuradio-atsc-qa.la  \
207         libgnuradio-atsc.la     \
208         $(CPPUNIT_LIBS)
209
210 # ------------------------------------------------------------------------
211 #  Cleanup
212 # ------------------------------------------------------------------------
213
214 CLEANFILES = atsci_viterbi_mux.cc atsci_viterbi_gen$(EXEEXT)
215
216 if PYTHON
217 # ------------------------------------------------------------------------
218 #  This is the swig-ish part of the Makefile.
219 #  It builds the atsc module which we'll load into python
220 # ------------------------------------------------------------------------
221
222 TOP_SWIG_IFILES =               \
223         atsc.i
224
225 # Install so that they end up available as:
226 #   import gnuradio
227 # This ends up at:
228 #   ${prefix}/lib/python${python_version}/site-packages/gnuradio
229 atsc_pythondir_category =       \
230         gnuradio
231
232 # additional libraries for linking with the SWIG-generated library
233 atsc_la_swig_libadd =           \
234         libgnuradio-atsc.la
235
236 include $(top_srcdir)/Makefile.swig
237
238 # add some of the variables generated inside the Makefile.swig.gen
239 BUILT_SOURCES += $(swig_built_sources)
240
241 # Do not distribute the output of SWIG
242 no_dist_files = $(swig_built_sources)
243 endif