Adding a constellation plot and an example for viewing constellations of digital...
[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 # Install this stuff so that it ends up as the gnuradio.qtgui module
25 # This usually ends up at:
26 #   ${prefix}/lib/python${python_version}/site-packages/gnuradio/qtgui
27
28 ourpythondir = $(grpythondir)/qtgui
29 ourlibdir    = $(grpyexecdir)/qtgui
30
31 AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(PYTHON_CPPFLAGS) \
32               $(QT_INCLUDES) -I. $(WITH_INCLUDES)
33
34 ALL_IFILES =                            \
35         $(LOCAL_IFILES)                 \
36         $(NON_LOCAL_IFILES)             
37
38 NON_LOCAL_IFILES =                      \
39         $(GNURADIO_I)
40
41 LOCAL_IFILES =                          \
42         $(srcdir)/qtgui.i
43
44 # These files are built by SWIG.  The first is the C++ glue.
45 # The second is the python wrapper that loads the shared library
46 # and knows how to call our extensions.
47
48 # Only include these files in the build if qtgui passes configure checks
49 # This is mostly to help make distcheck pass
50 if BUILD_QT
51 QMAKE_SOURCES =                                 \
52         spectrumdisplayform_moc.cc              \
53         FrequencyDisplayPlot_moc.cc             \
54         TimeDomainDisplayPlot_moc.cc            \
55         WaterfallDisplayPlot_moc.cc             \
56         Waterfall3DDisplayPlot_moc.cc           \
57         ConstellationDisplayPlot_moc.cc         \
58         spectrumdisplayform_ui.h
59 endif
60
61 EXTRA_DIST = spectrumdisplayform.ui
62
63 BUILT_SOURCES =                                 \
64         qtgui.cc                                \
65         qtgui.py                                \
66         $(QMAKE_SOURCES)
67
68 # This gets qtgui.py installed in the right place
69 ourpython_PYTHON =                      \
70         qtgui.py
71
72 # Build the library for Python module to link against
73 ourlib_LTLIBRARIES = _qtgui.la
74
75 # Build the normal library for C++ apps to link against
76 lib_LTLIBRARIES = libqtgui.la
77
78 # These are the source files that go into the shared library
79 libqtgui_la_SOURCES =   \
80         FrequencyDisplayPlot.cc                 \
81         TimeDomainDisplayPlot.cc                \
82         WaterfallDisplayPlot.cc                 \
83         Waterfall3DDisplayPlot.cc               \
84         waterfallGlobalData.cc                  \
85         ConstellationDisplayPlot.cc             \
86         spectrumdisplayform.cc                  \
87         SpectrumGUIClass.cc                     \
88         spectrumUpdateEvents.cc                 \
89         plot_waterfall.cc                       \
90         $(QMAKE_SOURCES)                        \
91         qtgui_sink_c.cc                         \
92         qtgui_sink_f.cc
93
94 _qtgui_la_SOURCES =                     \
95         $(libqtgui_la_SOURCES)          \
96         qtgui.cc
97
98 # These headers get installed in ${prefix}/include/gnuradio
99 grinclude_HEADERS =                     \
100         FrequencyDisplayPlot.h          \
101         TimeDomainDisplayPlot.h         \
102         WaterfallDisplayPlot.h          \
103         Waterfall3DDisplayPlot.h        \
104         waterfallGlobalData.h           \
105         ConstellationDisplayPlot.h      \
106         highResTimeFunctions.h          \
107         plot_waterfall.h                \
108         spectrumdisplayform.h           \
109         SpectrumGUIClass.h              \
110         spectrumUpdateEvents.h          \
111         qtgui.h                         \
112         qtgui_sink_c.h                  \
113         qtgui_sink_f.h
114
115 if BUILD_QT
116 %_moc.cc : %.h
117         $(QT_MOC_EXEC) -DQT_SHARED -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB $< -o $@
118
119 %_ui.h : %.ui
120         $(QT_UIC_EXEC) $< -o $@
121 else
122 %_moc.cc : %.h
123         touch $@
124
125 %_ui.h : %.ui
126         touch $@
127 endif
128
129 # magic flags
130 _qtgui_la_LDFLAGS = $(NO_UNDEFINED) -module -avoid-version
131 libqtgui_la_LDFLAGS = $(NO_UNDEFINED) -version-info 0:0:0
132
133 # link the library against the c++ standard library
134 _qtgui_la_LIBADD =              \
135         $(PYTHON_LDFLAGS)       \
136         $(GNURADIO_CORE_LA)     \
137         -lstdc++                \
138         $(QT_LIBS)
139
140
141 libqtgui_la_LIBADD =            \
142         $(GNURADIO_CORE_LA)     \
143         -lstdc++                \
144         $(QT_LIBS)
145
146 qtgui.cc qtgui.py: $(ALL_IFILES)
147         $(SWIG) $(STD_SWIG_PYTHON_ARGS) -module qtgui \
148                 -o qtgui.cc $(LOCAL_IFILES)
149
150 # These swig headers get installed in ${prefix}/include/gnuradio/swig
151 swiginclude_HEADERS =                   \
152         $(LOCAL_IFILES)
153
154
155 MOSTLYCLEANFILES = $(BUILT_SOURCES) *.pyc
156
157 # Don't distribute output of swig
158 dist-hook:
159         @for file in $(BUILT_SOURCES); do echo $(RM) $(distdir)/$$file; done
160         @for file in $(BUILT_SOURCES); do $(RM) $(distdir)/$$file; done