Finally, the simple fix for the qtgui issues; also, changed the naming scheme output...
[debian/gnuradio] / gr-qtgui / src / lib / Makefile.am
index 8adcd591bf1d054f071cb5d65e8dc05bb3d965d8..4ba637ad642e988399d62f99fff626b1ed42d283 100644 (file)
@@ -1,11 +1,11 @@
 #
-# Copyright 2004,2005 Free Software Foundation, Inc.
+# Copyright 2008,2009,2010 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             \
+       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                 \
+       waterfallGlobalData.cc                  \
+       ConstellationDisplayPlot.cc             \
+       spectrumdisplayform.cc                  \
+       SpectrumGUIClass.cc                     \
+       spectrumUpdateEvents.cc                 \
+       plot_waterfall.cc                       \
+       qtgui_sink_c.cc                         \
+       qtgui_sink_f.cc
 
-BUILT_SOURCES =                        \
-       moc_fftdisplay.cc
+nodist_libgnuradio_qtgui_la_SOURCES=$(BUILT_SOURCES)
 
-nodist_qt_examples_SOURCES =           \
-       $(BUILT_SOURCES)
-       
-qt_examples_SOURCES =                  \
-       fftdisplay.cc                   \
-       qt_examples.cc
+# These headers get installed in ${prefix}/include/gnuradio
+grinclude_HEADERS =                    \
+       FrequencyDisplayPlot.h          \
+       TimeDomainDisplayPlot.h         \
+       WaterfallDisplayPlot.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_LDADD = $(QWT_LIBS)        \
-                   $(QT_LIBS)          \
-                   $(GNURADIO_CORE_LA)
+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
+       $(QT_UIC_EXEC) $< -o $@
 
-qt_examples_LDFLAGS = $(QT_CFLAGS)     \
-                     $(QWT_CFLAGS)
+# magic flags
+libgnuradio_qtgui_la_LDFLAGS = $(NO_UNDEFINED) $(LTVERSIONFLAGS)
 
-MOSTLYCLEANFILES =                     \
-       *~ $(BUILT_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)
+endif
+
+# Do not distribute built sources, they may contain generated paths
+# which are invalid on other systems
+no_dist_files = $(BUILT_SOURCES)