changeset 20361:8ef616eec739

eliminate recursive make invocation in libgui directory tree * libgui/module.mk: New file created from libgui/Makefile.am. * libgui/Makefile.am: Delete. * configure.ac (AC_CONFIG_FILES): Remove libgui/Makefile from the list. * Makefile.am (octlocale_DATA, octlib_LTLIBRARIES, noinst_LTLIBRARIES): Initialize variables here. Include libgui/module.mk and libgui/link-deps.mk. (SUBDIRS): Remove libgui from the list. * src/module.mk: Don't include libgui/link-deps.mk. * libgui/graphics/module.mk, libgui/qterminal-module.mk, libgui/src/module.mk: Adapt for non-recursive build.
author John W. Eaton <jwe@octave.org>
date Thu, 09 Jul 2015 13:55:58 -0400
parents 2d84d27dc9f0
children 0ce7d8303152
files Makefile.am configure.ac libgui/Makefile.am libgui/graphics/module.mk libgui/module.mk libgui/qterminal-module.mk libgui/src/module.mk src/module.mk
diffstat 8 files changed, 515 insertions(+), 483 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.am	Thu Jul 09 10:11:41 2015 -0400
+++ b/Makefile.am	Thu Jul 09 13:55:58 2015 -0400
@@ -22,6 +22,7 @@
 
 octdata_DATA =
 octetc_DATA =
+octlocale_DATA =
 
 ACLOCAL_AMFLAGS = -I m4
 
@@ -73,8 +74,13 @@
 OCTAVE_CROSS_TOOLS =
 OCTAVE_INTERPRETER_TARGETS =
 
+octlib_LTLIBRARIES =
+noinst_LTLIBRARIES =
+
 ALL_LOCAL_TARGETS =
 
+include libgui/module.mk
+include libgui/link-deps.mk
 include src/module.mk
 include doc/module.mk
 include doc/interpreter/images.mk
@@ -87,11 +93,7 @@
 # directories are handled directly from this Makefile (see also the
 # included makefile fragments).
 
-SUBDIRS = libgnu liboctave libinterp
-if AMCOND_BUILD_GUI
-SUBDIRS += libgui
-endif
-SUBDIRS += scripts
+SUBDIRS = libgnu liboctave libinterp scripts
 
 dist-hook: doc-interpreter-dist-hook docs-dist-hook icons-dist-hook
 
--- a/configure.ac	Thu Jul 09 10:11:41 2015 -0400
+++ b/configure.ac	Thu Jul 09 13:55:58 2015 -0400
@@ -2998,7 +2998,6 @@
   Makefile
   doc/doxyhtml/Doxyfile
   libgnu/Makefile
-  libgui/Makefile
   libinterp/Makefile
   liboctave/Makefile
   liboctave/cruft/mkf77def
--- a/libgui/Makefile.am	Thu Jul 09 10:11:41 2015 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +0,0 @@
-# Makefile for Octave's libgui directory
-#
-# Copyright (C) 2012-2015 John W. Eaton
-#
-# This file is part of Octave.
-#
-# Octave 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 3 of the License, or (at
-# your option) any later version.
-#
-# Octave is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Octave; see the file COPYING.  If not, see
-# <http://www.gnu.org/licenses/>.
-
-include $(top_srcdir)/build-aux/common.mk
-
-MOC_CPPFLAGS =
-
-## Fix for bug #42839 where -mieee CFLAG option is added to CPPFLAGS by gnulib.
-## Users may also pass other options in CPPFLAGS that moc does not understand.
-## Only keep moc-compatible options -Idir, -Dmacro, and -Umacro.
-MOC_OCTAVE_CPPFLAGS = $(filter -I% -D% -U%, $(AM_CPPFLAGS) $(CPPFLAGS))
-
-octlib_LTLIBRARIES = liboctgui.la
-
-TRANSLATIONS = \
-  languages/be_BY.ts \
-  languages/de_DE.ts \
-  languages/en_US.ts \
-  languages/es_ES.ts \
-  languages/fr_FR.ts \
-  languages/it_IT.ts \
-  languages/ja_JP.ts \
-  languages/nl_NL.ts \
-  languages/pt_BR.ts \
-  languages/pt_PT.ts \
-  languages/ru_RU.ts \
-  languages/uk_UA.ts \
-  languages/zh_CN.ts
-
-LOCALES = $(patsubst languages/%.ts, languages/%.qm, $(TRANSLATIONS))
-
-EXTRA_DIST = default-qt-settings.in $(TRANSLATIONS)
-CLEANFILES =
-
-BUILT_SOURCES =
-
-noinst_HEADERS =
-
-noinst_LTLIBRARIES =
-
-include src/module.mk
-include graphics/module.mk
-include qterminal-module.mk
-
-## liboctgui merely collects a bunch of compiled convenience libraries.
-## It has no source code itself.
-liboctgui_la_SOURCES =
-
-include link-deps.mk
-
-# Dummy C++ source to force C++ linking.
-nodist_EXTRA_liboctgui_la_SOURCES = dummy.cc
-
-liboctgui_la_LIBADD = \
-  qterminal/libqterminal.la \
-  src/libgui-src.la \
-  graphics/libgui-graphics.la \
-  $(top_builddir)/libinterp/liboctinterp.la \
-  $(top_builddir)/liboctave/liboctave.la \
-  $(LIBOCTGUI_LINK_DEPS)
-
-# Increment these as needed and according to the rules in the libtool manual:
-liboctgui_current = 1
-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)
-
-octetc_DATA = default-qt-settings
-
-octlocale_DATA = $(LOCALES)
-
-default-qt-settings: default-qt-settings.in
-	$(AM_V_GEN)$(do_subst_qt_settings)
-
-define moc-command
-  rm -f $@-t $@ && \
-  ( echo "#ifdef HAVE_CONFIG_H"; \
-    echo "#include <config.h>"; \
-    echo "#endif"; \
-    $(MOC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(MOC_OCTAVE_CPPFLAGS) $(MOC_CPPFLAGS) $(liboctgui_la_CPPFLAGS) $< ) > $@-t && \
-  mv $@-t $@
-endef
-
-define rcc-command
-  rm -f $@-t $@ && \
-  ( echo "#ifdef HAVE_CONFIG_H"; \
-    echo "#include <config.h>"; \
-    echo "#endif"; \
-    $(RCC) -name $(@D) $< ) > $@-t && \
-  mv $@-t $@
-endef
-
-moc-%.cc: %.h
-	$(AM_V_GEN)$(moc-command)
-
-ui-%.h: %.ui
-	$(AM_V_GEN)$(UIC) -o $@ $<
-
-qrc-%.cc: %.qrc
-	$(AM_V_GEN)$(rcc-command)
-
-AM_V_lrelease = $(am__v_lrelease_$(V))
-am__v_lrelease_ = $(am__v_lrelease_$(AM_DEFAULT_VERBOSITY))
-am__v_lrelease_0 = -silent
-am__v_lrelease_1 =
-
-%.qm: %.ts
-	$(AM_V_GEN)$(MKDIR_P) languages && \
-	$(LRELEASE) $(AM_V_lrelease) -qm $@ $<
-
-DISTCLEANFILES = \
-  default-qt-settings \
-  $(LOCALES)
-
--- a/libgui/graphics/module.mk	Thu Jul 09 10:11:41 2015 -0400
+++ b/libgui/graphics/module.mk	Thu Jul 09 13:55:58 2015 -0400
@@ -1,134 +1,146 @@
 EXTRA_DIST += \
-  graphics/module.mk \
-  graphics/qthandles.qrc \
-  graphics/images/README \
-  graphics/images/pan.png \
-  graphics/images/rotate.png \
-  graphics/images/select.png \
-  graphics/images/zoom-in.png \
-  graphics/images/zoom-out.png \
+  libgui/graphics/module.mk \
+  libgui/graphics/qthandles.qrc \
+  libgui/graphics/images/README \
+  libgui/graphics/images/pan.png \
+  libgui/graphics/images/rotate.png \
+  libgui/graphics/images/select.png \
+  libgui/graphics/images/zoom-in.png \
+  libgui/graphics/images/zoom-out.png \
   $(octave_gui_graphics_UI)
 
+OCTAVE_GUI_GRAPHICS_MOC = \
+  libgui/graphics/moc-annotation-dialog.cc \
+  libgui/graphics/moc-Backend.cc \
+  libgui/graphics/moc-ButtonControl.cc \
+  libgui/graphics/moc-ContextMenu.cc \
+  libgui/graphics/moc-EditControl.cc \
+  libgui/graphics/moc-Figure.cc \
+  libgui/graphics/moc-FigureWindow.cc \
+  libgui/graphics/moc-ListBoxControl.cc \
+  libgui/graphics/moc-Menu.cc \
+  libgui/graphics/moc-MouseModeActionGroup.cc \
+  libgui/graphics/moc-Object.cc \
+  libgui/graphics/moc-ObjectFactory.cc \
+  libgui/graphics/moc-ObjectProxy.cc \
+  libgui/graphics/moc-PopupMenuControl.cc \
+  libgui/graphics/moc-PushTool.cc \
+  libgui/graphics/moc-SliderControl.cc \
+  libgui/graphics/moc-TextEdit.cc \
+  libgui/graphics/moc-ToggleTool.cc \
+  libgui/graphics/moc-ToolBar.cc
+
+$(OCTAVE_GUI_GRAPHICS_MOC): libgui/graphics/$(octave_dirstamp)
+
+DIRSTAMP_FILES += \
+  libgui/graphics/$(octave_dirstamp)
+
 octave_gui_MOC += \
-  graphics/moc-annotation-dialog.cc \
-  graphics/moc-Backend.cc \
-  graphics/moc-ButtonControl.cc \
-  graphics/moc-ContextMenu.cc \
-  graphics/moc-EditControl.cc \
-  graphics/moc-Figure.cc \
-  graphics/moc-FigureWindow.cc \
-  graphics/moc-ListBoxControl.cc \
-  graphics/moc-Menu.cc \
-  graphics/moc-MouseModeActionGroup.cc \
-  graphics/moc-Object.cc \
-  graphics/moc-ObjectFactory.cc \
-  graphics/moc-ObjectProxy.cc \
-  graphics/moc-PopupMenuControl.cc \
-  graphics/moc-PushTool.cc \
-  graphics/moc-SliderControl.cc \
-  graphics/moc-TextEdit.cc \
-  graphics/moc-ToggleTool.cc \
-  graphics/moc-ToolBar.cc
+  $(OCTAVE_GUI_GRAPHICS_MOC)
 
 octave_gui_graphics_UI = \
-  graphics/annotation-dialog.ui
+  libgui/graphics/annotation-dialog.ui
 
-octave_gui_graphics_UI_H = $(patsubst graphics/%.ui, graphics/ui-%.h, $(octave_gui_graphics_UI))
+octave_gui_graphics_UI_H = $(patsubst libgui/graphics/%.ui, libgui/graphics/ui-%.h, $(octave_gui_graphics_UI))
+
+$(octave_gui_graphics_UI_H): libgui/graphics/$(octave_dirstamp)
 
 BUILT_SOURCES += $(octave_gui_graphics_UI_H)
 
-octave_gui_graphics_RC = graphics/qrc-qthandles.cc
+octave_gui_graphics_RC = libgui/graphics/qrc-qthandles.cc
+
+$(octave_gui_graphics_RC): libgui/graphics/$(octave_dirstamp)
 
 noinst_HEADERS += \
-  graphics/__init_qt__.h \
-  graphics/annotation-dialog.h \
-  graphics/Backend.h \
-  graphics/BaseControl.h \
-  graphics/ButtonControl.h \
-  graphics/Canvas.h \
-  graphics/CheckBoxControl.h \
-  graphics/Container.h \
-  graphics/ContextMenu.h \
-  graphics/EditControl.h \
-  graphics/Figure.h \
-  graphics/FigureWindow.h \
-  graphics/GenericEventNotify.h \
-  graphics/GLCanvas.h \
-  graphics/KeyMap.h \
-  graphics/ListBoxControl.h \
-  graphics/Logger.h \
-  graphics/Menu.h \
-  graphics/MenuContainer.h \
-  graphics/MouseModeActionGroup.h \
-  graphics/Object.h \
-  graphics/ObjectFactory.h \
-  graphics/ObjectProxy.h \
-  graphics/Panel.h \
-  graphics/PopupMenuControl.h \
-  graphics/PushButtonControl.h \
-  graphics/PushTool.h \
-  graphics/QtHandlesUtils.h \
-  graphics/RadioButtonControl.h \
-  graphics/SliderControl.h \
-  graphics/TextControl.h \
-  graphics/TextEdit.h \
-  graphics/ToggleButtonControl.h \
-  graphics/ToggleTool.h \
-  graphics/ToolBar.h \
-  graphics/ToolBarButton.h \
-  graphics/gl-select.h \
+  libgui/graphics/__init_qt__.h \
+  libgui/graphics/annotation-dialog.h \
+  libgui/graphics/Backend.h \
+  libgui/graphics/BaseControl.h \
+  libgui/graphics/ButtonControl.h \
+  libgui/graphics/Canvas.h \
+  libgui/graphics/CheckBoxControl.h \
+  libgui/graphics/Container.h \
+  libgui/graphics/ContextMenu.h \
+  libgui/graphics/EditControl.h \
+  libgui/graphics/Figure.h \
+  libgui/graphics/FigureWindow.h \
+  libgui/graphics/GenericEventNotify.h \
+  libgui/graphics/GLCanvas.h \
+  libgui/graphics/KeyMap.h \
+  libgui/graphics/ListBoxControl.h \
+  libgui/graphics/Logger.h \
+  libgui/graphics/Menu.h \
+  libgui/graphics/MenuContainer.h \
+  libgui/graphics/MouseModeActionGroup.h \
+  libgui/graphics/Object.h \
+  libgui/graphics/ObjectFactory.h \
+  libgui/graphics/ObjectProxy.h \
+  libgui/graphics/Panel.h \
+  libgui/graphics/PopupMenuControl.h \
+  libgui/graphics/PushButtonControl.h \
+  libgui/graphics/PushTool.h \
+  libgui/graphics/QtHandlesUtils.h \
+  libgui/graphics/RadioButtonControl.h \
+  libgui/graphics/SliderControl.h \
+  libgui/graphics/TextControl.h \
+  libgui/graphics/TextEdit.h \
+  libgui/graphics/ToggleButtonControl.h \
+  libgui/graphics/ToggleTool.h \
+  libgui/graphics/ToolBar.h \
+  libgui/graphics/ToolBarButton.h \
+  libgui/graphics/gl-select.h \
   $(TEMPLATE_SRC)
 
-graphics_libgui_graphics_la_SOURCES = \
-  graphics/__init_qt__.cc \
-  graphics/annotation-dialog.cc \
-  graphics/Backend.cc \
-  graphics/BaseControl.cc \
-  graphics/ButtonControl.cc \
-  graphics/Canvas.cc \
-  graphics/CheckBoxControl.cc \
-  graphics/Container.cc \
-  graphics/ContextMenu.cc \
-  graphics/EditControl.cc \
-  graphics/Figure.cc \
-  graphics/FigureWindow.cc \
-  graphics/GLCanvas.cc \
-  graphics/KeyMap.cc \
-  graphics/ListBoxControl.cc \
-  graphics/Logger.cc \
-  graphics/Menu.cc \
-  graphics/MouseModeActionGroup.cc \
-  graphics/Object.cc \
-  graphics/ObjectFactory.cc \
-  graphics/ObjectProxy.cc \
-  graphics/Panel.cc \
-  graphics/PopupMenuControl.cc \
-  graphics/PushButtonControl.cc \
-  graphics/PushTool.cc \
-  graphics/QtHandlesUtils.cc \
-  graphics/RadioButtonControl.cc \
-  graphics/SliderControl.cc \
-  graphics/TextControl.cc \
-  graphics/TextEdit.cc \
-  graphics/ToggleButtonControl.cc \
-  graphics/ToggleTool.cc \
-  graphics/ToolBar.cc \
-  graphics/gl-select.cc
+libgui_graphics_libgui_graphics_la_SOURCES = \
+  libgui/graphics/__init_qt__.cc \
+  libgui/graphics/annotation-dialog.cc \
+  libgui/graphics/Backend.cc \
+  libgui/graphics/BaseControl.cc \
+  libgui/graphics/ButtonControl.cc \
+  libgui/graphics/Canvas.cc \
+  libgui/graphics/CheckBoxControl.cc \
+  libgui/graphics/Container.cc \
+  libgui/graphics/ContextMenu.cc \
+  libgui/graphics/EditControl.cc \
+  libgui/graphics/Figure.cc \
+  libgui/graphics/FigureWindow.cc \
+  libgui/graphics/GLCanvas.cc \
+  libgui/graphics/KeyMap.cc \
+  libgui/graphics/ListBoxControl.cc \
+  libgui/graphics/Logger.cc \
+  libgui/graphics/Menu.cc \
+  libgui/graphics/MouseModeActionGroup.cc \
+  libgui/graphics/Object.cc \
+  libgui/graphics/ObjectFactory.cc \
+  libgui/graphics/ObjectProxy.cc \
+  libgui/graphics/Panel.cc \
+  libgui/graphics/PopupMenuControl.cc \
+  libgui/graphics/PushButtonControl.cc \
+  libgui/graphics/PushTool.cc \
+  libgui/graphics/QtHandlesUtils.cc \
+  libgui/graphics/RadioButtonControl.cc \
+  libgui/graphics/SliderControl.cc \
+  libgui/graphics/TextControl.cc \
+  libgui/graphics/TextEdit.cc \
+  libgui/graphics/ToggleButtonControl.cc \
+  libgui/graphics/ToggleTool.cc \
+  libgui/graphics/ToolBar.cc \
+  libgui/graphics/gl-select.cc
 
 TEMPLATE_SRC = \
-  graphics/ToolBarButton.cc
+  libgui/graphics/ToolBarButton.cc
 
-nodist_graphics_libgui_graphics_la_SOURCES = $(octave_gui_graphics_MOC) $(octave_gui_graphics_RC)
+nodist_libgui_graphics_libgui_graphics_la_SOURCES = $(octave_gui_graphics_MOC) $(octave_gui_graphics_RC)
 
-graphics_libgui_graphics_la_CPPFLAGS = \
+libgui_graphics_libgui_graphics_la_CPPFLAGS = \
   $(AM_CPPFLAGS) \
   $(FT2_CPPFLAGS) \
   $(FONTCONFIG_CPPFLAGS) \
   $(HDF5_CPPFLAGS) \
   @OCTGUI_DLL_DEFS@ \
   @QT_CPPFLAGS@ \
-  -Igraphics -I$(srcdir)/graphics \
-  -Isrc -I$(srcdir)/src \
+  -Ilibgui/graphics -I$(srcdir)/libgui/graphics \
+  -Isrc -I$(srcdir)/libgui/src \
   -I$(top_srcdir)/liboctave/cruft/misc \
   -I$(top_srcdir)/liboctave/array \
   -I$(top_builddir)/liboctave/numeric -I$(top_srcdir)/liboctave/numeric \
@@ -140,11 +152,11 @@
   -I$(top_builddir)/libinterp/corefcn -I$(top_srcdir)/libinterp/corefcn \
   -I$(top_srcdir)/libinterp/octave-value
 
-graphics_libgui_graphics_la_CFLAGS = $(AM_CFLAGS) $(WARN_CFLAGS)
+libgui_graphics_libgui_graphics_la_CFLAGS = $(AM_CFLAGS) $(WARN_CFLAGS)
 
-graphics_libgui_graphics_la_CXXFLAGS = $(AM_CXXFLAGS) $(WARN_CXXFLAGS)
+libgui_graphics_libgui_graphics_la_CXXFLAGS = $(AM_CXXFLAGS) $(WARN_CXXFLAGS)
 
-noinst_LTLIBRARIES += graphics/libgui-graphics.la
+noinst_LTLIBRARIES += libgui/graphics/libgui-graphics.la
 
 CLEANFILES += \
   $(octave_gui_graphics_MOC) \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libgui/module.mk	Thu Jul 09 13:55:58 2015 -0400
@@ -0,0 +1,112 @@
+MOC_CPPFLAGS =
+
+## Fix for bug #42839 where -mieee CFLAG option is added to CPPFLAGS by gnulib.
+## Users may also pass other options in CPPFLAGS that moc does not understand.
+## Only keep moc-compatible options -Idir, -Dmacro, and -Umacro.
+MOC_OCTAVE_CPPFLAGS = $(filter -I% -D% -U%, $(AM_CPPFLAGS) $(CPPFLAGS))
+
+octlib_LTLIBRARIES += libgui/liboctgui.la
+
+TRANSLATIONS = \
+  libgui/languages/be_BY.ts \
+  libgui/languages/de_DE.ts \
+  libgui/languages/en_US.ts \
+  libgui/languages/es_ES.ts \
+  libgui/languages/fr_FR.ts \
+  libgui/languages/it_IT.ts \
+  libgui/languages/ja_JP.ts \
+  libgui/languages/nl_NL.ts \
+  libgui/languages/pt_BR.ts \
+  libgui/languages/pt_PT.ts \
+  libgui/languages/ru_RU.ts \
+  libgui/languages/uk_UA.ts \
+  libgui/languages/zh_CN.ts
+
+LOCALES = $(patsubst libgui/languages/%.ts, libgui/languages/%.qm, $(TRANSLATIONS))
+
+EXTRA_DIST += libgui/default-qt-settings.in $(TRANSLATIONS)
+
+include libgui/src/module.mk
+include libgui/graphics/module.mk
+include libgui/qterminal-module.mk
+
+## liboctgui merely collects a bunch of compiled convenience libraries.
+## It has no source code itself.
+libgui_liboctgui_la_SOURCES =
+
+# Dummy C++ source to force C++ linking.
+nodist_EXTRA_libgui_liboctgui_la_SOURCES = dummy.cc
+
+libgui_liboctgui_la_LIBADD = \
+  libgui/qterminal/libqterminal.la \
+  libgui/src/libgui-src.la \
+  libgui/graphics/libgui-graphics.la \
+  $(top_builddir)/libinterp/liboctinterp.la \
+  $(top_builddir)/liboctave/liboctave.la \
+  $(LIBOCTGUI_LINK_DEPS)
+
+# Increment these as needed and according to the rules in the libtool manual:
+libgui_liboctgui_current = 1
+libgui_liboctgui_revision = 0
+libgui_liboctgui_age = 0
+
+libgui_liboctgui_version_info = $(libgui_liboctgui_current):$(libgui_liboctgui_revision):$(libgui_liboctgui_age)
+
+libgui_liboctgui_la_LDFLAGS = \
+  -version-info $(libgui_liboctgui_version_info) \
+  $(NO_UNDEFINED_LDFLAG) \
+  -bindir $(bindir) \
+  $(LIBOCTGUI_LINK_OPTS)
+
+octetc_DATA += libgui/default-qt-settings
+
+octlocale_DATA += $(LOCALES)
+
+libgui/default-qt-settings: libgui/default-qt-settings.in libgui/$(octave_dirstamp)
+	$(AM_V_GEN)$(do_subst_qt_settings)
+
+DIRSTAMP_FILES += \
+  libgui/$(octave_dirstamp)
+
+define moc-command
+  rm -f $@-t $@ && \
+  ( echo "#ifdef HAVE_CONFIG_H"; \
+    echo "#include <config.h>"; \
+    echo "#endif"; \
+    $(MOC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(MOC_OCTAVE_CPPFLAGS) $(MOC_CPPFLAGS) $(libgui_liboctgui_la_CPPFLAGS) $< ) > $@-t && \
+  mv $@-t $@
+endef
+
+define rcc-command
+  rm -f $@-t $@ && \
+  ( echo "#ifdef HAVE_CONFIG_H"; \
+    echo "#include <config.h>"; \
+    echo "#endif"; \
+    $(RCC) -name $(@D) $< ) > $@-t && \
+  mv $@-t $@
+endef
+
+moc-%.cc: %.h
+	$(AM_V_GEN)$(moc-command)
+
+ui-%.h: %.ui
+	$(AM_V_GEN)$(UIC) -o $@ $<
+
+qrc-%.cc: %.qrc
+	$(AM_V_GEN)$(rcc-command)
+
+AM_V_lrelease = $(am__v_lrelease_$(V))
+am__v_lrelease_ = $(am__v_lrelease_$(AM_DEFAULT_VERBOSITY))
+am__v_lrelease_0 = -silent
+am__v_lrelease_1 =
+
+%.qm: %.ts libgui/languages/$(octave_dirstamp)
+	$(AM_V_GEN)$(LRELEASE) $(AM_V_lrelease) -qm $@ $<
+
+DIRSTAMP_FILES += \
+  libgui/languages/$(octave_dirstamp)
+
+DISTCLEANFILES += \
+  libgui/default-qt-settings \
+  $(LOCALES)
+
--- a/libgui/qterminal-module.mk	Thu Jul 09 10:11:41 2015 -0400
+++ b/libgui/qterminal-module.mk	Thu Jul 09 13:55:58 2015 -0400
@@ -1,94 +1,120 @@
 EXTRA_DIST += \
-  qterminal-module.mk
+  libgui/qterminal-module.mk
 
 noinst_HEADERS += \
-  qterminal/libqterminal/QTerminal.h \
-  qterminal/libqterminal/win32/QTerminalColors.h \
-  qterminal/libqterminal/win32/QWinTerminalImpl.h \
-  qterminal/libqterminal/unix/BlockArray.h \
-  qterminal/libqterminal/unix/Character.h \
-  qterminal/libqterminal/unix/CharacterColor.h \
-  qterminal/libqterminal/unix/Emulation.h \
-  qterminal/libqterminal/unix/ExtendedDefaultTranslator.h \
-  qterminal/libqterminal/unix/ExtendedDefaultTranslatorMac.h \
-  qterminal/libqterminal/unix/Filter.h \
-  qterminal/libqterminal/unix/History.h \
-  qterminal/libqterminal/unix/KeyboardTranslator.h \
-  qterminal/libqterminal/unix/konsole_wcwidth.h \
-  qterminal/libqterminal/unix/kpty.h \
-  qterminal/libqterminal/unix/kpty_p.h \
-  qterminal/libqterminal/unix/LineFont.h \
-  qterminal/libqterminal/unix/QUnixTerminalImpl.h \
-  qterminal/libqterminal/unix/Screen.h \
-  qterminal/libqterminal/unix/ScreenWindow.h \
-  qterminal/libqterminal/unix/TerminalCharacterDecoder.h \
-  qterminal/libqterminal/unix/Vt102Emulation.h \
-  qterminal/libqterminal/unix/SelfListener.h \
-  qterminal/libqterminal/unix/TerminalModel.h \
-  qterminal/libqterminal/unix/TerminalView.h
+  libgui/qterminal/libqterminal/QTerminal.h \
+  libgui/qterminal/libqterminal/win32/QTerminalColors.h \
+  libgui/qterminal/libqterminal/win32/QWinTerminalImpl.h \
+  libgui/qterminal/libqterminal/unix/BlockArray.h \
+  libgui/qterminal/libqterminal/unix/Character.h \
+  libgui/qterminal/libqterminal/unix/CharacterColor.h \
+  libgui/qterminal/libqterminal/unix/Emulation.h \
+  libgui/qterminal/libqterminal/unix/ExtendedDefaultTranslator.h \
+  libgui/qterminal/libqterminal/unix/ExtendedDefaultTranslatorMac.h \
+  libgui/qterminal/libqterminal/unix/Filter.h \
+  libgui/qterminal/libqterminal/unix/History.h \
+  libgui/qterminal/libqterminal/unix/KeyboardTranslator.h \
+  libgui/qterminal/libqterminal/unix/konsole_wcwidth.h \
+  libgui/qterminal/libqterminal/unix/kpty.h \
+  libgui/qterminal/libqterminal/unix/kpty_p.h \
+  libgui/qterminal/libqterminal/unix/LineFont.h \
+  libgui/qterminal/libqterminal/unix/QUnixTerminalImpl.h \
+  libgui/qterminal/libqterminal/unix/Screen.h \
+  libgui/qterminal/libqterminal/unix/ScreenWindow.h \
+  libgui/qterminal/libqterminal/unix/TerminalCharacterDecoder.h \
+  libgui/qterminal/libqterminal/unix/Vt102Emulation.h \
+  libgui/qterminal/libqterminal/unix/SelfListener.h \
+  libgui/qterminal/libqterminal/unix/TerminalModel.h \
+  libgui/qterminal/libqterminal/unix/TerminalView.h
 
-qterminal_libqterminal_la_MOC = \
-  qterminal/libqterminal/moc-QTerminal.cc
+libgui_qterminal_libqterminal_la_MOC =
+
+OCTAVE_GUI_QTERMINAL_LIBQTERMINAL_MOC = \
+  libgui/qterminal/libqterminal/moc-QTerminal.cc
+
+$(OCTAVE_GUI_QTERMINAL_LIBQTERMINAL_MOC): libgui/qterminal/libqterminal/$(octave_dirstamp)
 
-nodist_qterminal_libqterminal_la_SOURCES = $(qterminal_libqterminal_la_MOC)
+DIRSTAMP_FILES += \
+  libgui/qterminal/libqterminal/$(octave_dirstamp)
 
-qterminal_libqterminal_la_CPPFLAGS = \
+libgui_qterminal_libqterminal_la_MOC += \
+  $(OCTAVE_GUI_QTERMINAL_LIBQTERMINAL_MOC)
+
+nodist_libgui_qterminal_libqterminal_la_SOURCES = $(libgui_qterminal_libqterminal_la_MOC)
+
+libgui_qterminal_libqterminal_la_CPPFLAGS = \
   $(AM_CPPFLAGS) \
   @QT_CPPFLAGS@ \
-  -I$(srcdir)/qterminal/libqterminal \
-  -I$(srcdir)/src
+  -I$(srcdir)/libgui/qterminal/libqterminal \
+  -I$(srcdir)/libgui/src
 
-qterminal_libqterminal_la_CFLAGS = $(AM_CFLAGS)
+libgui_qterminal_libqterminal_la_CFLAGS = $(AM_CFLAGS)
 
-qterminal_libqterminal_la_CXXFLAGS = $(AM_CXXFLAGS)
+libgui_qterminal_libqterminal_la_CXXFLAGS = $(AM_CXXFLAGS)
 
 if WIN32_TERMINAL
 
-qterminal_libqterminal_la_SOURCES = \
-  qterminal/libqterminal/win32/QTerminalColors.cpp \
-  qterminal/libqterminal/win32/QWinTerminalImpl.cpp \
-  qterminal/libqterminal/QTerminal.cc
+libgui_qterminal_libqterminal_la_SOURCES = \
+  libgui/qterminal/libqterminal/win32/QTerminalColors.cpp \
+  libgui/qterminal/libqterminal/win32/QWinTerminalImpl.cpp \
+  libgui/qterminal/libqterminal/QTerminal.cc
+
+OCTAVE_GUI_QTERMINAL_LIBQTERMINAL_WIN32_MOC = \
+  libgui/qterminal/libqterminal/win32/moc-QWinTerminalImpl.cc
 
-qterminal_libqterminal_la_MOC += \
-  qterminal/libqterminal/win32/moc-QWinTerminalImpl.cc
+libgui_qterminal_libqterminal_la_MOC += \
+  $(OCTAVE_GUI_QTERMINAL_LIBQTERMINAL_WIN32_MOC)
+
+$(OCTAVE_GUI_QTERMINAL_LIBQTERMINAL_WIN32_MOC): libgui/qterminal/libqterminal/win32/$(octave_dirstamp)
 
-qterminal_libqterminal_la_CPPFLAGS += -DUNICODE
+DIRSTAMP_FILES += \
+  libgui/qterminal/libqterminal/win32/$(octave_dirstamp)
+
+libgui_qterminal_libqterminal_la_CPPFLAGS += -DUNICODE
 
 # This flag is required to let MOC know about Q_OS_WIN32.
 MOC_CPPFLAGS += -DQ_OS_WIN32
 
 else
 
-qterminal_libqterminal_la_SOURCES = \
-  qterminal/libqterminal/unix/BlockArray.cpp \
-  qterminal/libqterminal/unix/Emulation.cpp \
-  qterminal/libqterminal/unix/Filter.cpp \
-  qterminal/libqterminal/unix/History.cpp \
-  qterminal/libqterminal/unix/KeyboardTranslator.cpp \
-  qterminal/libqterminal/unix/konsole_wcwidth.cpp \
-  qterminal/libqterminal/unix/kpty.cpp \
-  qterminal/libqterminal/unix/QUnixTerminalImpl.cpp \
-  qterminal/libqterminal/unix/Screen.cpp \
-  qterminal/libqterminal/unix/ScreenWindow.cpp \
-  qterminal/libqterminal/unix/TerminalCharacterDecoder.cpp \
-  qterminal/libqterminal/unix/Vt102Emulation.cpp \
-  qterminal/libqterminal/unix/SelfListener.cpp \
-  qterminal/libqterminal/unix/TerminalModel.cpp \
-  qterminal/libqterminal/unix/TerminalView.cpp \
-  qterminal/libqterminal/QTerminal.cc
+libgui_qterminal_libqterminal_la_SOURCES = \
+  libgui/qterminal/libqterminal/unix/BlockArray.cpp \
+  libgui/qterminal/libqterminal/unix/Emulation.cpp \
+  libgui/qterminal/libqterminal/unix/Filter.cpp \
+  libgui/qterminal/libqterminal/unix/History.cpp \
+  libgui/qterminal/libqterminal/unix/KeyboardTranslator.cpp \
+  libgui/qterminal/libqterminal/unix/konsole_wcwidth.cpp \
+  libgui/qterminal/libqterminal/unix/kpty.cpp \
+  libgui/qterminal/libqterminal/unix/QUnixTerminalImpl.cpp \
+  libgui/qterminal/libqterminal/unix/Screen.cpp \
+  libgui/qterminal/libqterminal/unix/ScreenWindow.cpp \
+  libgui/qterminal/libqterminal/unix/TerminalCharacterDecoder.cpp \
+  libgui/qterminal/libqterminal/unix/Vt102Emulation.cpp \
+  libgui/qterminal/libqterminal/unix/SelfListener.cpp \
+  libgui/qterminal/libqterminal/unix/TerminalModel.cpp \
+  libgui/qterminal/libqterminal/unix/TerminalView.cpp \
+  libgui/qterminal/libqterminal/QTerminal.cc
 
-qterminal_libqterminal_la_MOC += \
-  qterminal/libqterminal/unix/moc-Emulation.cc \
-  qterminal/libqterminal/unix/moc-Filter.cc \
-  qterminal/libqterminal/unix/moc-QUnixTerminalImpl.cc \
-  qterminal/libqterminal/unix/moc-ScreenWindow.cc \
-  qterminal/libqterminal/unix/moc-SelfListener.cc \
-  qterminal/libqterminal/unix/moc-TerminalModel.cc \
-  qterminal/libqterminal/unix/moc-TerminalView.cc \
-  qterminal/libqterminal/unix/moc-Vt102Emulation.cc
+OCTAVE_GUI_QTERMINAL_LIBQTERMINAL_UNIX_MOC = \
+  libgui/qterminal/libqterminal/unix/moc-Emulation.cc \
+  libgui/qterminal/libqterminal/unix/moc-Filter.cc \
+  libgui/qterminal/libqterminal/unix/moc-QUnixTerminalImpl.cc \
+  libgui/qterminal/libqterminal/unix/moc-ScreenWindow.cc \
+  libgui/qterminal/libqterminal/unix/moc-SelfListener.cc \
+  libgui/qterminal/libqterminal/unix/moc-TerminalModel.cc \
+  libgui/qterminal/libqterminal/unix/moc-TerminalView.cc \
+  libgui/qterminal/libqterminal/unix/moc-Vt102Emulation.cc
+
+libgui_qterminal_libqterminal_la_MOC += \
+  $(OCTAVE_GUI_QTERMINAL_LIBQTERMINAL_UNIX_MOC)
+
+$(OCTAVE_GUI_QTERMINAL_LIBQTERMINAL_UNIX_MOC): libgui/qterminal/libqterminal/unix/$(octave_dirstamp)
+
+DIRSTAMP_FILES += \
+  libgui/qterminal/libqterminal/unix/$(octave_dirstamp)
 
 endif
 
-noinst_LTLIBRARIES += qterminal/libqterminal.la
+noinst_LTLIBRARIES += libgui/qterminal/libqterminal.la
 
-CLEANFILES += $(qterminal_libqterminal_la_MOC)
+CLEANFILES += $(libgui_qterminal_libqterminal_la_MOC)
--- a/libgui/src/module.mk	Thu Jul 09 10:11:41 2015 -0400
+++ b/libgui/src/module.mk	Thu Jul 09 13:55:58 2015 -0400
@@ -1,186 +1,207 @@
 EXTRA_DIST += \
-  src/module.mk \
-  src/resource.qrc \
+  libgui/src/module.mk \
+  libgui/src/resource.qrc \
   $(octave_gui_UI) \
   $(octave_gui_ICONS)
 
 octave_gui_ICONS = \
-  src/icons/applications-system.png \
-  src/icons/bp-next.png \
-  src/icons/bp-prev.png \
-  src/icons/bp-rm-all.png \
-  src/icons/bp-toggle.png \
-  src/icons/db-cont.png \
-  src/icons/db-step-in.png \
-  src/icons/db-step-out.png \
-  src/icons/db-step.png \
-  src/icons/db-stop.png \
-  src/icons/document-new.png \
-  src/icons/document-open.png \
-  src/icons/document-print.png \
-  src/icons/document-save.png \
-  src/icons/document-save-as.png \
-  src/icons/edit-copy.png \
-  src/icons/edit-cut.png \
-  src/icons/edit-delete.png \
-  src/icons/edit-find.png \
-  src/icons/edit-find-replace.png \
-  src/icons/edit-paste.png \
-  src/icons/edit-redo.png \
-  src/icons/edit-undo.png \
-  src/icons/folder.png \
-  src/icons/folder-new.png \
-  src/icons/go-first.png \
-  src/icons/go-last.png \
-  src/icons/go-up.png \
-  src/icons/graphic_logo_DocumentationDockWidget.png \
-  src/icons/graphic_logo_FileEditor.png \
-  src/icons/graphic_logo_FilesDockWidget.png \
-  src/icons/graphic_logo_HistoryDockWidget.png \
-  src/icons/graphic_logo_NewsDockWidget.png \
-  src/icons/graphic_logo_TerminalDockWidget.png \
-  src/icons/graphic_logo_WorkspaceView.png \
-  src/icons/graphic_logo_ReleaseWidget.png \
-  src/icons/icons_license \
-  src/icons/letter_logo_DocumentationDockWidget.png \
-  src/icons/letter_logo_FileEditor.png \
-  src/icons/letter_logo_FilesDockWidget.png \
-  src/icons/letter_logo_HistoryDockWidget.png \
-  src/icons/letter_logo_NewsDockWidget.png \
-  src/icons/letter_logo_TerminalDockWidget.png \
-  src/icons/letter_logo_WorkspaceView.png \
-  src/icons/letter_logo_ReleaseWidget.png \
-  src/icons/logo.png \
-  src/icons/preferences-system.png \
-  src/icons/system-run.png \
-  src/icons/user-home.png \
-  src/icons/view-refresh.png \
-  src/icons/widget-close.png \
-  src/icons/widget-dock.png \
-  src/icons/widget-undock.png \
-  src/icons/widget-close-light.png \
-  src/icons/widget-dock-light.png \
-  src/icons/widget-undock-light.png \
-  src/icons/zoom-in.png \
-  src/icons/zoom-out.png
+  libgui/src/icons/applications-system.png \
+  libgui/src/icons/bp-next.png \
+  libgui/src/icons/bp-prev.png \
+  libgui/src/icons/bp-rm-all.png \
+  libgui/src/icons/bp-toggle.png \
+  libgui/src/icons/db-cont.png \
+  libgui/src/icons/db-step-in.png \
+  libgui/src/icons/db-step-out.png \
+  libgui/src/icons/db-step.png \
+  libgui/src/icons/db-stop.png \
+  libgui/src/icons/document-new.png \
+  libgui/src/icons/document-open.png \
+  libgui/src/icons/document-print.png \
+  libgui/src/icons/document-save.png \
+  libgui/src/icons/document-save-as.png \
+  libgui/src/icons/edit-copy.png \
+  libgui/src/icons/edit-cut.png \
+  libgui/src/icons/edit-delete.png \
+  libgui/src/icons/edit-find.png \
+  libgui/src/icons/edit-find-replace.png \
+  libgui/src/icons/edit-paste.png \
+  libgui/src/icons/edit-redo.png \
+  libgui/src/icons/edit-undo.png \
+  libgui/src/icons/folder.png \
+  libgui/src/icons/folder-new.png \
+  libgui/src/icons/go-first.png \
+  libgui/src/icons/go-last.png \
+  libgui/src/icons/go-up.png \
+  libgui/src/icons/graphic_logo_DocumentationDockWidget.png \
+  libgui/src/icons/graphic_logo_FileEditor.png \
+  libgui/src/icons/graphic_logo_FilesDockWidget.png \
+  libgui/src/icons/graphic_logo_HistoryDockWidget.png \
+  libgui/src/icons/graphic_logo_NewsDockWidget.png \
+  libgui/src/icons/graphic_logo_TerminalDockWidget.png \
+  libgui/src/icons/graphic_logo_WorkspaceView.png \
+  libgui/src/icons/graphic_logo_ReleaseWidget.png \
+  libgui/src/icons/icons_license \
+  libgui/src/icons/letter_logo_DocumentationDockWidget.png \
+  libgui/src/icons/letter_logo_FileEditor.png \
+  libgui/src/icons/letter_logo_FilesDockWidget.png \
+  libgui/src/icons/letter_logo_HistoryDockWidget.png \
+  libgui/src/icons/letter_logo_NewsDockWidget.png \
+  libgui/src/icons/letter_logo_TerminalDockWidget.png \
+  libgui/src/icons/letter_logo_WorkspaceView.png \
+  libgui/src/icons/letter_logo_ReleaseWidget.png \
+  libgui/src/icons/logo.png \
+  libgui/src/icons/preferences-system.png \
+  libgui/src/icons/system-run.png \
+  libgui/src/icons/user-home.png \
+  libgui/src/icons/view-refresh.png \
+  libgui/src/icons/widget-close.png \
+  libgui/src/icons/widget-dock.png \
+  libgui/src/icons/widget-undock.png \
+  libgui/src/icons/widget-close-light.png \
+  libgui/src/icons/widget-dock-light.png \
+  libgui/src/icons/widget-undock-light.png \
+  libgui/src/icons/zoom-in.png \
+  libgui/src/icons/zoom-out.png
 
 octave_gui_MOC =
 
 if AMCOND_HAVE_QSCINTILLA
-octave_gui_MOC += \
-  src/m-editor/moc-file-editor-interface.cc \
-  src/m-editor/moc-file-editor-tab.cc \
-  src/m-editor/moc-file-editor.cc \
-  src/m-editor/moc-find-dialog.cc \
-  src/m-editor/moc-octave-qscintilla.cc \
-  src/m-editor/moc-octave-txt-lexer.cc
-endif
+
+OCTAVE_GUI_SRC_M_EDITOR_MOC = \
+  libgui/src/m-editor/moc-file-editor-interface.cc \
+  libgui/src/m-editor/moc-file-editor-tab.cc \
+  libgui/src/m-editor/moc-file-editor.cc \
+  libgui/src/m-editor/moc-find-dialog.cc \
+  libgui/src/m-editor/moc-octave-qscintilla.cc \
+  libgui/src/m-editor/moc-octave-txt-lexer.cc
+
+$(OCTAVE_GUI_SRC_M_EDITOR_MOC): libgui/src/m-editor/$(octave_dirstamp)
 
 octave_gui_MOC += \
-  src/moc-dialog.cc \
-  src/moc-documentation-dock-widget.cc \
-  src/moc-files-dock-widget.cc \
-  src/moc-history-dock-widget.cc \
-  src/moc-main-window.cc \
-  src/moc-octave-interpreter.cc \
-  src/moc-octave-qt-link.cc \
-  src/moc-settings-dialog.cc \
-  src/moc-terminal-dock-widget.cc \
-  src/moc-color-picker.cc \
-  src/moc-resource-manager.cc \
-  src/moc-shortcut-manager.cc \
-  src/moc-welcome-wizard.cc \
-  src/moc-workspace-model.cc \
-  src/moc-workspace-view.cc \
-  src/moc-find-files-dialog.cc \
-  src/moc-find-files-model.cc \
-  src/qtinfo/moc-parser.cc \
-  src/qtinfo/moc-webinfo.cc \
-  src/moc-octave-dock-widget.cc
+  $(OCTAVE_GUI_SRC_M_EDITOR_MOC)
+
+DIRSTAMP_FILES += \
+  libgui/src/m-editor/$(octave_dirstamp)
+
+endif
 
-octave_gui_RC = src/qrc-resource.cc
+OCTAVE_GUI_SRC_MOC = \
+  libgui/src/moc-dialog.cc \
+  libgui/src/moc-documentation-dock-widget.cc \
+  libgui/src/moc-files-dock-widget.cc \
+  libgui/src/moc-history-dock-widget.cc \
+  libgui/src/moc-main-window.cc \
+  libgui/src/moc-octave-interpreter.cc \
+  libgui/src/moc-octave-qt-link.cc \
+  libgui/src/moc-settings-dialog.cc \
+  libgui/src/moc-terminal-dock-widget.cc \
+  libgui/src/moc-color-picker.cc \
+  libgui/src/moc-resource-manager.cc \
+  libgui/src/moc-shortcut-manager.cc \
+  libgui/src/moc-welcome-wizard.cc \
+  libgui/src/moc-workspace-model.cc \
+  libgui/src/moc-workspace-view.cc \
+  libgui/src/moc-find-files-dialog.cc \
+  libgui/src/moc-find-files-model.cc \
+  libgui/src/qtinfo/moc-parser.cc \
+  libgui/src/qtinfo/moc-webinfo.cc \
+  libgui/src/moc-octave-dock-widget.cc
+
+octave_gui_MOC += \
+  $(OCTAVE_GUI_SRC_MOC) \
+  $(OCTAVE_GUI_EDITOR_MOC)
+
+octave_gui_RC = libgui/src/qrc-resource.cc
+
+$(octave_gui_RC): libgui/src/$(octave_dirstamp)
+
+DIRSTAMP_FILES += \
+  libgui/src/$(octave_dirstamp)
 
 octave_gui_UI = \
-  src/settings-dialog.ui
+  libgui/src/settings-dialog.ui
 
-octave_gui_UI_H = $(patsubst src/%.ui, src/ui-%.h, $(octave_gui_UI))
+octave_gui_UI_H = $(patsubst libgui/src/%.ui, libgui/src/ui-%.h, $(octave_gui_UI))
+
+$(octave_gui_UI_H): libgui/src/$(octave_dirstamp)
 
 BUILT_SOURCES += $(octave_gui_UI_H)
 
 noinst_HEADERS += \
-  src/dialog.h \
-  src/octave-dock-widget.h \
-  src/documentation-dock-widget.h \
-  src/files-dock-widget.h \
-  src/history-dock-widget.h \
-  src/m-editor/file-editor-interface.h \
-  src/m-editor/file-editor-tab.h \
-  src/m-editor/file-editor.h \
-  src/m-editor/find-dialog.h \
-  src/m-editor/octave-qscintilla.h \
-  src/m-editor/octave-txt-lexer.h \
-  src/main-window.h \
-  src/octave-gui.h \
-  src/octave-cmd.h \
-  src/octave-interpreter.h \
-  src/octave-qt-link.h \
-  src/qtinfo/parser.h \
-  src/qtinfo/webinfo.h \
-  src/resource-manager.h \
-  src/settings-dialog.h \
-  src/shortcut-manager.h \
-  src/thread-manager.h \
-  src/terminal-dock-widget.h \
-  src/color-picker.h \
-  src/welcome-wizard.h \
-  src/find-files-dialog.h \
-  src/find-files-model.h \
-  src/workspace-model.h \
-  src/workspace-view.h
+  libgui/src/dialog.h \
+  libgui/src/octave-dock-widget.h \
+  libgui/src/documentation-dock-widget.h \
+  libgui/src/files-dock-widget.h \
+  libgui/src/history-dock-widget.h \
+  libgui/src/m-editor/file-editor-interface.h \
+  libgui/src/m-editor/file-editor-tab.h \
+  libgui/src/m-editor/file-editor.h \
+  libgui/src/m-editor/find-dialog.h \
+  libgui/src/m-editor/octave-qscintilla.h \
+  libgui/src/m-editor/octave-txt-lexer.h \
+  libgui/src/main-window.h \
+  libgui/src/octave-gui.h \
+  libgui/src/octave-cmd.h \
+  libgui/src/octave-interpreter.h \
+  libgui/src/octave-qt-link.h \
+  libgui/src/qtinfo/parser.h \
+  libgui/src/qtinfo/webinfo.h \
+  libgui/src/resource-manager.h \
+  libgui/src/settings-dialog.h \
+  libgui/src/shortcut-manager.h \
+  libgui/src/thread-manager.h \
+  libgui/src/terminal-dock-widget.h \
+  libgui/src/color-picker.h \
+  libgui/src/welcome-wizard.h \
+  libgui/src/find-files-dialog.h \
+  libgui/src/find-files-model.h \
+  libgui/src/workspace-model.h \
+  libgui/src/workspace-view.h
 
-src_libgui_src_la_SOURCES = \
-  src/dialog.cc \
-  src/documentation-dock-widget.cc \
-  src/files-dock-widget.cc \
-  src/history-dock-widget.cc \
-  src/m-editor/file-editor-tab.cc \
-  src/m-editor/file-editor.cc \
-  src/m-editor/find-dialog.cc \
-  src/m-editor/octave-qscintilla.cc \
-  src/m-editor/octave-txt-lexer.cc \
-  src/main-window.cc \
-  src/octave-cmd.cc \
-  src/octave-dock-widget.cc \
-  src/octave-gui.cc \
-  src/octave-interpreter.cc \
-  src/octave-qt-link.cc \
-  src/qtinfo/parser.cc \
-  src/qtinfo/webinfo.cc \
-  src/resource-manager.cc \
-  src/settings-dialog.cc \
-  src/shortcut-manager.cc \
-  src/thread-manager.cc \
-  src/terminal-dock-widget.cc \
-  src/color-picker.cc \
-  src/welcome-wizard.cc \
-  src/find-files-dialog.cc \
-  src/find-files-model.cc \
-  src/workspace-model.cc \
-  src/workspace-view.cc
+libgui_src_libgui_src_la_SOURCES = \
+  libgui/src/dialog.cc \
+  libgui/src/documentation-dock-widget.cc \
+  libgui/src/files-dock-widget.cc \
+  libgui/src/history-dock-widget.cc \
+  libgui/src/m-editor/file-editor-tab.cc \
+  libgui/src/m-editor/file-editor.cc \
+  libgui/src/m-editor/find-dialog.cc \
+  libgui/src/m-editor/octave-qscintilla.cc \
+  libgui/src/m-editor/octave-txt-lexer.cc \
+  libgui/src/main-window.cc \
+  libgui/src/octave-cmd.cc \
+  libgui/src/octave-dock-widget.cc \
+  libgui/src/octave-gui.cc \
+  libgui/src/octave-interpreter.cc \
+  libgui/src/octave-qt-link.cc \
+  libgui/src/qtinfo/parser.cc \
+  libgui/src/qtinfo/webinfo.cc \
+  libgui/src/resource-manager.cc \
+  libgui/src/settings-dialog.cc \
+  libgui/src/shortcut-manager.cc \
+  libgui/src/thread-manager.cc \
+  libgui/src/terminal-dock-widget.cc \
+  libgui/src/color-picker.cc \
+  libgui/src/welcome-wizard.cc \
+  libgui/src/find-files-dialog.cc \
+  libgui/src/find-files-model.cc \
+  libgui/src/workspace-model.cc \
+  libgui/src/workspace-view.cc
 
-nodist_src_libgui_src_la_SOURCES = $(octave_gui_MOC) $(octave_gui_RC)
+nodist_libgui_src_libgui_src_la_SOURCES = $(octave_gui_MOC) $(octave_gui_RC)
 
-src_libgui_src_la_CPPFLAGS = \
+libgui_src_libgui_src_la_CPPFLAGS = \
   $(AM_CPPFLAGS) \
   $(FT2_CPPFLAGS) \
   $(FONTCONFIG_CPPFLAGS) \
   @OCTGUI_DLL_DEFS@ \
   @QT_CPPFLAGS@ \
-  -I$(srcdir)/qterminal/libqterminal \
-  -Isrc -I$(srcdir)/src \
-  -I$(srcdir)/src/m-editor \
-  -I$(srcdir)/src/qtinfo \
-  -I$(srcdir)/graphics \
+  -I$(srcdir)/libgui/qterminal/libqterminal \
+  -Ilibgui/src -I$(srcdir)/libgui/src \
+  -I$(srcdir)/libgui/src/m-editor \
+  -I$(srcdir)/libgui/src/qtinfo \
+  -I$(srcdir)/libgui/graphics \
   -I$(top_srcdir)/liboctave/cruft/misc \
   -I$(top_srcdir)/liboctave/array \
   -I$(top_builddir)/liboctave/numeric -I$(top_srcdir)/liboctave/numeric \
@@ -193,11 +214,11 @@
   -I$(top_srcdir)/libinterp/octave-value \
   -I$(top_builddir)/libgnu -I$(top_srcdir)/libgnu
 
-src_libgui_src_la_CFLAGS = $(AM_CFLAGS) $(WARN_CFLAGS)
+libgui_src_libgui_src_la_CFLAGS = $(AM_CFLAGS) $(WARN_CFLAGS)
 
-src_libgui_src_la_CXXFLAGS = $(AM_CXXFLAGS) $(WARN_CXXFLAGS)
+libgui_src_libgui_src_la_CXXFLAGS = $(AM_CXXFLAGS) $(WARN_CXXFLAGS)
 
-noinst_LTLIBRARIES += src/libgui-src.la
+noinst_LTLIBRARIES += libgui/src/libgui-src.la
 
 CLEANFILES += \
   $(octave_gui_MOC) \
--- a/src/module.mk	Thu Jul 09 10:11:41 2015 -0400
+++ b/src/module.mk	Thu Jul 09 13:55:58 2015 -0400
@@ -46,8 +46,6 @@
   $(top_builddir)/libinterp/liboctinterp.la \
   $(top_builddir)/liboctave/liboctave.la
 
-include libgui/link-deps.mk
-
 nodist_src_octave_SOURCES = src/main.cc
 src_octave_SOURCES = src/display-available.c