changeset 15208:2a36a5b89f98

link gui in way that is more consistent with the rest of Octave * libgui/src/link-deps.mk: New file. * libgui/src/Makefile.am: Include it. (QT_INCDIR, QT_LIBDIR, QT_LIBS, QT_LDFLAGS): New variables. (liboctgui_la_CPPFLAGS): Use $(QT_INCDIR). (liboctgui_current, liboctgui_revision, liboctgui_age, liboctgui_version): Ne variables. (liboctgui_la_LDFLAGS): Use -version option, $(NO_UNDEFINED_LDFLAG), -bindir option, and $(LIBOCTGUI_LINK_OPTS). (liboctgui_la_LIBADD): Use $(LIBOCTGUI_LINK_DEPS). * src/Makefile.am: Include ../libgui/src/link-deps.mk. (octave_LDADD): Move $(OCTAVE_GUI_LIBS) ahead of $(OCTAVE_CORE_LIBS). Use $(OCTAVE_GUI_LINK_DEPS). (octave_LDFLAGS): Use $(NO_UNDEFINED_LDFLAG) and $(OCTAVE_GUI_LINK_OPTS) instead of $(octave_cli_LDFLAGS). * liboctave/link-deps.mk, libinterp/link-deps.mk: Use $(top_srcdir)/ instead of ../ to reference other link-deps.mk files.
author John W. Eaton <jwe@octave.org>
date Mon, 20 Aug 2012 15:37:54 -0400
parents 2f2fb099ac3a
children a3c8a3c2dbda
files libgui/src/Makefile.am libgui/src/link-deps.mk libinterp/link-deps.mk liboctave/link-deps.mk src/Makefile.am
diffstat 5 files changed, 65 insertions(+), 21 deletions(-) [+]
line wrap: on
line diff
--- a/libgui/src/Makefile.am	Mon Aug 20 14:14:52 2012 -0400
+++ b/libgui/src/Makefile.am	Mon Aug 20 15:37:54 2012 -0400
@@ -18,6 +18,14 @@
 
 include $(top_srcdir)/build-aux/common.mk
 
+QT_INCDIR = @QT_INCDIR@
+
+QT_LIBDIR = @QT_LIBDIR@
+
+QT_LIBS = -lQtCore -lQtGui -lQtNetwork -lqscintilla2
+
+QT_LDFLAGS = -L$(QT_LIBDIR)
+
 SRCDIRS = \
   m-editor \
   qtinfo \
@@ -81,20 +89,13 @@
   workspace-model.cc \
   workspace-view.cc
 
-liboctgui_la_LIBADD = \
-  libqterminal.la \
-  -lQtCore \
-  -lQtGui \
-  -lQtNetwork \
-  -lqscintilla2
-
 nodist_liboctgui_la_SOURCES = $(octave_gui_MOC) $(octave_gui_RC)
 
 liboctgui_la_CPPFLAGS = \
-  -I@QT_INCDIR@ \
-  -I@QT_INCDIR@/QtCore \
-  -I@QT_INCDIR@/QtGui \
-  -I@QT_INCDIR@/QtNetwork \
+  -I$(QT_INCDIR) \
+  -I$(QT_INCDIR)/QtCore \
+  -I$(QT_INCDIR)/QtGui \
+  -I$(QT_INCDIR)/QtNetwork \
   -I$(srcdir)/../qterminal/libqterminal \
   -I$(srcdir)/m-editor \
   -I$(srcdir)/octave-adapter \
@@ -113,7 +114,26 @@
   -I$(srcdir)/../../libtinerp/operators \
   -I$(srcdir)/../../libinterp/parse-tree
 
-liboctgui_la_LDFLAGS = -L@QT_LIBDIR@
+include link-deps.mk
+
+liboctgui_la_LIBADD = \
+  libqterminal.la \
+  ../../liboctave/liboctave.la \
+  ../../libcruft/libcruft.la \
+  $(LIBOCTGUI_LINK_DEPS)
+
+# Increment these as needed and according to the rules in the libtool manual:
+liboctgui_current = 0
+liboctgui_revision = 0
+liboctgui_age = 0
+
+liboctgui_version_info = $(liboctgui_current):$(liboctgui_revision):$(liboctgui_age)
+
+liboctgui_la_LDFLAGS = \
+  -version-info $(liboctgui_version_info) \
+  $(NO_UNDEFINED_LDFLAG) \
+  -bindir $(bindir) \
+  $(LIBOCTGUI_LINK_OPTS)
 
 noinst_HEADERS = \
   documentation-dockwidget.h \
@@ -224,10 +244,9 @@
   ../qterminal/libqterminal/unix/TerminalView.h
 
 libqterminal_la_CPPFLAGS = \
-  $(DEFS) \
-  -I@QT_INCDIR@ \
-  -I@QT_INCDIR@/QtCore \
-  -I@QT_INCDIR@/QtGui \
+  -I$(QT_INCDIR) \
+  -I$(QT_INCDIR)/QtCore \
+  -I$(QT_INCDIR)/QtGui \
   -I$(srcdir)/../qterminal/libqterminal
 
 libqterminal_la_MOC = \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libgui/src/link-deps.mk	Mon Aug 20 15:37:54 2012 -0400
@@ -0,0 +1,21 @@
+include $(top_srcdir)/libinterp/link-deps.mk
+
+if AMCOND_ENABLE_DYNAMIC_LINKING
+  LIBOCTGUI_LINK_DEPS =
+else
+  LIBOCTGUI_LINK_DEPS = $(DLDFCN_LIBS)
+endif
+
+LIBOCTGUI_LINK_DEPS += \
+  $(QT_LIBS)
+
+LIBOCTGUI_LINK_OPTS = \
+  $(QT_LDFLAGS)
+
+if AMCOND_LINK_ALL_DEPS
+  LIBOCTGUI_LINK_DEPS += $(LIBOCTINTERP_LINK_DEPS)
+  LIBOCTGUI_LINK_OPTS += $(LIBOCTINTERP_LINK_OPTS)
+
+  OCTAVE_GUI_LINK_DEPS = $(LIBOCTGUI_LINK_DEPS)
+  OCTAVE_GUI_LINK_OPTS = $(LIBOCTGUI_LINK_OPTS)
+endif
--- a/libinterp/link-deps.mk	Mon Aug 20 14:14:52 2012 -0400
+++ b/libinterp/link-deps.mk	Mon Aug 20 15:37:54 2012 -0400
@@ -1,4 +1,4 @@
-include ../liboctave/link-deps.mk
+include $(top_srcdir)/liboctave/link-deps.mk
 
 if AMCOND_ENABLE_DYNAMIC_LINKING
   LIBOCTINTERP_LINK_DEPS =
--- a/liboctave/link-deps.mk	Mon Aug 20 14:14:52 2012 -0400
+++ b/liboctave/link-deps.mk	Mon Aug 20 15:37:54 2012 -0400
@@ -1,4 +1,4 @@
-include ../libcruft/link-deps.mk
+include $(top_srcdir)/libcruft/link-deps.mk
 
 LIBOCTAVE_LINK_DEPS = \
   $(SPARSE_XLIBS) \
--- a/src/Makefile.am	Mon Aug 20 14:14:52 2012 -0400
+++ b/src/Makefile.am	Mon Aug 20 15:37:54 2012 -0400
@@ -66,6 +66,8 @@
   ../liboctave/liboctave.la \
   ../libcruft/libcruft.la
 
+include ../libgui/src/link-deps.mk
+
 octave_cli_SOURCES = main-cli.cc
 
 octave_cli_LDADD = \
@@ -91,11 +93,13 @@
   $(OCTAVE_GUI_CPPFLAGS)
 
 octave_LDADD = \
+  $(OCTAVE_GUI_LIBS) \
   $(OCTAVE_CORE_LIBS) \
-  $(OCTAVE_GUI_LIBS) \
-  $(OCTAVE_LINK_DEPS)
+  $(OCTAVE_GUI_LINK_DEPS)
 
-octave_LDFLAGS = $(octave_cli_LDFLAGS)
+octave_LDFLAGS = \
+  $(NO_UNDEFINED_LDFLAG) \
+  $(OCTAVE_GUI_LINK_OPTS)
 
 if AMCOND_BUILD_COMPILED_AUX_PROGRAMS
 octave-config.cc: octave-config.in.cc Makefile