Make C++ shared libraries versioned
[debian/gnuradio] / gr-qtgui / src / lib / Makefile.am
1 #
2 # Copyright 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               $(QT_INCLUDES) -I. $(WITH_INCLUDES)
26
27 # Only include these files in the build if qtgui passes configure checks
28 # This is mostly to help make distcheck pass
29 QMAKE_SOURCES =                                 \
30         spectrumdisplayform_moc.cc              \
31         FrequencyDisplayPlot_moc.cc             \
32         TimeDomainDisplayPlot_moc.cc            \
33         WaterfallDisplayPlot_moc.cc             \
34         Waterfall3DDisplayPlot_moc.cc           \
35         ConstellationDisplayPlot_moc.cc         \
36         spectrumdisplayform_ui.h
37
38 EXTRA_DIST = spectrumdisplayform.ui
39
40 BUILT_SOURCES = $(QMAKE_SOURCES)
41
42 # Build the normal library for C++ apps to link against
43 lib_LTLIBRARIES = libgnuradio-qtgui.la
44
45 # These are the source files that go into the shared library
46 libgnuradio_qtgui_la_SOURCES =  \
47         FrequencyDisplayPlot.cc                 \
48         TimeDomainDisplayPlot.cc                \
49         WaterfallDisplayPlot.cc                 \
50         Waterfall3DDisplayPlot.cc               \
51         waterfallGlobalData.cc                  \
52         ConstellationDisplayPlot.cc             \
53         spectrumdisplayform.cc                  \
54         SpectrumGUIClass.cc                     \
55         spectrumUpdateEvents.cc                 \
56         plot_waterfall.cc                       \
57         $(QMAKE_SOURCES)                        \
58         qtgui_sink_c.cc                         \
59         qtgui_sink_f.cc
60
61 # These headers get installed in ${prefix}/include/gnuradio
62 grinclude_HEADERS =                     \
63         FrequencyDisplayPlot.h          \
64         TimeDomainDisplayPlot.h         \
65         WaterfallDisplayPlot.h          \
66         Waterfall3DDisplayPlot.h        \
67         waterfallGlobalData.h           \
68         ConstellationDisplayPlot.h      \
69         highResTimeFunctions.h          \
70         plot_waterfall.h                \
71         spectrumdisplayform.h           \
72         SpectrumGUIClass.h              \
73         spectrumUpdateEvents.h          \
74         qtgui.h                         \
75         qtgui_sink_c.h                  \
76         qtgui_sink_f.h
77
78 %_moc.cc : %.h
79         $(QT_MOC_EXEC) -DQT_SHARED -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -p $(srcdir) $< -o $@
80
81 %_ui.h : %.ui
82         $(QT_UIC_EXEC) $< -o $@
83
84 # magic flags
85 libgnuradio_qtgui_la_LDFLAGS = $(NO_UNDEFINED) $(LTVERSIONFLAGS)
86
87 libgnuradio_qtgui_la_LIBADD =           \
88         $(GNURADIO_CORE_LA)     \
89         -lstdc++                \
90         $(QT_LIBS)
91
92 if PYTHON
93 ##############################
94 # SWIG interface and library
95
96 TOP_SWIG_IFILES =               \
97         qtgui.i
98
99 # Install so that they end up available as:
100 #   import gnuradio.qtgui
101 # This ends up at:
102 #   ${prefix}/lib/python${python_version}/site-packages/gnuradio
103 qtgui_pythondir_category =      \
104         gnuradio/qtgui
105
106 # additional libraries for linking with the SWIG-generated library
107 qtgui_la_swig_libadd =          \
108         libgnuradio-qtgui.la
109
110 include $(top_srcdir)/Makefile.swig
111
112 # add some of the variables generated inside the Makefile.swig.gen
113 BUILT_SOURCES +=                \
114         $(swig_built_sources)
115 endif
116
117 # Do not distribute built sources, they may contain generated paths
118 # which are invalid on other systems
119 no_dist_files = $(BUILT_SOURCES)