#
-# Copyright 2008 Free Software Foundation, Inc.
+# Copyright 2008,2009,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
include $(top_srcdir)/Makefile.common
-#SUBDIRS=qtspectrum
-#DIST_SUBDIRS=qtspectrum
-
-# Install this stuff so that it ends up as the gnuradio.qtgui module
-# This usually ends up at:
-# ${prefix}/lib/python${python_version}/site-packages/gnuradio/qtgui
-
-ourpythondir = $(grpythondir)/qtgui
-ourlibdir = $(grpyexecdir)/qtgui
-
AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(PYTHON_CPPFLAGS) \
$(QT_INCLUDES) -I. $(WITH_INCLUDES)
-SWIGPYTHONARGS = $(SWIGPYTHONFLAGS) $(STD_DEFINES_AND_INCLUDES) \
- $(WITH_SWIG_INCLUDES) $(WITH_INCLUDES)
-
-ALL_IFILES = \
- $(LOCAL_IFILES) \
- $(NON_LOCAL_IFILES)
-
-NON_LOCAL_IFILES = \
- $(GNURADIO_I)
+# Only include these files in the build if qtgui passes configure checks
+# This is mostly to help make distcheck pass
+QMAKE_SOURCES = \
+ spectrumdisplayform.moc.cc \
+ FrequencyDisplayPlot.moc.cc \
+ TimeDomainDisplayPlot.moc.cc \
+ WaterfallDisplayPlot.moc.cc \
+ ConstellationDisplayPlot.moc.cc \
+ spectrumdisplayform.ui.h
-LOCAL_IFILES = \
- $(top_srcdir)/gr-qtgui/src/lib/qtgui.i
+EXTRA_DIST = spectrumdisplayform.ui
-# These files are built by SWIG. The first is the C++ glue.
-# The second is the python wrapper that loads the shared library
-# and knows how to call our extensions.
-
-BUILT_SOURCES = \
- qtgui.cc \
- qtgui.py \
- spectrumdisplayform_moc.cc \
- FrequencyDisplayPlot_moc.cc \
- TimeDomainDisplayPlot_moc.cc \
- WaterfallDisplayPlot_moc.cc \
- Waterfall3DDisplayPlot_moc.cc \
- spectrumdisplayform_ui.h
-
-# This gets qtgui.py installed in the right place
-ourpython_PYTHON = \
- qtgui.py
-
-# Build the library for Python module to link against
-ourlib_LTLIBRARIES = _qtgui.la
+BUILT_SOURCES = $(QMAKE_SOURCES)
# Build the normal library for C++ apps to link against
-lib_LTLIBRARIES = libqtgui.la
+lib_LTLIBRARIES = libgnuradio-qtgui.la
# These are the source files that go into the shared library
-libqtgui_la_SOURCES = \
- spectrumdisplayform.cc \
+libgnuradio_qtgui_la_SOURCES = \
FrequencyDisplayPlot.cc \
TimeDomainDisplayPlot.cc \
WaterfallDisplayPlot.cc \
- Waterfall3DDisplayPlot.cc \
waterfallGlobalData.cc \
+ ConstellationDisplayPlot.cc \
+ spectrumdisplayform.cc \
SpectrumGUIClass.cc \
spectrumUpdateEvents.cc \
plot_waterfall.cc \
- spectrumdisplayform.ui \
- spectrumdisplayform_moc.cc \
- FrequencyDisplayPlot_moc.cc \
- TimeDomainDisplayPlot_moc.cc \
- WaterfallDisplayPlot_moc.cc \
- Waterfall3DDisplayPlot_moc.cc \
qtgui_sink_c.cc \
qtgui_sink_f.cc
-_qtgui_la_SOURCES = \
- $(libqtgui_la_SOURCES) \
- qtgui.cc
+nodist_libgnuradio_qtgui_la_SOURCES=$(BUILT_SOURCES)
# These headers get installed in ${prefix}/include/gnuradio
grinclude_HEADERS = \
- spectrumdisplayform.h \
FrequencyDisplayPlot.h \
TimeDomainDisplayPlot.h \
WaterfallDisplayPlot.h \
- Waterfall3DDisplayPlot.h \
- SpectrumGUIClass.h \
waterfallGlobalData.h \
+ ConstellationDisplayPlot.h \
highResTimeFunctions.h \
plot_waterfall.h \
+ spectrumdisplayform.h \
+ SpectrumGUIClass.h \
spectrumUpdateEvents.h \
qtgui.h \
qtgui_sink_c.h \
qtgui_sink_f.h
-%_moc.cc : %.h
- $(QT_MOC_EXEC) -DQT_SHARED -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB $< -o $@
+QT_MOC_FLAGS=-DQT_SHARED -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB
+%.moc.cc : %.h
+ $(QT_MOC_EXEC) $(QT_MOC_FLAGS) -p $(srcdir) $< -o $@
-%_ui.h : %.ui
+%.ui.h : %.ui
$(QT_UIC_EXEC) $< -o $@
# magic flags
-_qtgui_la_LDFLAGS = $(NO_UNDEFINED) -module -avoid-version
-libqtgui_la_LDFLAGS = $(NO_UNDEFINED) -version-info 0:0:0
+libgnuradio_qtgui_la_LDFLAGS = $(NO_UNDEFINED) $(LTVERSIONFLAGS)
-# link the library against the c++ standard library
-_qtgui_la_LIBADD = \
- $(PYTHON_LDFLAGS) \
+libgnuradio_qtgui_la_LIBADD = \
$(GNURADIO_CORE_LA) \
-lstdc++ \
$(QT_LIBS)
+if PYTHON
+##############################
+# SWIG interface and library
-libqtgui_la_LIBADD = \
- $(GNURADIO_CORE_LA) \
- -lstdc++ \
- $(QT_LIBS)
-
-qtgui.cc qtgui.py: qtgui.i $(ALL_IFILES)
- $(SWIG) $(SWIGPYTHONARGS) -module qtgui -o qtgui.cc $(LOCAL_IFILES)
+TOP_SWIG_IFILES = \
+ qtgui.i
-# These swig headers get installed in ${prefix}/include/gnuradio/swig
-swiginclude_HEADERS = \
- $(LOCAL_IFILES)
+# Install so that they end up available as:
+# import gnuradio.qtgui
+# This ends up at:
+# ${prefix}/lib/python${python_version}/site-packages/gnuradio
+qtgui_pythondir_category = \
+ gnuradio/qtgui
+# additional libraries for linking with the SWIG-generated library
+qtgui_la_swig_libadd = \
+ libgnuradio-qtgui.la
-MOSTLYCLEANFILES = $(BUILT_SOURCES) *.pyc
+include $(top_srcdir)/Makefile.swig
-#EXTRA_DIST=qtspectrum/GNUmakefile
+# add some of the variables generated inside the Makefile.swig.gen
+BUILT_SOURCES += \
+ $(swig_built_sources)
+endif
-# Don't distribute output of swig
-dist-hook:
- @for file in $(BUILT_SOURCES); do echo $(RM) $(distdir)/$$file; done
- @for file in $(BUILT_SOURCES); do $(RM) $(distdir)/$$file; done
+# Do not distribute built sources, they may contain generated paths
+# which are invalid on other systems
+no_dist_files = $(BUILT_SOURCES)