#
-# Copyright 2004,2005 Free Software Foundation, Inc.
+# Copyright 2008,2009 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
# GNU Radio is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
+# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GNU Radio is distributed in the hope that it will be useful,
include $(top_srcdir)/Makefile.common
-INCLUDES = $(STD_DEFINES_AND_INCLUDES) \
- $(QT_CFLAGS) \
- $(QWT_CFLAGS)
+AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(PYTHON_CPPFLAGS) \
+ $(QT_INCLUDES) -I. $(WITH_INCLUDES)
-# This rule lets GNU create any moc_*.cc files from the equivalent *.h
-moc_%.cc: %.h
- moc $< -o $@
+# 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 \
+ Waterfall3DDisplayPlot_moc.cc \
+ ConstellationDisplayPlot_moc.cc \
+ spectrumdisplayform_ui.h
-# Generate the .h and .cc files from the .ui file
-%.h: %.ui
- uic $< -o $@
+EXTRA_DIST = spectrumdisplayform.ui
-%.cc: %.ui
- uic -impl $*.h $< -o $@
+BUILT_SOURCES = $(QMAKE_SOURCES)
-include_HEADERS =
- fftdisplay.h \
- fftdisplaysink.h
+# Build the normal library for C++ apps to link against
+lib_LTLIBRARIES = libgnuradio-qtgui.la
-noinst_PROGRAMS = \
- qt_examples
+# These are the source files that go into the shared library
+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 \
+ $(QMAKE_SOURCES) \
+ qtgui_sink_c.cc \
+ qtgui_sink_f.cc
-qt_examples_MOC = \
- moc_fftdisplay.cc
+# These headers get installed in ${prefix}/include/gnuradio
+grinclude_HEADERS = \
+ FrequencyDisplayPlot.h \
+ TimeDomainDisplayPlot.h \
+ WaterfallDisplayPlot.h \
+ Waterfall3DDisplayPlot.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
-qt_examples_SOURCES = \
- fftdisplay.cc \
- qt_examples.cc \
- $(qt_examples_MOC)
+%_moc.cc : %.h
+ $(QT_MOC_EXEC) -DQT_SHARED -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -p $(srcdir) $< -o $@
-qt_examples_LDADD = $(QWT_LIBS) $(QT_LIBS)
-qt_examples_LDFLAGS = $(QT_CFLAGS) $(QWT_CFLAGS) $(GNURADIO_CORE_LIBS)
+%_ui.h : %.ui
+ $(QT_UIC_EXEC) $< -o $@
-MOSTLYCLEANFILES = \
- *~
+# magic flags
+libgnuradio_qtgui_la_LDFLAGS = $(NO_UNDEFINED) -version-info 0:0:0
-CLEANFILES = $(filter moc_%.cc, $(qt_examples_SOURCES))
+libgnuradio_qtgui_la_LIBADD = \
+ $(GNURADIO_CORE_LA) \
+ -lstdc++ \
+ $(QT_LIBS)
+
+if PYTHON
+##############################
+# SWIG interface and library
+
+TOP_SWIG_IFILES = \
+ qtgui.i
+
+# 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
+
+include $(top_srcdir)/Makefile.swig
+
+# add some of the variables generated inside the Makefile.swig.gen
+BUILT_SOURCES += \
+ $(swig_built_sources)
+
+# Do not distribute the output of SWIG
+no_dist_files = $(swig_built_sources)
+endif