changeset 20362:0ce7d8303152

eliminate recursive make invocations in liboctave and libinterp directories * libinterp/module.mk: New file created from libinterp/Makefile.am. * liboctave/module.mk: New file created from liboctave/Makefile.am. * libinterp/Makefile.am, liboctave/Makefile.am: Delete. * configure.ac (AC_CONFIG_FILES): Remove libinterp/Makefile and liboctave/Makefile from the list. * Makefile.am (SUBDIRS): Remove liboctave and libinterp from the list. (BUILT_DISTFILES, BUILT_NODISTFILES, EXTRA_DIST, DIST_SRC, octinclude_HEADERS, nodist_octinclude_HEADERS): Initialize as empty. Include liboctave/module.mk liboctave/link-deps.mk, libinterp/module.mk, and libinterp/link-deps.mk. * doc/module.mk, libgui/link-deps.mk, libinterp/corefcn/module.mk, libinterp/dldfcn/config-module.awk, libinterp/link-deps.mk, libinterp/mkops, libinterp/octave-value/module.mk, libinterp/operators/module.mk, libinterp/parse-tree/module.mk, libinterp/template-inst/module.mk, liboctave/array/module.mk, liboctave/cruft/Faddeeva/module.mk, liboctave/cruft/amos/module.mk, liboctave/cruft/blas-xtra/module.mk, liboctave/cruft/daspk/module.mk, liboctave/cruft/dasrt/module.mk, liboctave/cruft/dassl/module.mk, liboctave/cruft/fftpack/module.mk, liboctave/cruft/lapack-xtra/module.mk, liboctave/cruft/misc/module.mk, liboctave/cruft/module.mk, liboctave/cruft/odepack/module.mk, liboctave/cruft/ordered-qz/module.mk, liboctave/cruft/quadpack/module.mk, liboctave/cruft/ranlib/module.mk, liboctave/cruft/slatec-err/module.mk, liboctave/cruft/slatec-fn/module.mk, liboctave/numeric/module.mk, liboctave/operators/mk-ops.awk, liboctave/operators/module.mk, liboctave/operators/sparse-mk-ops.awk, liboctave/system/module.mk, liboctave/util/module.mk: Update for non-recursive build.
author John W. Eaton <jwe@octave.org>
date Fri, 10 Jul 2015 13:28:33 -0400
parents 8ef616eec739
children fa9fa6ab76f0
files Makefile.am configure.ac doc/module.mk libgui/link-deps.mk libinterp/Makefile.am libinterp/corefcn/module.mk libinterp/dldfcn/config-module.awk libinterp/link-deps.mk libinterp/mkops libinterp/module.mk libinterp/octave-value/module.mk libinterp/operators/module.mk libinterp/parse-tree/module.mk libinterp/template-inst/module.mk liboctave/Makefile.am liboctave/array/module.mk liboctave/cruft/Faddeeva/module.mk liboctave/cruft/amos/module.mk liboctave/cruft/blas-xtra/module.mk liboctave/cruft/daspk/module.mk liboctave/cruft/dasrt/module.mk liboctave/cruft/dassl/module.mk liboctave/cruft/fftpack/module.mk liboctave/cruft/lapack-xtra/module.mk liboctave/cruft/misc/module.mk liboctave/cruft/module.mk liboctave/cruft/odepack/module.mk liboctave/cruft/ordered-qz/module.mk liboctave/cruft/quadpack/module.mk liboctave/cruft/ranlib/module.mk liboctave/cruft/slatec-err/module.mk liboctave/cruft/slatec-fn/module.mk liboctave/module.mk liboctave/numeric/module.mk liboctave/operators/mk-ops.awk liboctave/operators/module.mk liboctave/operators/sparse-mk-ops.awk liboctave/system/module.mk liboctave/util/module.mk
diffstat 39 files changed, 2061 insertions(+), 2042 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.am	Thu Jul 09 13:55:58 2015 -0400
+++ b/Makefile.am	Fri Jul 10 13:28:33 2015 -0400
@@ -26,13 +26,17 @@
 
 ACLOCAL_AMFLAGS = -I m4
 
-BUILT_DISTFILES = \
+BUILT_DISTFILES =
+BUILT_NODISTFILES =
+EXTRA_DIST =
+
+BUILT_DISTFILES += \
   AUTHORS \
   BUGS \
   ChangeLog \
   INSTALL.OCTAVE
 
-EXTRA_DIST = \
+EXTRA_DIST += \
   COPYING \
   ChangeLog \
   INSTALL \
@@ -77,8 +81,17 @@
 octlib_LTLIBRARIES =
 noinst_LTLIBRARIES =
 
+octinclude_HEADERS =
+nodist_octinclude_HEADERS =
+
+DIST_SRC =
+
 ALL_LOCAL_TARGETS =
 
+include liboctave/module.mk
+include liboctave/link-deps.mk
+include libinterp/module.mk
+include libinterp/link-deps.mk
 include libgui/module.mk
 include libgui/link-deps.mk
 include src/module.mk
@@ -93,7 +106,7 @@
 # directories are handled directly from this Makefile (see also the
 # included makefile fragments).
 
-SUBDIRS = libgnu liboctave libinterp scripts
+SUBDIRS = libgnu scripts
 
 dist-hook: doc-interpreter-dist-hook docs-dist-hook icons-dist-hook
 
@@ -138,8 +151,8 @@
 
 CONFIG_FILES = @ac_config_headers@ @ac_config_files@
 
-nodist_octinclude_HEADERS = config.h
-octinclude_HEADERS = oct-conf-post.h
+octinclude_HEADERS += oct-conf-post.h
+nodist_octinclude_HEADERS += config.h
 
 all-local: $(ALL_LOCAL_TARGETS) $(noinst_SCRIPTS) $(DIST_INFO_FILES) .gdbinit $(DOC_TARGETS)
 	@echo ""
--- a/configure.ac	Thu Jul 09 13:55:58 2015 -0400
+++ b/configure.ac	Fri Jul 10 13:28:33 2015 -0400
@@ -2998,8 +2998,6 @@
   Makefile
   doc/doxyhtml/Doxyfile
   libgnu/Makefile
-  libinterp/Makefile
-  liboctave/Makefile
   liboctave/cruft/mkf77def
   scripts/Makefile])
 
--- a/doc/module.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/doc/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -291,12 +291,17 @@
 
 DOCSTRING_FILES = $(shell $(srcdir)/doc/interpreter/find-docstring-files.sh "$(top_srcdir)")
 
-doc/interpreter/doc-cache: $(DOCSTRING_FILES) $(OCTAVE_INTERPRETER_TARGETS) doc/interpreter/mk_doc_cache.m doc/interpreter/$(octave_dirstamp)
+DOCSTRING_DEPS = scripts/.DOCSTRINGS libinterp/.DOCSTRINGS
+
+doc/interpreter/doc-cache: $(DOCSTRING_DEPS) $(OCTAVE_INTERPRETER_TARGETS) doc/interpreter/mk_doc_cache.m doc/interpreter/$(octave_dirstamp)
 	$(AM_V_GEN)rm -f $@-t $@ && \
 	$(top_builddir)/run-octave -f -q -H $(srcdir)/doc/interpreter/mk_doc_cache.m - $(srcdir)/doc/interpreter/macros.texi $(DOCSTRING_FILES) >$@-t && \
 	mv $@-t $@
 
-$(MUNGED_TEXI_SRC): $(DOCSTRING_FILES) $(munge_texi_SOURCES)
+scripts/.DOCSTRINGS:
+	$(MAKE) -C scripts .DOCSTRINGS
+
+$(MUNGED_TEXI_SRC): $(DOCSTRING_DEPS) $(munge_texi_SOURCES)
 
 %.texi : %.txi doc/interpreter/munge-texi.pl doc/interpreter/$(octave_dirstamp)
 	$(AM_V_GEN)rm -f $@-t $@ && \
--- a/libgui/link-deps.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/libgui/link-deps.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -1,5 +1,3 @@
-include $(top_srcdir)/libinterp/link-deps.mk
-
 if AMCOND_ENABLE_DYNAMIC_LINKING
   LIBOCTGUI_LINK_DEPS =
 else
--- a/libinterp/Makefile.am	Thu Jul 09 13:55:58 2015 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,398 +0,0 @@
-# Makefile for Octave's libinterp directory
-#
-# Copyright (C) 1993-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
-
-## Search local directories before those specified by the user.
-AM_CPPFLAGS = \
-  -I$(top_srcdir)/liboctave/cruft/misc \
-  -I$(top_srcdir)/liboctave/array \
-  -I$(top_builddir)/liboctave/numeric -I$(top_srcdir)/liboctave/numeric \
-  -I$(top_builddir)/liboctave/operators -I$(top_srcdir)/liboctave/operators \
-  -I$(top_srcdir)/liboctave/system \
-  -I$(top_srcdir)/liboctave/util \
-  -I$(srcdir)/octave-value \
-  -I$(srcdir)/operators \
-  -Iparse-tree -I$(srcdir)/parse-tree \
-  -Icorefcn -I$(srcdir)/corefcn \
-  -I$(top_builddir)/libgnu -I$(top_srcdir)/libgnu \
-  $(HDF5_CPPFLAGS)
-
-AM_CFLAGS += $(WARN_CFLAGS)
-
-AM_CXXFLAGS += $(WARN_CXXFLAGS)
-
-octlib_LTLIBRARIES = liboctinterp.la
-
-## This is the subset of $(BUILT_SOURCES) that may be included by source
-## files that are preprocessed to make $(DEF_FILES).  This ensures that
-## files in $(BUILT_SOURCES) are built in the right dependency order.
-GENERATED_MAKE_BUILTINS_INCS = \
-  corefcn/defaults.h \
-  corefcn/graphics-props.cc \
-  corefcn/graphics.h \
-  corefcn/mxarray.h \
-  oct-conf-features.h \
-  oct-conf.h \
-  parse-tree/oct-gperf.h \
-  parse-tree/oct-parse.h \
-  version.h
-
-BUILT_SOURCES = \
-  $(GENERATED_MAKE_BUILTINS_INCS) \
-  builtin-defun-decls.h \
-  builtins.cc \
-  corefcn/oct-errno.cc \
-  corefcn/oct-tex-lexer.cc \
-  corefcn/oct-tex-parser.cc \
-  corefcn/oct-tex-symbols.cc \
-  operators/ops.cc \
-  parse-tree/lex.cc \
-  parse-tree/oct-parse.cc
-
-ULT_PARSER_SRC := \
-  corefcn/oct-tex-lexer.in.ll \
-  corefcn/oct-tex-parser.in.yy \
-  parse-tree/oct-parse.in.yy
-
-GENERATED_PARSER_FILES := \
-  corefcn/oct-tex-lexer.ll \
-  corefcn/oct-tex-parser.yy \
-  parse-tree/oct-parse.yy
-
-BUILT_DISTFILES = \
-  $(GENERATED_PARSER_FILES) \
-  corefcn/oct-tex-parser.h \
-  corefcn/oct-tex-symbols.cc \
-  parse-tree/oct-gperf.h \
-  parse-tree/oct-parse.h
-
-## Files that are created during build process and installed,
-## BUT not distributed in tarball.
-BUILT_NODISTFILES = \
-  corefcn/mxarray.h \
-  corefcn/oct-errno.cc \
-  corefcn/defaults.h \
-  corefcn/graphics.h \
-  builtin-defun-decls.h \
-  operators/ops.cc \
-  oct-conf.h \
-  oct-conf-features.h \
-  version.h \
-  $(OPT_HANDLERS) \
-  $(OPT_INC) \
-  $(ALL_DEF_FILES) \
-  builtins.cc
-
-EXTRA_DIST = \
-  Makefile.in \
-  DOCSTRINGS \
-  config-features.sh \
-  find-defun-files.sh \
-  gendoc.pl \
-  genprops.awk \
-  mk-errno-list \
-  mk-pkg-add \
-  mkbuiltins \
-  mkdefs \
-  mkops \
-  oct-conf.in.h \
-  version.in.h \
-  $(BUILT_DISTFILES)
-
-octinclude_HEADERS = \
-  corefcn/graphics-props.cc \
-  parse-tree/oct-gperf.h \
-  builtins.h \
-  builtin-defun-decls.h \
-  octave.h \
-  options-usage.h \
-  $(OCTAVE_VALUE_INC) \
-  $(PARSE_TREE_INC) \
-  $(PARSER_INC) \
-  $(OPERATORS_INC) \
-  $(COREFCN_INC)
-
-nodist_octinclude_HEADERS = \
-  corefcn/mxarray.h \
-  corefcn/defaults.h \
-  corefcn/graphics.h \
-  oct-conf.h \
-  version.h
-
-DIST_SRC = \
-  octave.cc \
-  version.cc \
-  $(OCTAVE_VALUE_SRC) \
-  $(PARSE_TREE_SRC) \
-  $(PARSER_SRC) \
-  $(COREFCN_SRC) \
-  $(TEX_PARSER_SRC)
-
-noinst_LTLIBRARIES =
-
-include parse-tree/module.mk
-include octave-value/module.mk
-include operators/module.mk
-include template-inst/module.mk
-include corefcn/module.mk
-include dldfcn/module.mk
-
-$(srcdir)/dldfcn/module.mk: $(srcdir)/dldfcn/config-module.sh $(srcdir)/dldfcn/config-module.awk $(srcdir)/dldfcn/module-files
-	$(srcdir)/dldfcn/config-module.sh $(top_srcdir)
-
-if AMCOND_ENABLE_DYNAMIC_LINKING
-  OCT_FILES = $(DLDFCN_LIBS:.la=.oct)
-  DLD_LIBOCTINTERP_LIBADD = liboctinterp.la
-else
-  OCT_FILES =
-  DLD_LIBOCTINTERP_LIBADD =
-endif
-
-liboctinterp_la_SOURCES = \
-  octave.cc \
-  version.cc \
-  $(OPERATORS_SRC) \
-  $(TEMPLATE_INST_SRC)
-
-nodist_liboctinterp_la_SOURCES = \
-  corefcn/mxarray.h \
-  corefcn/oct-errno.cc \
-  corefcn/defaults.h \
-  corefcn/graphics.h \
-  operators/ops.cc \
-  builtin-defun-decls.h \
-  builtins.cc \
-  oct-conf.h \
-  oct-conf-features.h \
-  version.h \
-  $(OPT_INC)
-
-liboctinterp_la_CPPFLAGS = @OCTINTERP_DLL_DEFS@ $(AM_CPPFLAGS)
-
-include link-deps.mk
-
-liboctinterp_la_LIBADD = \
-  octave-value/liboctave-value.la \
-  parse-tree/libparse-tree.la \
-  parse-tree/libparser.la \
-  corefcn/libcorefcn.la \
-  corefcn/libtex_parser.la \
-  $(top_builddir)/liboctave/liboctave.la \
-  $(LIBOCTINTERP_LINK_DEPS)
-
-# Increment these as needed and according to the rules in the libtool manual:
-liboctinterp_current = 3
-liboctinterp_revision = 0
-liboctinterp_age = 0
-
-liboctinterp_version_info = $(liboctinterp_current):$(liboctinterp_revision):$(liboctinterp_age)
-
-liboctinterp_la_LDFLAGS = \
-  -version-info $(liboctinterp_version_info) \
-  $(NO_UNDEFINED_LDFLAG) \
-  -bindir $(bindir) \
-  $(LIBOCTINTERP_LINK_OPTS)
-
-## Section for defining and creating DEF_FILES
-
-ULT_DIST_SRC := \
-  $(filter-out $(GENERATED_PARSER_FILES), $(DIST_SRC)) $(ULT_PARSER_SRC)
-
-SRC_DEF_FILES := $(shell $(srcdir)/find-defun-files.sh "$(srcdir)" $(ULT_DIST_SRC))
-
-DLDFCN_DEF_FILES = $(DLDFCN_SRC:.cc=.df)
-
-## builtins.cc depends on $(DEF_FILES), so DEF_FILES should only include
-## .df files that correspond to sources included in liboctave.
-if AMCOND_ENABLE_DYNAMIC_LINKING
-  DEF_FILES = $(SRC_DEF_FILES)
-else
-  DEF_FILES = $(SRC_DEF_FILES) $(DLDFCN_DEF_FILES)
-endif
-
-ALL_DEF_FILES = $(SRC_DEF_FILES) $(DLDFCN_DEF_FILES)
-
-$(SRC_DEF_FILES): mkdefs Makefile
-
-$(DEF_FILES): $(OPT_HANDLERS) $(OPT_INC)
-
-## FIXME: The following two variables are deprecated and should be removed
-##        in Octave version 3.12.
-DLL_CDEFS = @OCTINTERP_DLL_DEFS@
-DLL_CXXDEFS = @OCTINTERP_DLL_DEFS@
-
-## Rule to build a DEF file from a .cc file
-## See also module.mk files for overrides when speciall CPPFLAGS are needed.
-## FIXME: Shouldn't the build stop if CPP fails here?  Yes (10/31/2013)
-%.df: %.cc $(GENERATED_MAKE_BUILTINS_INCS)
-	$(AM_V_GEN)rm -f $@-t $@-t1 $@ && \
-	$(CXXCPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	  $(AM_CPPFLAGS) $(LLVM_CPPFLAGS) $(CPPFLAGS) \
-	  $(AM_CXXFLAGS) $(CXXFLAGS) \
-	  -DMAKE_BUILTINS $< > $@-t1 && \
-	$(srcdir)/mkdefs $(srcdir) $< < $@-t1 > $@-t && \
-	mv $@-t $@ && \
-	rm -f $@-t1
-
-## Rules to build test files
-
-TST_FILES_SRC := $(shell $(top_srcdir)/build-aux/find-files-with-tests.sh "$(srcdir)" $(ULT_DIST_SRC) $(DLDFCN_SRC))
-
-TST_FILES := $(addsuffix -tst,$(TST_FILES_SRC))
-
-libinterptestsdir := $(octtestsdir)/libinterp
-
-nobase_libinterptests_DATA = $(TST_FILES)
-
-## Override Automake's rule that forces a .hh extension on us even
-## though we don't want it.  It would be super awesome if automake
-## would allow users to choose the header file extension.
-.yy.cc:
-	$(AM_V_YACC)$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h $*.h y.output $*.output -- $(YACCCOMPILE)
-
-## Special rules:
-## Mostly for sources which must be built before rest of compilation.
-
-## oct-conf.h must depend on Makefile.
-## Calling configure may change default/config values.
-## However, calling configure will also regenerate the Makefiles from
-## Makefile.am and trigger the rules below.
-oct-conf.h: oct-conf.in.h Makefile
-	$(AM_V_GEN)$(do_subst_config_vals)
-
-oct-conf-features.h: $(top_builddir)/config.h config-features.sh
-	$(AM_V_GEN)rm -f $@-t $@ && \
-	$(srcdir)/config-features.sh $< > $@-t && \
-	mv $@-t $@
-
-version.h: version.in.h Makefile
-	$(AM_V_GEN)rm -f $@-t $@ && \
-	$(SED) < $< \
-	  -e "s|%NO_EDIT_WARNING%|DO NOT EDIT!  Generated automatically from $(<F) by Make.|" \
-	  -e "s|%OCTAVE_API_VERSION%|\"${OCTAVE_API_VERSION}\"|" \
-	  -e "s|%OCTAVE_COPYRIGHT%|\"${OCTAVE_COPYRIGHT}\"|" \
-          -e "s|%OCTAVE_MAJOR_VERSION%|${OCTAVE_MAJOR_VERSION}|" \
-          -e "s|%OCTAVE_MINOR_VERSION%|${OCTAVE_MINOR_VERSION}|" \
-          -e "s|%OCTAVE_PATCH_VERSION%|${OCTAVE_PATCH_VERSION}|" \
-	  -e "s|%OCTAVE_RELEASE_DATE%|\"${OCTAVE_RELEASE_DATE}\"|" \
-	  -e "s|%OCTAVE_VERSION%|\"${OCTAVE_VERSION}\"|" > $@-t && \
-	mv $@-t $@
-
-builtins.cc: $(DEF_FILES) mkbuiltins
-	$(AM_V_GEN)rm -f $@-t $@ && \
-	$(srcdir)/mkbuiltins --source $(DEF_FILES) > $@-t && \
-	mv $@-t $@
-
-builtin-defun-decls.h: $(SRC_DEF_FILES) mkbuiltins
-	$(AM_V_GEN)rm -f $@-t $@ && \
-	$(srcdir)/mkbuiltins --header $(SRC_DEF_FILES) > $@-t && \
-	mv $@-t $@
-
-if AMCOND_ENABLE_DYNAMIC_LINKING
-DLDFCN_PKG_ADD_FILE = dldfcn/PKG_ADD
-
-dldfcn/PKG_ADD: $(DLDFCN_DEF_FILES) mk-pkg-add
-	$(AM_V_GEN)rm -f $@-t $@ && \
-	$(srcdir)/mk-pkg-add $(DLDFCN_DEF_FILES) > $@-t && \
-	mv $@-t $@
-endif
-
-if AMCOND_BUILD_DOCS
-.DOCSTRINGS: $(ALL_DEF_FILES) gendoc.pl
-	$(AM_V_GEN)rm -f $@-t $@ && \
-	if [ "x$(srcdir)" != "x." ] && [ -f $(srcdir)/DOCSTRINGS ] && [ ! -f DOCSTRINGS ]; then \
-		cp $(srcdir)/DOCSTRINGS DOCSTRINGS; \
-		touch -r $(srcdir)/DOCSTRINGS DOCSTRINGS; \
-	fi && \
-	$(PERL) $(srcdir)/gendoc.pl $(ALL_DEF_FILES) > $@-t && \
-	mv $@-t $@ && \
-	$(top_srcdir)/build-aux/move-if-change $@ DOCSTRINGS && \
-	touch $@
-
-all-local: $(OCT_FILES) $(DLDFCN_PKG_ADD_FILE) .DOCSTRINGS
-else
-all-local: $(OCT_FILES) $(DLDFCN_PKG_ADD_FILE)
-endif
-
-if AMCOND_BUILD_DOCS
-install-data-hook: install-oct install-built-in-docstrings
-else
-install-data-hook: install-oct uninstall-built-in-docstrings
-endif
-
-uninstall-local: uninstall-oct uninstall-built-in-docstrings
-
-if AMCOND_ENABLE_DYNAMIC_LINKING
-install-oct:
-	$(MKDIR_P) $(DESTDIR)$(octfiledir)
-	if [ -n "`cat $(DLDFCN_PKG_ADD_FILE)`" ]; then \
-	  $(INSTALL_DATA) $(DLDFCN_PKG_ADD_FILE) $(DESTDIR)$(octfiledir)/PKG_ADD; \
-	fi
-	cd $(DESTDIR)$(octlibdir) && \
-	for ltlib in $(DLDFCN_LIBS); do \
-	  f=`echo $$ltlib | $(SED) 's,.*/,,'`; \
-	  dl=`$(SED) -n -e "s/dlname='\([^']*\)'/\1/p" < $$f`; \
-	  if [ -n "$$dl" ]; then \
-	    $(INSTALL_PROGRAM) $$dl $(DESTDIR)$(octfiledir)/`echo $$f | $(SED) 's,^lib,,; s,\.la$$,.oct,'`; \
-	  else \
-	    echo "error: dlname is empty in $$ltlib!"; \
-	    exit 1; \
-	  fi; \
-	  lnames=`$(SED) -n -e "s/library_names='\([^']*\)'/\1/p" < $$f`; \
-	  if [ -n "$$lnames" ]; then \
-	    rm -f $$f $$lnames $$dl; \
-	  fi \
-	done
-
-uninstall-oct:
-	for f in $(notdir $(OCT_FILES)); do \
-	  rm -f $(DESTDIR)$(octfiledir)/$$f; \
-	done
-	rm -f $(DESTDIR)$(octfiledir)/PKG_ADD
-endif
-.PHONY: install-oct uninstall-oct
-
-if AMCOND_BUILD_DOCS
-install-built-in-docstrings:
-	$(MKDIR_P) $(DESTDIR)$(octetcdir)
-	$(INSTALL_DATA) DOCSTRINGS $(DESTDIR)$(octetcdir)/built-in-docstrings
-
-uninstall-built-in-docstrings:
-	rm -f $(DESTDIR)$(octetcdir)/built-in-docstrings
-endif
-.PHONY: install-built-in-docstrings uninstall-built-in-docstrings
-
-CLEANFILES = \
-  $(DLDFCN_PKG_ADD_FILE) \
-  corefcn/graphics-props.cc \
-  corefcn/oct-tex-parser.output \
-  parse-tree/oct-parse.output
-
-DISTCLEANFILES = \
-  .DOCSTRINGS \
-  DOCSTRINGS \
-  $(BUILT_NODISTFILES) \
-  $(OCT_FILES) \
-  $(TST_FILES)
-
-MAINTAINERCLEANFILES = \
-  $(BUILT_DISTFILES)
-
--- a/libinterp/corefcn/module.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/libinterp/corefcn/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -1,283 +1,273 @@
 EXTRA_DIST += \
-  corefcn/module.mk \
-  corefcn/defaults.in.h \
-  corefcn/graphics.in.h \
-  corefcn/mxarray.in.h \
-  corefcn/oct-errno.in.cc \
-  corefcn/oct-tex-lexer.in.ll \
-  corefcn/oct-tex-parser.in.yy \
-  corefcn/oct-tex-symbols.in
+  libinterp/corefcn/module.mk \
+  libinterp/corefcn/defaults.in.h \
+  libinterp/corefcn/graphics.in.h \
+  libinterp/corefcn/mxarray.in.h \
+  libinterp/corefcn/oct-errno.in.cc \
+  libinterp/corefcn/oct-tex-lexer.in.ll \
+  libinterp/corefcn/oct-tex-parser.in.yy \
+  libinterp/corefcn/oct-tex-symbols.in
 
 ## Options functions for Fortran packages like LSODE, DASPK.
 ## These are generated automagically by configure and Perl.
 OPT_HANDLERS = \
-  corefcn/DASPK-opts.cc \
-  corefcn/DASRT-opts.cc \
-  corefcn/DASSL-opts.cc \
-  corefcn/LSODE-opts.cc \
-  corefcn/Quad-opts.cc
+  libinterp/corefcn/DASPK-opts.cc \
+  libinterp/corefcn/DASRT-opts.cc \
+  libinterp/corefcn/DASSL-opts.cc \
+  libinterp/corefcn/LSODE-opts.cc \
+  libinterp/corefcn/Quad-opts.cc
 
-OPT_INC = \
-  $(top_builddir)/liboctave/numeric/DASPK-opts.h \
-  $(top_builddir)/liboctave/numeric/DASRT-opts.h \
-  $(top_builddir)/liboctave/numeric/DASSL-opts.h \
-  $(top_builddir)/liboctave/numeric/LSODE-opts.h \
-  $(top_builddir)/liboctave/numeric/Quad-opts.h
-
-$(OPT_HANDLERS): corefcn/%.cc : $(top_builddir)/liboctave/numeric/%.in
+$(OPT_HANDLERS): libinterp/corefcn/%.cc : $(top_builddir)/liboctave/numeric/%.in
 	$(AM_V_GEN)rm -f $@-t $@ && \
 	$(PERL) $(top_srcdir)/build-aux/mk-opts.pl --opt-handler-fcns $< > $@-t && \
 	mv $@-t $@
 
 $(OPT_HANDLERS): $(top_srcdir)/build-aux/mk-opts.pl
 
-$(OPT_INC) : %.h : %.in
-	$(AM_V_GEN)$(MAKE) -C $(top_builddir)/liboctave/numeric $(@F)
-
 JIT_INC = \
-  corefcn/jit-util.h \
-  corefcn/jit-typeinfo.h \
-  corefcn/jit-ir.h \
-  corefcn/pt-jit.h
+  libinterp/corefcn/jit-util.h \
+  libinterp/corefcn/jit-typeinfo.h \
+  libinterp/corefcn/jit-ir.h \
+  libinterp/corefcn/pt-jit.h
 
 TEX_PARSER_INC = \
-  corefcn/oct-tex-parser.h
+  libinterp/corefcn/oct-tex-parser.h
 
 COREFCN_INC = \
-  corefcn/Cell.h \
-  corefcn/c-file-ptr-stream.h \
-  corefcn/cdisplay.h \
-  corefcn/comment-list.h \
-  corefcn/cutils.h \
-  corefcn/data.h \
-  corefcn/debug.h \
-  corefcn/defun-dld.h \
-  corefcn/defun-int.h \
-  corefcn/defun.h \
-  corefcn/dirfns.h \
-  corefcn/display.h \
-  corefcn/dynamic-ld.h \
-  corefcn/error.h \
-  corefcn/event-queue.h \
-  corefcn/file-io.h \
-  corefcn/gl-render.h \
-  corefcn/gl2ps-renderer.h \
-  corefcn/gripes.h \
-  corefcn/help.h \
-  corefcn/hook-fcn.h \
-  corefcn/input.h \
-  corefcn/load-path.h \
-  corefcn/load-save.h \
-  corefcn/ls-ascii-helper.h \
-  corefcn/ls-hdf5.h \
-  corefcn/ls-mat-ascii.h \
-  corefcn/ls-mat4.h \
-  corefcn/ls-mat5.h \
-  corefcn/ls-oct-ascii.h \
-  corefcn/ls-oct-binary.h \
-  corefcn/ls-utils.h \
-  corefcn/mex.h \
-  corefcn/mexproto.h \
-  corefcn/oct-errno.h \
-  corefcn/oct-fstrm.h \
-  corefcn/oct-handle.h \
-  corefcn/oct-hdf5.h \
-  corefcn/oct-hdf5-types.h \
-  corefcn/oct-hist.h \
-  corefcn/oct-iostrm.h \
-  corefcn/oct-lvalue.h \
-  corefcn/oct-map.h \
-  corefcn/oct-obj.h \
-  corefcn/oct-prcstrm.h \
-  corefcn/oct-procbuf.h \
-  corefcn/oct-stdstrm.h \
-  corefcn/oct-stream.h \
-  corefcn/oct-strstrm.h \
-  corefcn/oct.h \
-  corefcn/octave-default-image.h \
-  corefcn/octave-link.h \
-  corefcn/pager.h \
-  corefcn/pr-output.h \
-  corefcn/procstream.h \
-  corefcn/profiler.h \
-  corefcn/sighandlers.h \
-  corefcn/siglist.h \
-  corefcn/sparse-xdiv.h \
-  corefcn/sparse-xpow.h \
-  corefcn/symtab.h \
-  corefcn/sysdep.h \
-  corefcn/toplev.h \
-  corefcn/txt-eng-ft.h \
-  corefcn/txt-eng.h \
-  corefcn/utils.h \
-  corefcn/variables.h \
-  corefcn/workspace-element.h \
-  corefcn/xdiv.h \
-  corefcn/xnorm.h \
-  corefcn/xpow.h \
-  corefcn/zfstream.h \
+  libinterp/corefcn/Cell.h \
+  libinterp/corefcn/c-file-ptr-stream.h \
+  libinterp/corefcn/cdisplay.h \
+  libinterp/corefcn/comment-list.h \
+  libinterp/corefcn/cutils.h \
+  libinterp/corefcn/data.h \
+  libinterp/corefcn/debug.h \
+  libinterp/corefcn/defun-dld.h \
+  libinterp/corefcn/defun-int.h \
+  libinterp/corefcn/defun.h \
+  libinterp/corefcn/dirfns.h \
+  libinterp/corefcn/display.h \
+  libinterp/corefcn/dynamic-ld.h \
+  libinterp/corefcn/error.h \
+  libinterp/corefcn/event-queue.h \
+  libinterp/corefcn/file-io.h \
+  libinterp/corefcn/gl-render.h \
+  libinterp/corefcn/gl2ps-renderer.h \
+  libinterp/corefcn/gripes.h \
+  libinterp/corefcn/help.h \
+  libinterp/corefcn/hook-fcn.h \
+  libinterp/corefcn/input.h \
+  libinterp/corefcn/load-path.h \
+  libinterp/corefcn/load-save.h \
+  libinterp/corefcn/ls-ascii-helper.h \
+  libinterp/corefcn/ls-hdf5.h \
+  libinterp/corefcn/ls-mat-ascii.h \
+  libinterp/corefcn/ls-mat4.h \
+  libinterp/corefcn/ls-mat5.h \
+  libinterp/corefcn/ls-oct-ascii.h \
+  libinterp/corefcn/ls-oct-binary.h \
+  libinterp/corefcn/ls-utils.h \
+  libinterp/corefcn/mex.h \
+  libinterp/corefcn/mexproto.h \
+  libinterp/corefcn/oct-errno.h \
+  libinterp/corefcn/oct-fstrm.h \
+  libinterp/corefcn/oct-handle.h \
+  libinterp/corefcn/oct-hdf5.h \
+  libinterp/corefcn/oct-hdf5-types.h \
+  libinterp/corefcn/oct-hist.h \
+  libinterp/corefcn/oct-iostrm.h \
+  libinterp/corefcn/oct-lvalue.h \
+  libinterp/corefcn/oct-map.h \
+  libinterp/corefcn/oct-obj.h \
+  libinterp/corefcn/oct-prcstrm.h \
+  libinterp/corefcn/oct-procbuf.h \
+  libinterp/corefcn/oct-stdstrm.h \
+  libinterp/corefcn/oct-stream.h \
+  libinterp/corefcn/oct-strstrm.h \
+  libinterp/corefcn/oct.h \
+  libinterp/corefcn/octave-default-image.h \
+  libinterp/corefcn/octave-link.h \
+  libinterp/corefcn/pager.h \
+  libinterp/corefcn/pr-output.h \
+  libinterp/corefcn/procstream.h \
+  libinterp/corefcn/profiler.h \
+  libinterp/corefcn/sighandlers.h \
+  libinterp/corefcn/siglist.h \
+  libinterp/corefcn/sparse-xdiv.h \
+  libinterp/corefcn/sparse-xpow.h \
+  libinterp/corefcn/symtab.h \
+  libinterp/corefcn/sysdep.h \
+  libinterp/corefcn/toplev.h \
+  libinterp/corefcn/txt-eng-ft.h \
+  libinterp/corefcn/txt-eng.h \
+  libinterp/corefcn/utils.h \
+  libinterp/corefcn/variables.h \
+  libinterp/corefcn/workspace-element.h \
+  libinterp/corefcn/xdiv.h \
+  libinterp/corefcn/xnorm.h \
+  libinterp/corefcn/xpow.h \
+  libinterp/corefcn/zfstream.h \
   $(JIT_INC) \
   $(TEX_PARSER_INC)
 
 JIT_SRC = \
-  corefcn/jit-util.cc \
-  corefcn/jit-typeinfo.cc \
-  corefcn/jit-ir.cc \
-  corefcn/pt-jit.cc
+  libinterp/corefcn/jit-util.cc \
+  libinterp/corefcn/jit-typeinfo.cc \
+  libinterp/corefcn/jit-ir.cc \
+  libinterp/corefcn/pt-jit.cc
 
 TEX_PARSER_SRC = \
-  corefcn/oct-tex-lexer.ll \
-  corefcn/oct-tex-parser.yy
+  libinterp/corefcn/oct-tex-lexer.ll \
+  libinterp/corefcn/oct-tex-parser.yy
 
 C_COREFCN_SRC = \
-  corefcn/cutils.c \
-  corefcn/matherr.c \
-  corefcn/siglist.c
+  libinterp/corefcn/cutils.c \
+  libinterp/corefcn/matherr.c \
+  libinterp/corefcn/siglist.c
 
 COREFCN_SRC = \
-  corefcn/Cell.cc \
-  corefcn/__contourc__.cc \
-  corefcn/__dispatch__.cc \
-  corefcn/__dsearchn__.cc \
-  corefcn/__ichol__.cc \
-  corefcn/__ilu__.cc \
-  corefcn/__lin_interpn__.cc \
-  corefcn/__pchip_deriv__.cc \
-  corefcn/__qp__.cc \
-  corefcn/balance.cc \
-  corefcn/besselj.cc \
-  corefcn/betainc.cc \
-  corefcn/bitfcns.cc \
-  corefcn/bsxfun.cc \
-  corefcn/c-file-ptr-stream.cc \
-  corefcn/cdisplay.c \
-  corefcn/cellfun.cc \
-  corefcn/colloc.cc \
-  corefcn/comment-list.cc \
-  corefcn/conv2.cc \
-  corefcn/daspk.cc \
-  corefcn/dasrt.cc \
-  corefcn/dassl.cc \
-  corefcn/data.cc \
-  corefcn/debug.cc \
-  corefcn/defaults.cc \
-  corefcn/defun.cc \
-  corefcn/det.cc \
-  corefcn/dirfns.cc \
-  corefcn/display.cc \
-  corefcn/dlmread.cc \
-  corefcn/dot.cc \
-  corefcn/dynamic-ld.cc \
-  corefcn/eig.cc \
-  corefcn/ellipj.cc \
-  corefcn/error.cc \
-  corefcn/fft.cc \
-  corefcn/fft2.cc \
-  corefcn/fftn.cc \
-  corefcn/file-io.cc \
-  corefcn/filter.cc \
-  corefcn/find.cc \
-  corefcn/gammainc.cc \
-  corefcn/gcd.cc \
-  corefcn/getgrent.cc \
-  corefcn/getpwent.cc \
-  corefcn/getrusage.cc \
-  corefcn/givens.cc \
-  corefcn/gl-render.cc \
-  corefcn/gl2ps-renderer.cc \
-  corefcn/graphics.cc \
-  corefcn/gripes.cc \
-  corefcn/help.cc \
-  corefcn/hess.cc \
-  corefcn/hex2num.cc \
-  corefcn/hook-fcn.cc \
-  corefcn/input.cc \
-  corefcn/inv.cc \
-  corefcn/kron.cc \
-  corefcn/load-path.cc \
-  corefcn/load-save.cc \
-  corefcn/lookup.cc \
-  corefcn/ls-ascii-helper.cc \
-  corefcn/ls-hdf5.cc \
-  corefcn/ls-mat-ascii.cc \
-  corefcn/ls-mat4.cc \
-  corefcn/ls-mat5.cc \
-  corefcn/ls-oct-ascii.cc \
-  corefcn/ls-oct-binary.cc \
-  corefcn/ls-utils.cc \
-  corefcn/lsode.cc \
-  corefcn/lu.cc \
-  corefcn/luinc.cc \
-  corefcn/mappers.cc \
-  corefcn/matrix_type.cc \
-  corefcn/max.cc \
-  corefcn/md5sum.cc \
-  corefcn/mex.cc \
-  corefcn/mgorth.cc \
-  corefcn/nproc.cc \
-  corefcn/oct-fstrm.cc \
-  corefcn/oct-hdf5-types.cc \
-  corefcn/oct-hist.cc \
-  corefcn/oct-iostrm.cc \
-  corefcn/oct-lvalue.cc \
-  corefcn/oct-map.cc \
-  corefcn/oct-obj.cc \
-  corefcn/oct-prcstrm.cc \
-  corefcn/oct-procbuf.cc \
-  corefcn/oct-stream.cc \
-  corefcn/oct-strstrm.cc \
-  corefcn/octave-link.cc \
-  corefcn/ordschur.cc \
-  corefcn/pager.cc \
-  corefcn/pinv.cc \
-  corefcn/pr-output.cc \
-  corefcn/procstream.cc \
-  corefcn/profiler.cc \
-  corefcn/psi.cc \
-  corefcn/quad.cc \
-  corefcn/quadcc.cc \
-  corefcn/qz.cc \
-  corefcn/rand.cc \
-  corefcn/rcond.cc \
-  corefcn/regexp.cc \
-  corefcn/schur.cc \
-  corefcn/sighandlers.cc \
-  corefcn/sparse-xdiv.cc \
-  corefcn/sparse-xpow.cc \
-  corefcn/sparse.cc \
-  corefcn/spparms.cc \
-  corefcn/sqrtm.cc \
-  corefcn/str2double.cc \
-  corefcn/strfind.cc \
-  corefcn/strfns.cc \
-  corefcn/sub2ind.cc \
-  corefcn/svd.cc \
-  corefcn/sylvester.cc \
-  corefcn/symtab.cc \
-  corefcn/syscalls.cc \
-  corefcn/sysdep.cc \
-  corefcn/time.cc \
-  corefcn/toplev.cc \
-  corefcn/tril.cc \
-  corefcn/tsearch.cc \
-  corefcn/txt-eng-ft.cc \
-  corefcn/txt-eng.cc \
-  corefcn/typecast.cc \
-  corefcn/urlwrite.cc \
-  corefcn/utils.cc \
-  corefcn/variables.cc \
-  corefcn/xdiv.cc \
-  corefcn/xnorm.cc \
-  corefcn/xpow.cc \
-  corefcn/zfstream.cc \
+  libinterp/corefcn/Cell.cc \
+  libinterp/corefcn/__contourc__.cc \
+  libinterp/corefcn/__dispatch__.cc \
+  libinterp/corefcn/__dsearchn__.cc \
+  libinterp/corefcn/__ichol__.cc \
+  libinterp/corefcn/__ilu__.cc \
+  libinterp/corefcn/__lin_interpn__.cc \
+  libinterp/corefcn/__pchip_deriv__.cc \
+  libinterp/corefcn/__qp__.cc \
+  libinterp/corefcn/balance.cc \
+  libinterp/corefcn/besselj.cc \
+  libinterp/corefcn/betainc.cc \
+  libinterp/corefcn/bitfcns.cc \
+  libinterp/corefcn/bsxfun.cc \
+  libinterp/corefcn/c-file-ptr-stream.cc \
+  libinterp/corefcn/cdisplay.c \
+  libinterp/corefcn/cellfun.cc \
+  libinterp/corefcn/colloc.cc \
+  libinterp/corefcn/comment-list.cc \
+  libinterp/corefcn/conv2.cc \
+  libinterp/corefcn/daspk.cc \
+  libinterp/corefcn/dasrt.cc \
+  libinterp/corefcn/dassl.cc \
+  libinterp/corefcn/data.cc \
+  libinterp/corefcn/debug.cc \
+  libinterp/corefcn/defaults.cc \
+  libinterp/corefcn/defun.cc \
+  libinterp/corefcn/det.cc \
+  libinterp/corefcn/dirfns.cc \
+  libinterp/corefcn/display.cc \
+  libinterp/corefcn/dlmread.cc \
+  libinterp/corefcn/dot.cc \
+  libinterp/corefcn/dynamic-ld.cc \
+  libinterp/corefcn/eig.cc \
+  libinterp/corefcn/ellipj.cc \
+  libinterp/corefcn/error.cc \
+  libinterp/corefcn/fft.cc \
+  libinterp/corefcn/fft2.cc \
+  libinterp/corefcn/fftn.cc \
+  libinterp/corefcn/file-io.cc \
+  libinterp/corefcn/filter.cc \
+  libinterp/corefcn/find.cc \
+  libinterp/corefcn/gammainc.cc \
+  libinterp/corefcn/gcd.cc \
+  libinterp/corefcn/getgrent.cc \
+  libinterp/corefcn/getpwent.cc \
+  libinterp/corefcn/getrusage.cc \
+  libinterp/corefcn/givens.cc \
+  libinterp/corefcn/gl-render.cc \
+  libinterp/corefcn/gl2ps-renderer.cc \
+  libinterp/corefcn/graphics.cc \
+  libinterp/corefcn/gripes.cc \
+  libinterp/corefcn/help.cc \
+  libinterp/corefcn/hess.cc \
+  libinterp/corefcn/hex2num.cc \
+  libinterp/corefcn/hook-fcn.cc \
+  libinterp/corefcn/input.cc \
+  libinterp/corefcn/inv.cc \
+  libinterp/corefcn/kron.cc \
+  libinterp/corefcn/load-path.cc \
+  libinterp/corefcn/load-save.cc \
+  libinterp/corefcn/lookup.cc \
+  libinterp/corefcn/ls-ascii-helper.cc \
+  libinterp/corefcn/ls-hdf5.cc \
+  libinterp/corefcn/ls-mat-ascii.cc \
+  libinterp/corefcn/ls-mat4.cc \
+  libinterp/corefcn/ls-mat5.cc \
+  libinterp/corefcn/ls-oct-ascii.cc \
+  libinterp/corefcn/ls-oct-binary.cc \
+  libinterp/corefcn/ls-utils.cc \
+  libinterp/corefcn/lsode.cc \
+  libinterp/corefcn/lu.cc \
+  libinterp/corefcn/luinc.cc \
+  libinterp/corefcn/mappers.cc \
+  libinterp/corefcn/matrix_type.cc \
+  libinterp/corefcn/max.cc \
+  libinterp/corefcn/md5sum.cc \
+  libinterp/corefcn/mex.cc \
+  libinterp/corefcn/mgorth.cc \
+  libinterp/corefcn/nproc.cc \
+  libinterp/corefcn/oct-fstrm.cc \
+  libinterp/corefcn/oct-hdf5-types.cc \
+  libinterp/corefcn/oct-hist.cc \
+  libinterp/corefcn/oct-iostrm.cc \
+  libinterp/corefcn/oct-lvalue.cc \
+  libinterp/corefcn/oct-map.cc \
+  libinterp/corefcn/oct-obj.cc \
+  libinterp/corefcn/oct-prcstrm.cc \
+  libinterp/corefcn/oct-procbuf.cc \
+  libinterp/corefcn/oct-stream.cc \
+  libinterp/corefcn/oct-strstrm.cc \
+  libinterp/corefcn/octave-link.cc \
+  libinterp/corefcn/ordschur.cc \
+  libinterp/corefcn/pager.cc \
+  libinterp/corefcn/pinv.cc \
+  libinterp/corefcn/pr-output.cc \
+  libinterp/corefcn/procstream.cc \
+  libinterp/corefcn/profiler.cc \
+  libinterp/corefcn/psi.cc \
+  libinterp/corefcn/quad.cc \
+  libinterp/corefcn/quadcc.cc \
+  libinterp/corefcn/qz.cc \
+  libinterp/corefcn/rand.cc \
+  libinterp/corefcn/rcond.cc \
+  libinterp/corefcn/regexp.cc \
+  libinterp/corefcn/schur.cc \
+  libinterp/corefcn/sighandlers.cc \
+  libinterp/corefcn/sparse-xdiv.cc \
+  libinterp/corefcn/sparse-xpow.cc \
+  libinterp/corefcn/sparse.cc \
+  libinterp/corefcn/spparms.cc \
+  libinterp/corefcn/sqrtm.cc \
+  libinterp/corefcn/str2double.cc \
+  libinterp/corefcn/strfind.cc \
+  libinterp/corefcn/strfns.cc \
+  libinterp/corefcn/sub2ind.cc \
+  libinterp/corefcn/svd.cc \
+  libinterp/corefcn/sylvester.cc \
+  libinterp/corefcn/symtab.cc \
+  libinterp/corefcn/syscalls.cc \
+  libinterp/corefcn/sysdep.cc \
+  libinterp/corefcn/time.cc \
+  libinterp/corefcn/toplev.cc \
+  libinterp/corefcn/tril.cc \
+  libinterp/corefcn/tsearch.cc \
+  libinterp/corefcn/txt-eng-ft.cc \
+  libinterp/corefcn/txt-eng.cc \
+  libinterp/corefcn/typecast.cc \
+  libinterp/corefcn/urlwrite.cc \
+  libinterp/corefcn/utils.cc \
+  libinterp/corefcn/variables.cc \
+  libinterp/corefcn/xdiv.cc \
+  libinterp/corefcn/xnorm.cc \
+  libinterp/corefcn/xpow.cc \
+  libinterp/corefcn/zfstream.cc \
   $(JIT_SRC) \
   $(C_COREFCN_SRC)
 
 COREFCN_FT2_DF = \
-  corefcn/graphics.df \
-  corefcn/gl-render.df \
-  corefcn/toplev.df \
-  corefcn/txt-eng-ft.df
+  libinterp/corefcn/graphics.df \
+  libinterp/corefcn/gl-render.df \
+  libinterp/corefcn/toplev.df \
+  libinterp/corefcn/txt-eng-ft.df
 
 ## FIXME: Automake does not support per-object rules.
 ##        These rules could be emulated by creating a new convenience
@@ -287,13 +277,13 @@
 
 ## Special rules for FreeType .df files so that not all .df files are built
 ## with FT2_CPPFLAGS, FONTCONFIG_CPPFLAGS
-$(COREFCN_FT2_DF) : corefcn/%.df : corefcn/%.cc $(GENERATED_MAKE_BUILTINS_INCS)
+$(COREFCN_FT2_DF) : libinterp/corefcn/%.df : libinterp/corefcn/%.cc $(GENERATED_MAKE_BUILTINS_INCS)
 	$(AM_V_GEN)rm -f $@-t $@ && \
 	$(CXXCPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	  $(AM_CPPFLAGS) $(FONTCONFIG_CPPFLAGS) $(FT2_CPPFLAGS) $(CPPFLAGS) \
-	  $(AM_CXXFLAGS) $(CXXFLAGS) \
+	  $(libinterp_corefcn_libcorefcn_la_CPPFLAGS) $(CPPFLAGS) \
+	  $(libinterp_corefcn_libcorefcn_la_CXXFLAGS) \
 	  -DMAKE_BUILTINS $< > $@-t && \
-	$(srcdir)/mkdefs $(srcdir) $< < $@-t > $@ && \
+	$(srcdir)/libinterp/mkdefs $(srcdir) $< < $@-t > $@ && \
 	rm $@-t
 
 ## Special rules for sources which must be built before rest of compilation.
@@ -301,71 +291,76 @@
 ## defaults.h and graphics.h must depend on Makefile.  Calling configure
 ## may change default/config values.  However, calling configure will also
 ## regenerate the Makefiles from Makefile.am and trigger the rules below.
-corefcn/defaults.h: corefcn/defaults.in.h Makefile
+libinterp/corefcn/defaults.h: libinterp/corefcn/defaults.in.h Makefile
 	$(AM_V_GEN)$(do_subst_default_vals)
 
-corefcn/graphics.h: corefcn/graphics.in.h genprops.awk Makefile
+libinterp/corefcn/graphics.h: libinterp/corefcn/graphics.in.h libinterp/genprops.awk Makefile
 	$(AM_V_GEN)rm -f $@-t $@ && \
-	$(AWK) -f $(srcdir)/genprops.awk $< > $@-t && \
+	$(AWK) -f $(srcdir)/libinterp/genprops.awk $< > $@-t && \
 	mv $@-t $@
 
-corefcn/graphics-props.cc: corefcn/graphics.in.h genprops.awk Makefile
+libinterp/corefcn/graphics-props.cc: libinterp/corefcn/graphics.in.h libinterp/genprops.awk Makefile
 	$(AM_V_GEN)rm -f $@-t $@ && \
-	$(AWK) -v emit_graphics_props=1 -f $(srcdir)/genprops.awk $< > $@-t && \
+	$(AWK) -v emit_graphics_props=1 -f $(srcdir)/libinterp/genprops.awk $< > $@-t && \
 	mv $@-t $@
 
-corefcn/oct-errno.cc: corefcn/oct-errno.in.cc Makefile
+libinterp/corefcn/oct-errno.cc: libinterp/corefcn/oct-errno.in.cc Makefile
 	$(AM_V_GEN)rm -f $@-t $@ && \
 	if test -n "$(PERL)"; then \
-	  $(srcdir)/mk-errno-list --perl "$(PERL)" < $< > $@-t; \
+	  $(srcdir)/libinterp/mk-errno-list --perl "$(PERL)" < $< > $@-t; \
 	elif test -n "$(PYTHON)"; then \
-	  $(srcdir)/mk-errno-list --python "$(PYTHON)" < $< > $@-t; \
+	  $(srcdir)/libinterp/mk-errno-list --python "$(PYTHON)" < $< > $@-t; \
 	else \
 	  $(SED) '/@SYSDEP_ERRNO_LIST@/D' $< > $@-t; \
 	fi && \
 	mv $@-t $@
 
-corefcn/mxarray.h: corefcn/mxarray.in.h Makefile
+libinterp/corefcn/mxarray.h: libinterp/corefcn/mxarray.in.h Makefile
 	$(AM_V_GEN)rm -f $@-t $@ && \
 	$(SED) < $< \
 	  -e "s|%NO_EDIT_WARNING%|DO NOT EDIT!  Generated automatically from $(<F) by Make.|" \
 	  -e "s|%OCTAVE_IDX_TYPE%|${OCTAVE_IDX_TYPE}|" > $@-t && \
 	mv $@-t $@
 
-corefcn/oct-tex-lexer.ll: corefcn/oct-tex-lexer.in.ll corefcn/oct-tex-symbols.in Makefile.am
+libinterp/corefcn/oct-tex-lexer.ll: libinterp/corefcn/oct-tex-lexer.in.ll libinterp/corefcn/oct-tex-symbols.in Makefile.am
 	$(AM_V_GEN)rm -f $@-t $@ && \
-	$(AWK) 'BEGIN { print "/* DO NOT EDIT. AUTOMATICALLY GENERATED FROM oct-tex-lexer.in.ll and oct-tex-symbols.in. */"; } /^@SYMBOL_RULES@$$/ { count = 0; while (getline < "$(srcdir)/corefcn/oct-tex-symbols.in") { if ($$0 !~ /^#.*/ && NF == 3) { printf("\"\\\\%s\" { yylval->sym = %d; return SYM; }\n", $$1, count); count++; } } getline } ! /^@SYMBOL_RULES@$$/ { print }' $< > $@-t && \
+	$(AWK) 'BEGIN { print "/* DO NOT EDIT. AUTOMATICALLY GENERATED FROM oct-tex-lexer.in.ll and oct-tex-symbols.in. */"; } /^@SYMBOL_RULES@$$/ { count = 0; while (getline < "$(srcdir)/libinterp/corefcn/oct-tex-symbols.in") { if ($$0 !~ /^#.*/ && NF == 3) { printf("\"\\\\%s\" { yylval->sym = %d; return SYM; }\n", $$1, count); count++; } } getline } ! /^@SYMBOL_RULES@$$/ { print }' $< > $@-t && \
 	mv $@-t $@
 
-corefcn/oct-tex-symbols.cc: corefcn/oct-tex-symbols.in Makefile.am
+libinterp/corefcn/oct-tex-symbols.cc: libinterp/corefcn/oct-tex-symbols.in Makefile.am
 	$(AM_V_GEN)rm -f $@-t $@ && \
 	$(AWK) 'BEGIN { print "// DO NOT EDIT. AUTOMATICALLY GENERATED FROM oct-tex-symbols.in."; print "static uint32_t symbol_codes[][2] = {"; count = 0; } END { print "};"; printf("static int num_symbol_codes = %d;\n", count); } !/^#/ && (NF == 3) { printf("  { %s, %s },\n", $$2, $$3); count++; }' $< > $@-t && \
 	mv $@-t $@
 
-corefcn/txt-eng.cc: corefcn/oct-tex-symbols.cc
-corefcn/oct-tex-lexer.cc: LEX_OUTPUT_ROOT := lex.octave_tex_
-corefcn/oct-tex-parser.h: corefcn/oct-tex-parser.yy
+libinterp/corefcn/txt-eng.cc: libinterp/corefcn/oct-tex-symbols.cc
+libinterp/corefcn/oct-tex-lexer.cc: LEX_OUTPUT_ROOT := lex.octave_tex_
+libinterp/corefcn/oct-tex-parser.h: libinterp/corefcn/oct-tex-parser.yy
 
-corefcn/oct-tex-parser.yy: corefcn/oct-tex-parser.in.yy
+libinterp/corefcn/oct-tex-parser.yy: libinterp/corefcn/oct-tex-parser.in.yy
 	$(AM_V_GEN)$(call subst-bison-api-decls,octave_tex_)
 
 noinst_LTLIBRARIES += \
-  corefcn/libcorefcn.la \
-  corefcn/libtex_parser.la
+  libinterp/corefcn/libcorefcn.la \
+  libinterp/corefcn/libtex_parser.la
+
+libinterp_corefcn_libcorefcn_la_SOURCES = $(COREFCN_SRC)
 
-corefcn_libcorefcn_la_SOURCES = $(COREFCN_SRC)
-corefcn_libcorefcn_la_CPPFLAGS = $(liboctinterp_la_CPPFLAGS) \
-                                 $(FFTW_XCPPFLAGS) \
-                                 $(FONTCONFIG_CPPFLAGS) \
-                                 $(FT2_CPPFLAGS) \
-                                 $(HDF5_CPPFLAGS) \
-                                 $(LLVM_CPPFLAGS) \
-                                 $(Z_CPPFLAGS)
+libinterp_corefcn_libcorefcn_la_CPPFLAGS = \
+  $(libinterp_liboctinterp_la_CPPFLAGS) \
+  $(FFTW_XCPPFLAGS) \
+  $(FONTCONFIG_CPPFLAGS) \
+  $(FT2_CPPFLAGS) \
+  $(HDF5_CPPFLAGS) \
+  $(LLVM_CPPFLAGS) \
+  $(Z_CPPFLAGS)
 
-corefcn_libcorefcn_la_CXXFLAGS = $(AM_CXXFLAGS) $(LLVM_CXXFLAGS)
+libinterp_corefcn_libcorefcn_la_CFLAGS = $(AM_CFLAGS) $(WARN_CFLAGS)
+
+libinterp_corefcn_libcorefcn_la_CXXFLAGS = $(AM_CXXFLAGS) $(WARN_CXXFLAGS) $(LLVM_CXXFLAGS)
 
-corefcn_libtex_parser_la_SOURCES = $(TEX_PARSER_SRC)
-corefcn_libtex_parser_la_CPPFLAGS = $(liboctinterp_la_CPPFLAGS)
-corefcn_libtex_parser_la_CXXFLAGS = \
-  $(filter-out -Wold-style-cast, $(AM_CXXFLAGS))
+libinterp_corefcn_libtex_parser_la_SOURCES = $(TEX_PARSER_SRC)
 
+libinterp_corefcn_libtex_parser_la_CPPFLAGS = $(libinterp_liboctinterp_la_CPPFLAGS)
+
+libinterp_corefcn_libtex_parser_la_CXXFLAGS = \
+  $(filter-out -Wold-style-cast, $(libinterp_corefcn_libcorefcn_la_CXXFLAGS))
--- a/libinterp/dldfcn/config-module.awk	Thu Jul 09 13:55:58 2015 -0400
+++ b/libinterp/dldfcn/config-module.awk	Fri Jul 10 13:28:33 2015 -0400
@@ -5,10 +5,10 @@
   print "## DO NOT EDIT -- generated from module-files by config-module.awk";
   print ""
   print "EXTRA_DIST += \\"
-  print "  dldfcn/config-module.sh \\"
-  print "  dldfcn/config-module.awk \\"
-  print "  dldfcn/module-files \\"
-  print "  dldfcn/oct-qhull.h"
+  print "  libinterp/dldfcn/config-module.sh \\"
+  print "  libinterp/dldfcn/config-module.awk \\"
+  print "  libinterp/dldfcn/module-files \\"
+  print "  libinterp/dldfcn/oct-qhull.h"
   print ""
 }
 /^#.*/ { next; }
@@ -24,7 +24,7 @@
   for (i = 1; i <= nfiles; i++) {
     if (i == nfiles)
       sep = "\n";
-    printf ("  dldfcn/%s%s", files[i], sep);
+    printf ("  libinterp/dldfcn/%s%s", files[i], sep);
   }
   print "";
 
@@ -39,7 +39,7 @@
   print "## of symbolic links";
   print "";
   print "%.oct : %.la"
-  print "	$(AM_V_GEN)$(INSTALL_PROGRAM) dldfcn/.libs/$(shell $(SED) -n -e \"s/dlname='\\([^']*\\)'/\\1/p\" < $<) $@"
+  print "	$(AM_V_GEN)$(INSTALL_PROGRAM) libinterp/dldfcn/.libs/$(shell $(SED) -n -e \"s/dlname='\\([^']*\\)'/\\1/p\" < $<) $@"
   print ""
   print "else";
   print "";
@@ -51,18 +51,22 @@
     basename = files[i];
     sub (/\.cc$/, "", basename);
     print "";
-    printf ("dldfcn_%s_la_SOURCES = dldfcn/%s\n",
+    printf ("libinterp_dldfcn_%s_la_SOURCES = libinterp/dldfcn/%s\n",
             basename, files[i]);
     if (cppflags[i])
       {
-        printf ("dldfcn/%s.df: CPPFLAGS += %s\n",
+        printf ("libinterp/dldfcn/%s.df: CPPFLAGS += %s\n",
                 basename, cppflags[i]);
-        printf ("dldfcn_%s_la_CPPFLAGS = $(AM_CPPFLAGS) %s\n",
+        printf ("libinterp_dldfcn_%s_la_CPPFLAGS = $(libinterp_liboctinterp_la_CPPFLAGS) %s\n",
                 basename, cppflags[i]);
       }
-    printf ("dldfcn_%s_la_LDFLAGS = -avoid-version -module $(NO_UNDEFINED_LDFLAG) %s $(OCT_LINK_OPTS)\n",
+    printf ("libinterp_dldfcn_%s_la_CFLAGS = $(libinterp_liboctinterp_la_CFLAGS) %s\n",
+            basename, cppflags[i]);
+    printf ("libinterp_dldfcn_%s_la_CXXFLAGS = $(libinterp_liboctinterp_la_CXXFLAGS) %s\n",
+            basename, cppflags[i]);
+    printf ("libinterp_dldfcn_%s_la_LDFLAGS = -avoid-version -module $(NO_UNDEFINED_LDFLAG) %s $(OCT_LINK_OPTS)\n",
             basename, ldflags[i]);
-    printf ("dldfcn_%s_la_LIBADD = $(DLD_LIBOCTINTERP_LIBADD) ../liboctave/liboctave.la %s $(OCT_LINK_DEPS)\n",
+    printf ("libinterp_dldfcn_%s_la_LIBADD = $(DLD_LIBOCTINTERP_LIBADD) liboctave/liboctave.la %s $(OCT_LINK_DEPS)\n",
             basename, libraries[i]);
   }
 }
--- a/libinterp/link-deps.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/libinterp/link-deps.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -1,5 +1,3 @@
-include $(top_srcdir)/liboctave/link-deps.mk
-
 if AMCOND_ENABLE_DYNAMIC_LINKING
   LIBOCTINTERP_LINK_DEPS =
 else
--- a/libinterp/mkops	Thu Jul 09 13:55:58 2015 -0400
+++ b/libinterp/mkops	Fri Jul 10 13:28:33 2015 -0400
@@ -32,7 +32,7 @@
 EOF
 
 for file in "$@"; do
-  f=`echo $file | $SED 's,^\./,,; s%^operators/op-%%; s%\.cc%%; s%-%_%g'`
+  f=`echo $file | $SED 's,^\./,,; s%^libinterp/operators/op-%%; s%\.cc%%; s%-%_%g'`
   echo "extern void install_${f}_ops (void);"
 done
 
@@ -46,7 +46,7 @@
 EOF
 
 for file in "$@"; do
-  f=`echo $file | $SED 's,^\./,,; s%^operators/op-%%; s%\.cc%%; s%-%_%g'`
+  f=`echo $file | $SED 's,^\./,,; s%^libinterp/operators/op-%%; s%\.cc%%; s%-%_%g'`
   echo "  install_${f}_ops ();"
 done
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libinterp/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -0,0 +1,376 @@
+## Search local directories before those specified by the user.
+libinterp_liboctinterp_la_CPPFLAGS = \
+  @OCTINTERP_DLL_DEFS@ \
+  -I$(top_builddir)/liboctave -I$(top_srcdir)/liboctave \
+  -I$(top_srcdir)/liboctave/cruft/misc \
+  -I$(top_srcdir)/liboctave/array \
+  -I$(top_builddir)/liboctave/numeric -I$(top_srcdir)/liboctave/numeric \
+  -I$(top_builddir)/liboctave/operators -I$(top_srcdir)/liboctave/operators \
+  -I$(top_srcdir)/liboctave/system \
+  -I$(top_srcdir)/liboctave/util \
+  -I$(srcdir)/libinterp/octave-value \
+  -Ilibinterp -I$(srcdir)/libinterp \
+  -I$(srcdir)/libinterp/operators \
+  -Ilibinterp/parse-tree -I$(srcdir)/libinterp/parse-tree \
+  -Ilibinterp/corefcn -I$(srcdir)/libinterp/corefcn \
+  -I$(top_builddir)/libgnu -I$(top_srcdir)/libgnu \
+  $(HDF5_CPPFLAGS)
+
+libinterp_liboctinterp_la_CFLAGS = $(AM_CFLAGS) $(WARN_CFLAGS)
+
+libinterp_liboctinterp_la_CXXFLAGS = $(AM_CFLAGS) $(WARN_CXXFLAGS)
+
+octlib_LTLIBRARIES += libinterp/liboctinterp.la
+
+## This is the subset of $(BUILT_SOURCES) that may be included by source
+## files that are preprocessed to make $(DEF_FILES).  This ensures that
+## files in $(BUILT_SOURCES) are built in the right dependency order.
+GENERATED_MAKE_BUILTINS_INCS = \
+  libinterp/corefcn/defaults.h \
+  libinterp/corefcn/graphics-props.cc \
+  libinterp/corefcn/graphics.h \
+  libinterp/corefcn/mxarray.h \
+  libinterp/oct-conf-features.h \
+  libinterp/oct-conf.h \
+  libinterp/parse-tree/oct-gperf.h \
+  libinterp/parse-tree/oct-parse.h \
+  libinterp/version.h
+
+BUILT_SOURCES += \
+  $(GENERATED_MAKE_BUILTINS_INCS) \
+  libinterp/builtin-defun-decls.h \
+  libinterp/builtins.cc \
+  libinterp/corefcn/oct-errno.cc \
+  libinterp/corefcn/oct-tex-lexer.cc \
+  libinterp/corefcn/oct-tex-parser.cc \
+  libinterp/corefcn/oct-tex-symbols.cc \
+  libinterp/operators/ops.cc \
+  libinterp/parse-tree/lex.cc \
+  libinterp/parse-tree/oct-parse.cc
+
+ULT_PARSER_SRC := \
+  libinterp/corefcn/oct-tex-lexer.in.ll \
+  libinterp/corefcn/oct-tex-parser.in.yy \
+  libinterp/parse-tree/oct-parse.in.yy
+
+GENERATED_PARSER_FILES := \
+  libinterp/corefcn/oct-tex-lexer.ll \
+  libinterp/corefcn/oct-tex-parser.yy \
+  libinterp/parse-tree/oct-parse.yy
+
+BUILT_DISTFILES += \
+  $(GENERATED_PARSER_FILES) \
+  libinterp/corefcn/oct-tex-parser.h \
+  libinterp/corefcn/oct-tex-symbols.cc \
+  libinterp/parse-tree/oct-gperf.h \
+  libinterp/parse-tree/oct-parse.h
+
+## Files that are created during build process and installed,
+## BUT not distributed in tarball.
+BUILT_NODISTFILES += \
+  libinterp/corefcn/mxarray.h \
+  libinterp/corefcn/oct-errno.cc \
+  libinterp/corefcn/defaults.h \
+  libinterp/corefcn/graphics.h \
+  libinterp/builtin-defun-decls.h \
+  libinterp/operators/ops.cc \
+  libinterp/oct-conf.h \
+  libinterp/oct-conf-features.h \
+  libinterp/version.h \
+  $(OPT_HANDLERS) \
+  $(ALL_DEF_FILES) \
+  libinterp/builtins.cc
+
+EXTRA_DIST += \
+  libinterp/Makefile.in \
+  libinterp/DOCSTRINGS \
+  libinterp/config-features.sh \
+  libinterp/find-defun-files.sh \
+  libinterp/gendoc.pl \
+  libinterp/genprops.awk \
+  libinterp/mk-errno-list \
+  libinterp/mk-pkg-add \
+  libinterp/mkbuiltins \
+  libinterp/mkdefs \
+  libinterp/mkops \
+  libinterp/oct-conf.in.h \
+  libinterp/version.in.h \
+  $(BUILT_DISTFILES)
+
+octinclude_HEADERS += \
+  libinterp/corefcn/graphics-props.cc \
+  libinterp/parse-tree/oct-gperf.h \
+  libinterp/builtins.h \
+  libinterp/builtin-defun-decls.h \
+  libinterp/octave.h \
+  libinterp/options-usage.h \
+  $(OCTAVE_VALUE_INC) \
+  $(PARSE_TREE_INC) \
+  $(PARSER_INC) \
+  $(LIBINTERP_OPERATORS_INC) \
+  $(COREFCN_INC)
+
+nodist_octinclude_HEADERS += \
+  libinterp/corefcn/mxarray.h \
+  libinterp/corefcn/defaults.h \
+  libinterp/corefcn/graphics.h \
+  libinterp/oct-conf.h \
+  libinterp/version.h
+
+DIST_SRC += \
+  libinterp/octave.cc \
+  libinterp/version.cc \
+  $(OCTAVE_VALUE_SRC) \
+  $(PARSE_TREE_SRC) \
+  $(PARSER_SRC) \
+  $(COREFCN_SRC) \
+  $(TEX_PARSER_SRC)
+
+include libinterp/parse-tree/module.mk
+include libinterp/octave-value/module.mk
+include libinterp/operators/module.mk
+include libinterp/template-inst/module.mk
+include libinterp/corefcn/module.mk
+include libinterp/dldfcn/module.mk
+
+$(srcdir)/libinterp/dldfcn/module.mk: $(srcdir)/libinterp/dldfcn/config-module.sh $(srcdir)/libinterp/dldfcn/config-module.awk $(srcdir)/libinterp/dldfcn/module-files
+	$(srcdir)/libinterp/dldfcn/config-module.sh $(top_srcdir)
+
+if AMCOND_ENABLE_DYNAMIC_LINKING
+  OCT_FILES = $(DLDFCN_LIBS:.la=.oct)
+  DLD_LIBOCTINTERP_LIBADD = libinterp/liboctinterp.la
+else
+  OCT_FILES =
+  DLD_LIBOCTINTERP_LIBADD =
+endif
+
+libinterp_liboctinterp_la_SOURCES = \
+  libinterp/octave.cc \
+  libinterp/version.cc \
+  $(LIBINTERP_OPERATORS_SRC) \
+  $(TEMPLATE_INST_SRC)
+
+nodist_libinterp_liboctinterp_la_SOURCES = \
+  libinterp/corefcn/mxarray.h \
+  libinterp/corefcn/oct-errno.cc \
+  libinterp/corefcn/defaults.h \
+  libinterp/corefcn/graphics.h \
+  libinterp/operators/ops.cc \
+  libinterp/builtin-defun-decls.h \
+  libinterp/builtins.cc \
+  libinterp/oct-conf.h \
+  libinterp/oct-conf-features.h \
+  libinterp/version.h
+
+libinterp_liboctinterp_la_LIBADD = \
+  libinterp/octave-value/liboctave-value.la \
+  libinterp/parse-tree/libparse-tree.la \
+  libinterp/parse-tree/libparser.la \
+  libinterp/corefcn/libcorefcn.la \
+  libinterp/corefcn/libtex_parser.la \
+  $(top_builddir)/liboctave/liboctave.la \
+  $(LIBOCTINTERP_LINK_DEPS)
+
+# Increment these as needed and according to the rules in the libtool manual:
+libinterp_liboctinterp_current = 3
+libinterp_liboctinterp_revision = 0
+libinterp_liboctinterp_age = 0
+
+libinterp_liboctinterp_version_info = $(libinterp_liboctinterp_current):$(libinterp_liboctinterp_revision):$(libinterp_liboctinterp_age)
+
+libinterp_liboctinterp_la_LDFLAGS = \
+  -version-info $(libinterp_liboctinterp_version_info) \
+  $(NO_UNDEFINED_LDFLAG) \
+  -bindir $(bindir) \
+  $(LIBOCTINTERP_LINK_OPTS)
+
+## Section for defining and creating DEF_FILES
+
+ULT_DIST_SRC := \
+  $(filter-out $(GENERATED_PARSER_FILES), $(DIST_SRC)) $(ULT_PARSER_SRC)
+
+SRC_DEF_FILES := $(shell $(srcdir)/libinterp/find-defun-files.sh "$(srcdir)" $(ULT_DIST_SRC))
+
+DLDFCN_DEF_FILES = $(DLDFCN_SRC:.cc=.df)
+
+## builtins.cc depends on $(DEF_FILES), so DEF_FILES should only include
+## .df files that correspond to sources included in liboctave.
+if AMCOND_ENABLE_DYNAMIC_LINKING
+  DEF_FILES = $(SRC_DEF_FILES)
+else
+  DEF_FILES = $(SRC_DEF_FILES) $(DLDFCN_DEF_FILES)
+endif
+
+ALL_DEF_FILES = $(SRC_DEF_FILES) $(DLDFCN_DEF_FILES)
+
+$(SRC_DEF_FILES): libinterp/mkdefs Makefile
+
+$(DEF_FILES): $(OPT_HANDLERS) $(LIBOCTAVE_OPT_INC)
+
+## FIXME: The following two variables are deprecated and should be removed
+##        in Octave version 3.12.
+DLL_CDEFS = @OCTINTERP_DLL_DEFS@
+DLL_CXXDEFS = @OCTINTERP_DLL_DEFS@
+
+## Rule to build a DEF file from a .cc file
+## See also module.mk files for overrides when speciall CPPFLAGS are needed.
+## FIXME: Shouldn't the build stop if CPP fails here?  Yes (10/31/2013)
+%.df: %.cc $(GENERATED_MAKE_BUILTINS_INCS)
+	$(AM_V_GEN)rm -f $@-t $@-t1 $@ && \
+	$(CXXCPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	  $(libinterp_liboctinterp_la_CPPFLAGS) $(LLVM_CPPFLAGS) $(CPPFLAGS) \
+	  $(libinterp_liboctinterp_la_CXXFLAGS) \
+	  -DMAKE_BUILTINS $< > $@-t1 && \
+	$(srcdir)/libinterp/mkdefs $(srcdir)/libinterp $< < $@-t1 > $@-t && \
+	mv $@-t $@ && \
+	rm -f $@-t1
+
+## Rules to build test files
+
+LIBINTERP_TST_FILES_SRC := $(shell $(top_srcdir)/build-aux/find-files-with-tests.sh "$(srcdir)" $(ULT_DIST_SRC) $(DLDFCN_SRC))
+
+LIBINTERP_TST_FILES := $(addsuffix -tst,$(LIBINTERP_TST_FILES_SRC))
+
+libinterptestsdir := $(octtestsdir)/libinterp
+
+nobase_libinterptests_DATA = $(LIBINTERP_TST_FILES)
+
+## Override Automake's rule that forces a .hh extension on us even
+## though we don't want it.  It would be super awesome if automake
+## would allow users to choose the header file extension.
+.yy.cc:
+	$(AM_V_YACC)$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h $*.h y.output $*.output -- $(YACCCOMPILE)
+
+## Special rules:
+## Mostly for sources which must be built before rest of compilation.
+
+## oct-conf.h must depend on Makefile.
+## Calling configure may change default/config values.
+## However, calling configure will also regenerate the Makefiles from
+## Makefile.am and trigger the rules below.
+libinterp/oct-conf.h: libinterp/oct-conf.in.h Makefile
+	$(AM_V_GEN)$(do_subst_config_vals)
+
+libinterp/oct-conf-features.h: $(top_builddir)/config.h libinterp/config-features.sh
+	$(AM_V_GEN)rm -f $@-t $@ && \
+	$(srcdir)/libinterp/config-features.sh $< > $@-t && \
+	mv $@-t $@
+
+libinterp/version.h: libinterp/version.in.h Makefile
+	$(AM_V_GEN)rm -f $@-t $@ && \
+	$(SED) < $< \
+	  -e "s|%NO_EDIT_WARNING%|DO NOT EDIT!  Generated automatically from $(<F) by Make.|" \
+	  -e "s|%OCTAVE_API_VERSION%|\"${OCTAVE_API_VERSION}\"|" \
+	  -e "s|%OCTAVE_COPYRIGHT%|\"${OCTAVE_COPYRIGHT}\"|" \
+          -e "s|%OCTAVE_MAJOR_VERSION%|${OCTAVE_MAJOR_VERSION}|" \
+          -e "s|%OCTAVE_MINOR_VERSION%|${OCTAVE_MINOR_VERSION}|" \
+          -e "s|%OCTAVE_PATCH_VERSION%|${OCTAVE_PATCH_VERSION}|" \
+	  -e "s|%OCTAVE_RELEASE_DATE%|\"${OCTAVE_RELEASE_DATE}\"|" \
+	  -e "s|%OCTAVE_VERSION%|\"${OCTAVE_VERSION}\"|" > $@-t && \
+	mv $@-t $@
+
+libinterp/builtins.cc: $(DEF_FILES) libinterp/mkbuiltins
+	$(AM_V_GEN)rm -f $@-t $@ && \
+	$(srcdir)/libinterp/mkbuiltins --source $(DEF_FILES) > $@-t && \
+	mv $@-t $@
+
+libinterp/builtin-defun-decls.h: $(SRC_DEF_FILES) libinterp/mkbuiltins
+	$(AM_V_GEN)rm -f $@-t $@ && \
+	$(srcdir)/libinterp/mkbuiltins --header $(SRC_DEF_FILES) > $@-t && \
+	mv $@-t $@
+
+if AMCOND_ENABLE_DYNAMIC_LINKING
+DLDFCN_PKG_ADD_FILE = libinterp/dldfcn/PKG_ADD
+
+libinterp/dldfcn/PKG_ADD: $(DLDFCN_DEF_FILES) libinterp/mk-pkg-add
+	$(AM_V_GEN)rm -f $@-t $@ && \
+	$(srcdir)/libinterp/mk-pkg-add $(DLDFCN_DEF_FILES) > $@-t && \
+	mv $@-t $@
+endif
+
+if AMCOND_BUILD_DOCS
+
+libinterp/.DOCSTRINGS: $(ALL_DEF_FILES) libinterp/gendoc.pl
+	$(AM_V_GEN)rm -f $@-t $@ && \
+	if [ "x$(srcdir)" != "x." ] && [ -f $(srcdir)/libinterp/DOCSTRINGS ] && [ ! -f DOCSTRINGS ]; then \
+		cp $(srcdir)/libinterp/DOCSTRINGS libinterp/DOCSTRINGS; \
+		touch -r $(srcdir)/libinterp/DOCSTRINGS libinterp/DOCSTRINGS; \
+	fi && \
+	$(PERL) $(srcdir)/libinterp/gendoc.pl $(ALL_DEF_FILES) > $@-t && \
+	mv $@-t $@ && \
+	$(top_srcdir)/build-aux/move-if-change $@ libinterp/DOCSTRINGS && \
+	touch $@
+
+OCTAVE_INTERPRETER_TARGETS += \
+  libinterp/.DOCSTRINGS
+
+endif
+
+OCTAVE_INTERPRETER_TARGETS += \
+  $(OCT_FILES) \
+  $(DLDFCN_PKG_ADD_FILE)
+
+if AMCOND_BUILD_DOCS
+install-data-hook: install-oct install-built-in-docstrings
+else
+install-data-hook: install-oct uninstall-built-in-docstrings
+endif
+
+uninstall-local: uninstall-oct uninstall-built-in-docstrings
+
+if AMCOND_ENABLE_DYNAMIC_LINKING
+install-oct:
+	$(MKDIR_P) $(DESTDIR)$(octfiledir)
+	if [ -n "`cat $(DLDFCN_PKG_ADD_FILE)`" ]; then \
+	  $(INSTALL_DATA) $(DLDFCN_PKG_ADD_FILE) $(DESTDIR)$(octfiledir)/PKG_ADD; \
+	fi
+	cd $(DESTDIR)$(octlibdir) && \
+	for ltlib in $(DLDFCN_LIBS); do \
+	  f=`echo $$ltlib | $(SED) 's,.*/,,'`; \
+	  dl=`$(SED) -n -e "s/dlname='\([^']*\)'/\1/p" < $$f`; \
+	  if [ -n "$$dl" ]; then \
+	    $(INSTALL_PROGRAM) $$dl $(DESTDIR)$(octfiledir)/`echo $$f | $(SED) 's,^lib,,; s,\.la$$,.oct,'`; \
+	  else \
+	    echo "error: dlname is empty in $$ltlib!"; \
+	    exit 1; \
+	  fi; \
+	  lnames=`$(SED) -n -e "s/library_names='\([^']*\)'/\1/p" < $$f`; \
+	  if [ -n "$$lnames" ]; then \
+	    rm -f $$f $$lnames $$dl; \
+	  fi \
+	done
+
+uninstall-oct:
+	for f in $(notdir $(OCT_FILES)); do \
+	  rm -f $(DESTDIR)$(octfiledir)/$$f; \
+	done
+	rm -f $(DESTDIR)$(octfiledir)/PKG_ADD
+endif
+.PHONY: install-oct uninstall-oct
+
+if AMCOND_BUILD_DOCS
+install-built-in-docstrings:
+	$(MKDIR_P) $(DESTDIR)$(octetcdir)
+	$(INSTALL_DATA) DOCSTRINGS $(DESTDIR)$(octetcdir)/built-in-docstrings
+
+uninstall-built-in-docstrings:
+	rm -f $(DESTDIR)$(octetcdir)/built-in-docstrings
+endif
+.PHONY: install-built-in-docstrings uninstall-built-in-docstrings
+
+CLEANFILES += \
+  $(DLDFCN_PKG_ADD_FILE) \
+  libinterp/corefcn/graphics-props.cc \
+  libinterp/corefcn/oct-tex-parser.output \
+  libinterp/parse-tree/oct-parse.output
+
+DISTCLEANFILES += \
+  libinterp/.DOCSTRINGS \
+  libinterp/DOCSTRINGS \
+  $(BUILT_NODISTFILES) \
+  $(OCT_FILES) \
+  $(LIBINTERP_TST_FILES)
+
+MAINTAINERCLEANFILES += \
+  $(BUILT_DISTFILES)
+
--- a/libinterp/octave-value/module.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/libinterp/octave-value/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -1,164 +1,168 @@
 EXTRA_DIST += \
-  octave-value/module.mk
+  libinterp/octave-value/module.mk
 
 OV_INTTYPE_INC = \
-  octave-value/ov-base-int.h \
-  octave-value/ov-base-int.cc \
-  octave-value/ov-int-traits.h \
-  octave-value/ov-int16.h \
-  octave-value/ov-int32.h \
-  octave-value/ov-int64.h \
-  octave-value/ov-int8.h \
-  octave-value/ov-intx.h \
-  octave-value/ov-uint16.h \
-  octave-value/ov-uint32.h \
-  octave-value/ov-uint64.h \
-  octave-value/ov-uint8.h
+  libinterp/octave-value/ov-base-int.h \
+  libinterp/octave-value/ov-base-int.cc \
+  libinterp/octave-value/ov-int-traits.h \
+  libinterp/octave-value/ov-int16.h \
+  libinterp/octave-value/ov-int32.h \
+  libinterp/octave-value/ov-int64.h \
+  libinterp/octave-value/ov-int8.h \
+  libinterp/octave-value/ov-intx.h \
+  libinterp/octave-value/ov-uint16.h \
+  libinterp/octave-value/ov-uint32.h \
+  libinterp/octave-value/ov-uint64.h \
+  libinterp/octave-value/ov-uint8.h
 
 OV_SPARSE_INC = \
-  octave-value/ov-base-sparse.h \
-  octave-value/ov-bool-sparse.h \
-  octave-value/ov-cx-sparse.h \
-  octave-value/ov-re-sparse.h
+  libinterp/octave-value/ov-base-sparse.h \
+  libinterp/octave-value/ov-bool-sparse.h \
+  libinterp/octave-value/ov-cx-sparse.h \
+  libinterp/octave-value/ov-re-sparse.h
 
 OCTAVE_VALUE_INC = \
-  octave-value/ov-base-diag.h \
-  octave-value/ov-base-diag.cc \
-  octave-value/ov-base-mat.h \
-  octave-value/ov-base-mat.cc \
-  octave-value/ov-base-scalar.h \
-  octave-value/ov-base-scalar.cc \
-  octave-value/ov-base.h \
-  octave-value/ov-bool-mat.h \
-  octave-value/ov-bool-mat.cc \
-  octave-value/ov-bool.h \
-  octave-value/ov-builtin.h \
-  octave-value/ov-cell.h \
-  octave-value/ov-ch-mat.h \
-  octave-value/ov-class.h \
-  octave-value/ov-classdef.h \
-  octave-value/ov-colon.h \
-  octave-value/ov-complex.h \
-  octave-value/ov-cs-list.h \
-  octave-value/ov-cx-diag.h \
-  octave-value/ov-cx-mat.h \
-  octave-value/ov-dld-fcn.h \
-  octave-value/ov-fcn-handle.h \
-  octave-value/ov-fcn-inline.h \
-  octave-value/ov-fcn.h \
-  octave-value/ov-float.h \
-  octave-value/ov-flt-complex.h \
-  octave-value/ov-flt-cx-diag.h \
-  octave-value/ov-flt-cx-mat.h \
-  octave-value/ov-flt-re-diag.h \
-  octave-value/ov-flt-re-mat.h \
-  octave-value/ov-java.h \
-  octave-value/ov-lazy-idx.h \
-  octave-value/ov-mex-fcn.h \
-  octave-value/ov-null-mat.h \
-  octave-value/ov-oncleanup.h \
-  octave-value/ov-perm.h \
-  octave-value/ov-range.h \
-  octave-value/ov-re-diag.h \
-  octave-value/ov-re-mat.h \
-  octave-value/ov-scalar.h \
-  octave-value/ov-str-mat.h \
-  octave-value/ov-struct.h \
-  octave-value/ov-type-conv.h \
-  octave-value/ov-typeinfo.h \
-  octave-value/ov-usr-fcn.h \
-  octave-value/ov.h \
+  libinterp/octave-value/ov-base-diag.h \
+  libinterp/octave-value/ov-base-diag.cc \
+  libinterp/octave-value/ov-base-mat.h \
+  libinterp/octave-value/ov-base-mat.cc \
+  libinterp/octave-value/ov-base-scalar.h \
+  libinterp/octave-value/ov-base-scalar.cc \
+  libinterp/octave-value/ov-base.h \
+  libinterp/octave-value/ov-bool-mat.h \
+  libinterp/octave-value/ov-bool-mat.cc \
+  libinterp/octave-value/ov-bool.h \
+  libinterp/octave-value/ov-builtin.h \
+  libinterp/octave-value/ov-cell.h \
+  libinterp/octave-value/ov-ch-mat.h \
+  libinterp/octave-value/ov-class.h \
+  libinterp/octave-value/ov-classdef.h \
+  libinterp/octave-value/ov-colon.h \
+  libinterp/octave-value/ov-complex.h \
+  libinterp/octave-value/ov-cs-list.h \
+  libinterp/octave-value/ov-cx-diag.h \
+  libinterp/octave-value/ov-cx-mat.h \
+  libinterp/octave-value/ov-dld-fcn.h \
+  libinterp/octave-value/ov-fcn-handle.h \
+  libinterp/octave-value/ov-fcn-inline.h \
+  libinterp/octave-value/ov-fcn.h \
+  libinterp/octave-value/ov-float.h \
+  libinterp/octave-value/ov-flt-complex.h \
+  libinterp/octave-value/ov-flt-cx-diag.h \
+  libinterp/octave-value/ov-flt-cx-mat.h \
+  libinterp/octave-value/ov-flt-re-diag.h \
+  libinterp/octave-value/ov-flt-re-mat.h \
+  libinterp/octave-value/ov-java.h \
+  libinterp/octave-value/ov-lazy-idx.h \
+  libinterp/octave-value/ov-mex-fcn.h \
+  libinterp/octave-value/ov-null-mat.h \
+  libinterp/octave-value/ov-oncleanup.h \
+  libinterp/octave-value/ov-perm.h \
+  libinterp/octave-value/ov-range.h \
+  libinterp/octave-value/ov-re-diag.h \
+  libinterp/octave-value/ov-re-mat.h \
+  libinterp/octave-value/ov-scalar.h \
+  libinterp/octave-value/ov-str-mat.h \
+  libinterp/octave-value/ov-struct.h \
+  libinterp/octave-value/ov-type-conv.h \
+  libinterp/octave-value/ov-typeinfo.h \
+  libinterp/octave-value/ov-usr-fcn.h \
+  libinterp/octave-value/ov.h \
   $(OV_INTTYPE_INC) \
   $(OV_SPARSE_INC)
 
 OV_INTTYPE_SRC = \
-  octave-value/ov-int16.cc \
-  octave-value/ov-int32.cc \
-  octave-value/ov-int64.cc \
-  octave-value/ov-int8.cc \
-  octave-value/ov-uint16.cc \
-  octave-value/ov-uint32.cc \
-  octave-value/ov-uint64.cc \
-  octave-value/ov-uint8.cc
+  libinterp/octave-value/ov-int16.cc \
+  libinterp/octave-value/ov-int32.cc \
+  libinterp/octave-value/ov-int64.cc \
+  libinterp/octave-value/ov-int8.cc \
+  libinterp/octave-value/ov-uint16.cc \
+  libinterp/octave-value/ov-uint32.cc \
+  libinterp/octave-value/ov-uint64.cc \
+  libinterp/octave-value/ov-uint8.cc
 
 OV_SPARSE_SRC = \
-  octave-value/ov-base-sparse.cc \
-  octave-value/ov-bool-sparse.cc \
-  octave-value/ov-cx-sparse.cc \
-  octave-value/ov-re-sparse.cc
+  libinterp/octave-value/ov-base-sparse.cc \
+  libinterp/octave-value/ov-bool-sparse.cc \
+  libinterp/octave-value/ov-cx-sparse.cc \
+  libinterp/octave-value/ov-re-sparse.cc
 
 OCTAVE_VALUE_SRC = \
-  octave-value/ov-base.cc \
-  octave-value/ov-bool-mat.cc \
-  octave-value/ov-bool.cc \
-  octave-value/ov-builtin.cc \
-  octave-value/ov-cell.cc \
-  octave-value/ov-ch-mat.cc \
-  octave-value/ov-class.cc \
-  octave-value/ov-classdef.cc \
-  octave-value/ov-colon.cc \
-  octave-value/ov-complex.cc \
-  octave-value/ov-cs-list.cc \
-  octave-value/ov-cx-diag.cc \
-  octave-value/ov-cx-mat.cc \
-  octave-value/ov-dld-fcn.cc \
-  octave-value/ov-fcn-handle.cc \
-  octave-value/ov-fcn-inline.cc \
-  octave-value/ov-fcn.cc \
-  octave-value/ov-float.cc \
-  octave-value/ov-flt-complex.cc \
-  octave-value/ov-flt-cx-diag.cc \
-  octave-value/ov-flt-cx-mat.cc \
-  octave-value/ov-flt-re-diag.cc \
-  octave-value/ov-flt-re-mat.cc \
-  octave-value/ov-java.cc \
-  octave-value/ov-lazy-idx.cc \
-  octave-value/ov-mex-fcn.cc \
-  octave-value/ov-null-mat.cc \
-  octave-value/ov-oncleanup.cc \
-  octave-value/ov-perm.cc \
-  octave-value/ov-range.cc \
-  octave-value/ov-re-diag.cc \
-  octave-value/ov-re-mat.cc \
-  octave-value/ov-scalar.cc \
-  octave-value/ov-str-mat.cc \
-  octave-value/ov-struct.cc \
-  octave-value/ov-typeinfo.cc \
-  octave-value/ov-usr-fcn.cc \
-  octave-value/ov.cc \
+  libinterp/octave-value/ov-base.cc \
+  libinterp/octave-value/ov-bool-mat.cc \
+  libinterp/octave-value/ov-bool.cc \
+  libinterp/octave-value/ov-builtin.cc \
+  libinterp/octave-value/ov-cell.cc \
+  libinterp/octave-value/ov-ch-mat.cc \
+  libinterp/octave-value/ov-class.cc \
+  libinterp/octave-value/ov-classdef.cc \
+  libinterp/octave-value/ov-colon.cc \
+  libinterp/octave-value/ov-complex.cc \
+  libinterp/octave-value/ov-cs-list.cc \
+  libinterp/octave-value/ov-cx-diag.cc \
+  libinterp/octave-value/ov-cx-mat.cc \
+  libinterp/octave-value/ov-dld-fcn.cc \
+  libinterp/octave-value/ov-fcn-handle.cc \
+  libinterp/octave-value/ov-fcn-inline.cc \
+  libinterp/octave-value/ov-fcn.cc \
+  libinterp/octave-value/ov-float.cc \
+  libinterp/octave-value/ov-flt-complex.cc \
+  libinterp/octave-value/ov-flt-cx-diag.cc \
+  libinterp/octave-value/ov-flt-cx-mat.cc \
+  libinterp/octave-value/ov-flt-re-diag.cc \
+  libinterp/octave-value/ov-flt-re-mat.cc \
+  libinterp/octave-value/ov-java.cc \
+  libinterp/octave-value/ov-lazy-idx.cc \
+  libinterp/octave-value/ov-mex-fcn.cc \
+  libinterp/octave-value/ov-null-mat.cc \
+  libinterp/octave-value/ov-oncleanup.cc \
+  libinterp/octave-value/ov-perm.cc \
+  libinterp/octave-value/ov-range.cc \
+  libinterp/octave-value/ov-re-diag.cc \
+  libinterp/octave-value/ov-re-mat.cc \
+  libinterp/octave-value/ov-scalar.cc \
+  libinterp/octave-value/ov-str-mat.cc \
+  libinterp/octave-value/ov-struct.cc \
+  libinterp/octave-value/ov-typeinfo.cc \
+  libinterp/octave-value/ov-usr-fcn.cc \
+  libinterp/octave-value/ov.cc \
   $(OV_INTTYPE_SRC) \
   $(OV_SPARSE_SRC)
 
 OV_JAVA_DF = \
-  octave-value/ov.df \
-  octave-value/ov-class.df \
-  octave-value/ov-java.df \
-  octave-value/ov-typeinfo.df
+  libinterp/octave-value/ov.df \
+  libinterp/octave-value/ov-class.df \
+  libinterp/octave-value/ov-java.df \
+  libinterp/octave-value/ov-typeinfo.df
 
 ## Special rules for Java .df files so that not all .df files are built with
 ## JAVA_CPPFLAGS
-$(OV_JAVA_DF) : octave-value/%.df : octave-value/%.cc $(GENERATED_MAKE_BUILTINS_INCS)
+$(OV_JAVA_DF) : libinterp/octave-value/%.df : libinterp/octave-value/%.cc $(GENERATED_MAKE_BUILTINS_INCS)
 	$(AM_V_GEN)rm -f $@-t $@-t1 $@ && \
 	$(CXXCPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	  $(AM_CPPFLAGS) $(JAVA_CPPFLAGS) $(CPPFLAGS) \
-	  $(AM_CXXFLAGS) $(CXXFLAGS) \
+	  $(libinterp_octave_value_liboctave_value_la_CPPFLAGS) $(JAVA_CPPFLAGS) $(CPPFLAGS) \
+	  $(libinterp_octave_value_liboctave_value_la_CXXFLAGS) \
 	  -DMAKE_BUILTINS $< > $@-t1 && \
-	$(srcdir)/mkdefs $(srcdir) $< < $@-t1 > $@-t && \
+	$(srcdir)/libinterp/mkdefs $(srcdir)/libinterp $< < $@-t1 > $@-t && \
 	mv $@-t $@ && \
 	rm -f $@-t1
 
-noinst_LTLIBRARIES += octave-value/liboctave-value.la
+noinst_LTLIBRARIES += libinterp/octave-value/liboctave-value.la
 
-octave_value_liboctave_value_la_SOURCES = $(OCTAVE_VALUE_SRC)
+libinterp_octave_value_liboctave_value_la_SOURCES = $(OCTAVE_VALUE_SRC)
 
 ## FIXME -- maybe it would be better to limit the JAVA flags to
 ## the compile commands for ov-java.cc?  Does JAVA_LIBS need to be
 ## added to LIBOCTINTERP_LINK_DEPS (see libinterp/link-deps.mk)?
 ## Should we have a separate set of JAVA_LDFLAGS?
 
-octave_value_liboctave_value_la_CPPFLAGS = \
-  $(liboctinterp_la_CPPFLAGS) \
+libinterp_octave_value_liboctave_value_la_CPPFLAGS = \
+  $(libinterp_liboctinterp_la_CPPFLAGS) \
   $(HDF5_CPPFLAGS) \
   $(JAVA_CPPFLAGS)
 
-octave_value_liboctave_value_la_LIBADD = $(JAVA_LIBS)
+libinterp_octave_value_liboctave_value_la_CFLAGS = $(AM_CFLAGS) $(WARN_CFLAGS)
+
+libinterp_octave_value_liboctave_value_la_CXXFLAGS = $(AM_CXXFLAGS) $(WARN_CXXFLAGS)
+
+libinterp_octave_value_liboctave_value_la_LIBADD = $(JAVA_LIBS)
--- a/libinterp/operators/module.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/libinterp/operators/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -1,145 +1,144 @@
-EXTRA_DIST += operators/module.mk
+EXTRA_DIST += libinterp/operators/module.mk
 
-OPERATORS_SRC = \
-  operators/op-b-b.cc \
-  operators/op-b-bm.cc \
-  operators/op-b-sbm.cc \
-  operators/op-bm-b.cc \
-  operators/op-bm-bm.cc \
-  operators/op-bm-sbm.cc \
-  operators/op-cdm-cdm.cc \
-  operators/op-cdm-cm.cc \
-  operators/op-cdm-cs.cc \
-  operators/op-cdm-dm.cc \
-  operators/op-cdm-m.cc \
-  operators/op-cdm-s.cc \
-  operators/op-cell.cc \
-  operators/op-chm.cc \
-  operators/op-class.cc \
-  operators/op-cm-cdm.cc \
-  operators/op-cm-cm.cc \
-  operators/op-cm-cs.cc \
-  operators/op-cm-dm.cc \
-  operators/op-cm-m.cc \
-  operators/op-cm-pm.cc \
-  operators/op-cm-s.cc \
-  operators/op-cm-scm.cc \
-  operators/op-cm-sm.cc \
-  operators/op-cs-cm.cc \
-  operators/op-cs-cs.cc \
-  operators/op-cs-m.cc \
-  operators/op-cs-s.cc \
-  operators/op-cs-scm.cc \
-  operators/op-cs-sm.cc \
-  operators/op-dm-cdm.cc \
-  operators/op-dm-cm.cc \
-  operators/op-dm-cs.cc \
-  operators/op-dm-dm.cc \
-  operators/op-dm-m.cc \
-  operators/op-dm-s.cc \
-  operators/op-dm-scm.cc \
-  operators/op-dm-sm.cc \
-  operators/op-double-conv.cc \
-  operators/op-fcdm-fcdm.cc \
-  operators/op-fcdm-fcm.cc \
-  operators/op-fcdm-fcs.cc \
-  operators/op-fcdm-fdm.cc \
-  operators/op-fcdm-fm.cc \
-  operators/op-fcdm-fs.cc \
-  operators/op-fcm-fcdm.cc \
-  operators/op-fcm-fcm.cc \
-  operators/op-fcm-fcs.cc \
-  operators/op-fcm-fdm.cc \
-  operators/op-fcm-fm.cc \
-  operators/op-fcm-fs.cc \
-  operators/op-fcm-pm.cc \
-  operators/op-fcn.cc \
-  operators/op-fcs-fcm.cc \
-  operators/op-fcs-fcs.cc \
-  operators/op-fcs-fm.cc \
-  operators/op-fcs-fs.cc \
-  operators/op-fdm-fcdm.cc \
-  operators/op-fdm-fcm.cc \
-  operators/op-fdm-fcs.cc \
-  operators/op-fdm-fdm.cc \
-  operators/op-fdm-fm.cc \
-  operators/op-fdm-fs.cc \
-  operators/op-float-conv.cc \
-  operators/op-fm-fcdm.cc \
-  operators/op-fm-fcm.cc \
-  operators/op-fm-fcs.cc \
-  operators/op-fm-fdm.cc \
-  operators/op-fm-fm.cc \
-  operators/op-fm-fs.cc \
-  operators/op-fm-pm.cc \
-  operators/op-fs-fcm.cc \
-  operators/op-fs-fcs.cc \
-  operators/op-fs-fm.cc \
-  operators/op-fs-fs.cc \
-  operators/op-i16-i16.cc \
-  operators/op-i32-i32.cc \
-  operators/op-i64-i64.cc \
-  operators/op-i8-i8.cc \
-  operators/op-int-concat.cc \
-  operators/op-int-conv.cc \
-  operators/op-m-cdm.cc \
-  operators/op-m-cm.cc \
-  operators/op-m-cs.cc \
-  operators/op-m-dm.cc \
-  operators/op-m-m.cc \
-  operators/op-m-pm.cc \
-  operators/op-m-s.cc \
-  operators/op-m-scm.cc \
-  operators/op-m-sm.cc \
-  operators/op-pm-cm.cc \
-  operators/op-pm-fcm.cc \
-  operators/op-pm-fm.cc \
-  operators/op-pm-m.cc \
-  operators/op-pm-pm.cc \
-  operators/op-pm-scm.cc \
-  operators/op-pm-sm.cc \
-  operators/op-range.cc \
-  operators/op-s-cm.cc \
-  operators/op-s-cs.cc \
-  operators/op-s-m.cc \
-  operators/op-s-s.cc \
-  operators/op-s-scm.cc \
-  operators/op-s-sm.cc \
-  operators/op-sbm-b.cc \
-  operators/op-sbm-bm.cc \
-  operators/op-sbm-sbm.cc \
-  operators/op-scm-cm.cc \
-  operators/op-scm-cs.cc \
-  operators/op-scm-m.cc \
-  operators/op-scm-s.cc \
-  operators/op-scm-scm.cc \
-  operators/op-scm-sm.cc \
-  operators/op-sm-cm.cc \
-  operators/op-sm-cs.cc \
-  operators/op-sm-m.cc \
-  operators/op-sm-s.cc \
-  operators/op-sm-scm.cc \
-  operators/op-sm-sm.cc \
-  operators/op-str-m.cc \
-  operators/op-str-s.cc \
-  operators/op-str-str.cc \
-  operators/op-struct.cc \
-  operators/op-ui16-ui16.cc \
-  operators/op-ui32-ui32.cc \
-  operators/op-ui64-ui64.cc \
-  operators/op-ui8-ui8.cc
+LIBINTERP_OPERATORS_SRC = \
+  libinterp/operators/op-b-b.cc \
+  libinterp/operators/op-b-bm.cc \
+  libinterp/operators/op-b-sbm.cc \
+  libinterp/operators/op-bm-b.cc \
+  libinterp/operators/op-bm-bm.cc \
+  libinterp/operators/op-bm-sbm.cc \
+  libinterp/operators/op-cdm-cdm.cc \
+  libinterp/operators/op-cdm-cm.cc \
+  libinterp/operators/op-cdm-cs.cc \
+  libinterp/operators/op-cdm-dm.cc \
+  libinterp/operators/op-cdm-m.cc \
+  libinterp/operators/op-cdm-s.cc \
+  libinterp/operators/op-cell.cc \
+  libinterp/operators/op-chm.cc \
+  libinterp/operators/op-class.cc \
+  libinterp/operators/op-cm-cdm.cc \
+  libinterp/operators/op-cm-cm.cc \
+  libinterp/operators/op-cm-cs.cc \
+  libinterp/operators/op-cm-dm.cc \
+  libinterp/operators/op-cm-m.cc \
+  libinterp/operators/op-cm-pm.cc \
+  libinterp/operators/op-cm-s.cc \
+  libinterp/operators/op-cm-scm.cc \
+  libinterp/operators/op-cm-sm.cc \
+  libinterp/operators/op-cs-cm.cc \
+  libinterp/operators/op-cs-cs.cc \
+  libinterp/operators/op-cs-m.cc \
+  libinterp/operators/op-cs-s.cc \
+  libinterp/operators/op-cs-scm.cc \
+  libinterp/operators/op-cs-sm.cc \
+  libinterp/operators/op-dm-cdm.cc \
+  libinterp/operators/op-dm-cm.cc \
+  libinterp/operators/op-dm-cs.cc \
+  libinterp/operators/op-dm-dm.cc \
+  libinterp/operators/op-dm-m.cc \
+  libinterp/operators/op-dm-s.cc \
+  libinterp/operators/op-dm-scm.cc \
+  libinterp/operators/op-dm-sm.cc \
+  libinterp/operators/op-double-conv.cc \
+  libinterp/operators/op-fcdm-fcdm.cc \
+  libinterp/operators/op-fcdm-fcm.cc \
+  libinterp/operators/op-fcdm-fcs.cc \
+  libinterp/operators/op-fcdm-fdm.cc \
+  libinterp/operators/op-fcdm-fm.cc \
+  libinterp/operators/op-fcdm-fs.cc \
+  libinterp/operators/op-fcm-fcdm.cc \
+  libinterp/operators/op-fcm-fcm.cc \
+  libinterp/operators/op-fcm-fcs.cc \
+  libinterp/operators/op-fcm-fdm.cc \
+  libinterp/operators/op-fcm-fm.cc \
+  libinterp/operators/op-fcm-fs.cc \
+  libinterp/operators/op-fcm-pm.cc \
+  libinterp/operators/op-fcn.cc \
+  libinterp/operators/op-fcs-fcm.cc \
+  libinterp/operators/op-fcs-fcs.cc \
+  libinterp/operators/op-fcs-fm.cc \
+  libinterp/operators/op-fcs-fs.cc \
+  libinterp/operators/op-fdm-fcdm.cc \
+  libinterp/operators/op-fdm-fcm.cc \
+  libinterp/operators/op-fdm-fcs.cc \
+  libinterp/operators/op-fdm-fdm.cc \
+  libinterp/operators/op-fdm-fm.cc \
+  libinterp/operators/op-fdm-fs.cc \
+  libinterp/operators/op-float-conv.cc \
+  libinterp/operators/op-fm-fcdm.cc \
+  libinterp/operators/op-fm-fcm.cc \
+  libinterp/operators/op-fm-fcs.cc \
+  libinterp/operators/op-fm-fdm.cc \
+  libinterp/operators/op-fm-fm.cc \
+  libinterp/operators/op-fm-fs.cc \
+  libinterp/operators/op-fm-pm.cc \
+  libinterp/operators/op-fs-fcm.cc \
+  libinterp/operators/op-fs-fcs.cc \
+  libinterp/operators/op-fs-fm.cc \
+  libinterp/operators/op-fs-fs.cc \
+  libinterp/operators/op-i16-i16.cc \
+  libinterp/operators/op-i32-i32.cc \
+  libinterp/operators/op-i64-i64.cc \
+  libinterp/operators/op-i8-i8.cc \
+  libinterp/operators/op-int-concat.cc \
+  libinterp/operators/op-int-conv.cc \
+  libinterp/operators/op-m-cdm.cc \
+  libinterp/operators/op-m-cm.cc \
+  libinterp/operators/op-m-cs.cc \
+  libinterp/operators/op-m-dm.cc \
+  libinterp/operators/op-m-m.cc \
+  libinterp/operators/op-m-pm.cc \
+  libinterp/operators/op-m-s.cc \
+  libinterp/operators/op-m-scm.cc \
+  libinterp/operators/op-m-sm.cc \
+  libinterp/operators/op-pm-cm.cc \
+  libinterp/operators/op-pm-fcm.cc \
+  libinterp/operators/op-pm-fm.cc \
+  libinterp/operators/op-pm-m.cc \
+  libinterp/operators/op-pm-pm.cc \
+  libinterp/operators/op-pm-scm.cc \
+  libinterp/operators/op-pm-sm.cc \
+  libinterp/operators/op-range.cc \
+  libinterp/operators/op-s-cm.cc \
+  libinterp/operators/op-s-cs.cc \
+  libinterp/operators/op-s-m.cc \
+  libinterp/operators/op-s-s.cc \
+  libinterp/operators/op-s-scm.cc \
+  libinterp/operators/op-s-sm.cc \
+  libinterp/operators/op-sbm-b.cc \
+  libinterp/operators/op-sbm-bm.cc \
+  libinterp/operators/op-sbm-sbm.cc \
+  libinterp/operators/op-scm-cm.cc \
+  libinterp/operators/op-scm-cs.cc \
+  libinterp/operators/op-scm-m.cc \
+  libinterp/operators/op-scm-s.cc \
+  libinterp/operators/op-scm-scm.cc \
+  libinterp/operators/op-scm-sm.cc \
+  libinterp/operators/op-sm-cm.cc \
+  libinterp/operators/op-sm-cs.cc \
+  libinterp/operators/op-sm-m.cc \
+  libinterp/operators/op-sm-s.cc \
+  libinterp/operators/op-sm-scm.cc \
+  libinterp/operators/op-sm-sm.cc \
+  libinterp/operators/op-str-m.cc \
+  libinterp/operators/op-str-s.cc \
+  libinterp/operators/op-str-str.cc \
+  libinterp/operators/op-struct.cc \
+  libinterp/operators/op-ui16-ui16.cc \
+  libinterp/operators/op-ui32-ui32.cc \
+  libinterp/operators/op-ui64-ui64.cc \
+  libinterp/operators/op-ui8-ui8.cc
 
 ## These look like included header files to Autotools build process
-OPERATORS_INC = \
-  operators/op-dm-template.cc \
-  operators/op-dms-template.cc \
-  operators/op-int.h \
-  operators/op-pm-template.cc \
-  operators/ops.h
+LIBINTERP_OPERATORS_INC = \
+  libinterp/operators/op-dm-template.cc \
+  libinterp/operators/op-dms-template.cc \
+  libinterp/operators/op-int.h \
+  libinterp/operators/op-pm-template.cc \
+  libinterp/operators/ops.h
 
 ## Special rules for sources which must be built before rest of compilation.
-operators/ops.cc: $(OPERATORS_SRC) mkops
+libinterp/operators/ops.cc: $(LIBINTERP_OPERATORS_SRC) libinterp/mkops
 	$(AM_V_GEN)rm -f $@-t $@ && \
-	$(srcdir)/mkops $(OPERATORS_SRC) > $@-t && \
+	$(srcdir)/libinterp/mkops $(LIBINTERP_OPERATORS_SRC) > $@-t && \
 	mv $@-t $@
-
--- a/libinterp/parse-tree/module.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/libinterp/parse-tree/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -1,81 +1,81 @@
 EXTRA_DIST += \
-  parse-tree/module.mk \
-  parse-tree/oct-parse.in.yy \
-  parse-tree/octave.gperf
+  libinterp/parse-tree/module.mk \
+  libinterp/parse-tree/oct-parse.in.yy \
+  libinterp/parse-tree/octave.gperf
 
 PARSER_INC = \
-  parse-tree/lex.h \
-  parse-tree/parse.h
+  libinterp/parse-tree/lex.h \
+  libinterp/parse-tree/parse.h
 
 PARSER_SRC = \
-  parse-tree/lex.ll \
-  parse-tree/oct-parse.yy
+  libinterp/parse-tree/lex.ll \
+  libinterp/parse-tree/oct-parse.yy
 
 PARSE_TREE_INC = \
-  parse-tree/pt-all.h \
-  parse-tree/pt-arg-list.h \
-  parse-tree/pt-array-list.h \
-  parse-tree/pt-assign.h \
-  parse-tree/pt-binop.h \
-  parse-tree/pt-bp.h \
-  parse-tree/pt-cbinop.h \
-  parse-tree/pt-cell.h \
-  parse-tree/pt-check.h \
-  parse-tree/pt-classdef.h \
-  parse-tree/pt-cmd.h \
-  parse-tree/pt-colon.h \
-  parse-tree/pt-const.h \
-  parse-tree/pt-decl.h \
-  parse-tree/pt-eval.h \
-  parse-tree/pt-except.h \
-  parse-tree/pt-exp.h \
-  parse-tree/pt-fcn-handle.h \
-  parse-tree/pt-funcall.h \
-  parse-tree/pt-id.h \
-  parse-tree/pt-idx.h \
-  parse-tree/pt-jump.h \
-  parse-tree/pt-loop.h \
-  parse-tree/pt-mat.h \
-  parse-tree/pt-misc.h \
-  parse-tree/pt-pr-code.h \
-  parse-tree/pt-select.h \
-  parse-tree/pt-stmt.h \
-  parse-tree/pt-unop.h \
-  parse-tree/pt-walk.h \
-  parse-tree/pt.h \
-  parse-tree/token.h
+  libinterp/parse-tree/pt-all.h \
+  libinterp/parse-tree/pt-arg-list.h \
+  libinterp/parse-tree/pt-array-list.h \
+  libinterp/parse-tree/pt-assign.h \
+  libinterp/parse-tree/pt-binop.h \
+  libinterp/parse-tree/pt-bp.h \
+  libinterp/parse-tree/pt-cbinop.h \
+  libinterp/parse-tree/pt-cell.h \
+  libinterp/parse-tree/pt-check.h \
+  libinterp/parse-tree/pt-classdef.h \
+  libinterp/parse-tree/pt-cmd.h \
+  libinterp/parse-tree/pt-colon.h \
+  libinterp/parse-tree/pt-const.h \
+  libinterp/parse-tree/pt-decl.h \
+  libinterp/parse-tree/pt-eval.h \
+  libinterp/parse-tree/pt-except.h \
+  libinterp/parse-tree/pt-exp.h \
+  libinterp/parse-tree/pt-fcn-handle.h \
+  libinterp/parse-tree/pt-funcall.h \
+  libinterp/parse-tree/pt-id.h \
+  libinterp/parse-tree/pt-idx.h \
+  libinterp/parse-tree/pt-jump.h \
+  libinterp/parse-tree/pt-loop.h \
+  libinterp/parse-tree/pt-mat.h \
+  libinterp/parse-tree/pt-misc.h \
+  libinterp/parse-tree/pt-pr-code.h \
+  libinterp/parse-tree/pt-select.h \
+  libinterp/parse-tree/pt-stmt.h \
+  libinterp/parse-tree/pt-unop.h \
+  libinterp/parse-tree/pt-walk.h \
+  libinterp/parse-tree/pt.h \
+  libinterp/parse-tree/token.h
 
 PARSE_TREE_SRC = \
-  parse-tree/pt-arg-list.cc \
-  parse-tree/pt-array-list.cc \
-  parse-tree/pt-assign.cc \
-  parse-tree/pt-binop.cc \
-  parse-tree/pt-bp.cc \
-  parse-tree/pt-cbinop.cc \
-  parse-tree/pt-cell.cc \
-  parse-tree/pt-check.cc \
-  parse-tree/pt-classdef.cc \
-  parse-tree/pt-cmd.cc \
-  parse-tree/pt-colon.cc \
-  parse-tree/pt-const.cc \
-  parse-tree/pt-decl.cc \
-  parse-tree/pt-eval.cc \
-  parse-tree/pt-except.cc \
-  parse-tree/pt-exp.cc \
-  parse-tree/pt-fcn-handle.cc \
-  parse-tree/pt-funcall.cc \
-  parse-tree/pt-id.cc \
-  parse-tree/pt-idx.cc \
-  parse-tree/pt-jump.cc \
-  parse-tree/pt-loop.cc \
-  parse-tree/pt-mat.cc \
-  parse-tree/pt-misc.cc \
-  parse-tree/pt-pr-code.cc \
-  parse-tree/pt-select.cc \
-  parse-tree/pt-stmt.cc \
-  parse-tree/pt-unop.cc \
-  parse-tree/pt.cc \
-  parse-tree/token.cc
+  libinterp/parse-tree/pt-arg-list.cc \
+  libinterp/parse-tree/pt-array-list.cc \
+  libinterp/parse-tree/pt-assign.cc \
+  libinterp/parse-tree/pt-binop.cc \
+  libinterp/parse-tree/pt-bp.cc \
+  libinterp/parse-tree/pt-cbinop.cc \
+  libinterp/parse-tree/pt-cell.cc \
+  libinterp/parse-tree/pt-check.cc \
+  libinterp/parse-tree/pt-classdef.cc \
+  libinterp/parse-tree/pt-cmd.cc \
+  libinterp/parse-tree/pt-colon.cc \
+  libinterp/parse-tree/pt-const.cc \
+  libinterp/parse-tree/pt-decl.cc \
+  libinterp/parse-tree/pt-eval.cc \
+  libinterp/parse-tree/pt-except.cc \
+  libinterp/parse-tree/pt-exp.cc \
+  libinterp/parse-tree/pt-fcn-handle.cc \
+  libinterp/parse-tree/pt-funcall.cc \
+  libinterp/parse-tree/pt-id.cc \
+  libinterp/parse-tree/pt-idx.cc \
+  libinterp/parse-tree/pt-jump.cc \
+  libinterp/parse-tree/pt-loop.cc \
+  libinterp/parse-tree/pt-mat.cc \
+  libinterp/parse-tree/pt-misc.cc \
+  libinterp/parse-tree/pt-pr-code.cc \
+  libinterp/parse-tree/pt-select.cc \
+  libinterp/parse-tree/pt-stmt.cc \
+  libinterp/parse-tree/pt-unop.cc \
+  libinterp/parse-tree/pt.cc \
+  libinterp/parse-tree/token.cc
 
 ## Special rules for sources which must be built before rest of compilation.
 
@@ -83,26 +83,34 @@
 ## is missing but sed is not, the exit status of the pipeline
 ## will still be success and we will end up creating an empty
 ## oct-gperf.h file.
-parse-tree/oct-gperf.h: parse-tree/octave.gperf
+libinterp/parse-tree/oct-gperf.h: libinterp/parse-tree/octave.gperf
 	$(AM_V_GEN)rm -f $@-t $@t1 $@ && \
 	$(GPERF) -t -C -D -G -L C++ -Z octave_kw_hash $< > $@-t1 && \
 	$(SED) 's,lookup\[,gperf_lookup[,' < $@-t1 > $@-t && \
 	mv $@-t $@ && \
 	rm -f $@-t1
 
-parse-tree/oct-parse.h: parse-tree/oct-parse.cc
+libinterp/parse-tree/oct-parse.h: libinterp/parse-tree/oct-parse.cc
 
-parse-tree/oct-parse.yy: parse-tree/oct-parse.in.yy
+libinterp/parse-tree/oct-parse.yy: libinterp/parse-tree/oct-parse.in.yy
 	$(AM_V_GEN)$(call subst-bison-api-decls,octave_)
 
 noinst_LTLIBRARIES += \
-  parse-tree/libparse-tree.la \
-  parse-tree/libparser.la
+  libinterp/parse-tree/libparse-tree.la \
+  libinterp/parse-tree/libparser.la
+
+libinterp_parse_tree_libparse_tree_la_SOURCES = $(PARSE_TREE_SRC)
+
+libinterp_parse_tree_libparse_tree_la_CPPFLAGS = $(libinterp_liboctinterp_la_CPPFLAGS)
 
-parse_tree_libparse_tree_la_SOURCES = $(PARSE_TREE_SRC)
-parse_tree_libparse_tree_la_CPPFLAGS = $(liboctinterp_la_CPPFLAGS)
+libinterp_parse_tree_libparse_tree_la_CFLAGS = $(AM_CFLAGS)	\
+$(WARN_CFLAGS)
+
+libinterp_parse_tree_libparse_tree_la_CXXFLAGS = $(AM_CXXFLAGS) $(WARN_CXXFLAGS)
 
-parse_tree_libparser_la_SOURCES = $(PARSER_SRC)
-parse_tree_libparser_la_CPPFLAGS = $(liboctinterp_la_CPPFLAGS)
-parse_tree_libparser_la_CXXFLAGS = \
+libinterp_parse_tree_libparser_la_SOURCES = $(PARSER_SRC)
+
+libinterp_parse_tree_libparser_la_CPPFLAGS = $(libinterp_liboctinterp_la_CPPFLAGS)
+
+libinterp_parse_tree_libparser_la_CXXFLAGS = \
   $(filter-out -Wold-style-cast, $(AM_CXXFLAGS))
--- a/libinterp/template-inst/module.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/libinterp/template-inst/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -1,6 +1,6 @@
-EXTRA_DIST += template-inst/module.mk
+EXTRA_DIST += libinterp/template-inst/module.mk
 
 TEMPLATE_INST_SRC = \
-  template-inst/Array-os.cc \
-  template-inst/Array-tc.cc \
-  template-inst/Array-jit.cc
+  libinterp/template-inst/Array-os.cc \
+  libinterp/template-inst/Array-tc.cc \
+  libinterp/template-inst/Array-jit.cc
--- a/liboctave/Makefile.am	Thu Jul 09 13:55:58 2015 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +0,0 @@
-# Makefile for Octave's liboctave directory
-#
-# Copyright (C) 1993-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
-
-## Search local directories before those specified by the user.
-AM_CPPFLAGS = \
-  -I$(srcdir)/array \
-  -I$(srcdir)/cruft/misc \
-  -Inumeric -I$(srcdir)/numeric \
-  -Ioperators -I$(srcdir)/operators \
-  -I$(srcdir)/system \
-  -I$(srcdir)/util \
-  -I$(top_builddir)/libgnu -I$(top_srcdir)/libgnu
-
-AM_CFLAGS += $(WARN_CFLAGS)
-
-AM_CXXFLAGS += $(WARN_CXXFLAGS)
-
-octlib_LTLIBRARIES = liboctave.la
-
-EXTRA_DIST =
-
-DISTCLEANFILES =
-
-BUILT_INCS = \
-  operators/mx-ops.h \
-  $(OPT_INC) \
-  $(MX_OP_INC) \
-  $(VX_OP_INC) \
-  $(SMX_OP_INC)
-
-BUILT_SOURCES = $(BUILT_INCS)
-
-octinclude_HEADERS = \
-  $(ARRAY_INC) \
-  $(CRUFT_INC) \
-  $(NUMERIC_INC) \
-  $(OPERATORS_INC) \
-  $(SYSTEM_INC) \
-  $(UTIL_INC) \
-  $(OTHER_INC) \
-  $(TEMPLATE_SRC)
-
-nodist_octinclude_HEADERS = \
-  $(BUILT_INCS)
-
-noinst_LTLIBRARIES =
-
-## C++ files that are #included, not compiled
-OTHER_INC =
-
-## C++ files with templates that are #included, not compiled
-TEMPLATE_SRC =
-
-## A list of all files that could include tests
-
-liboctave_la_LIBADD =
-
-include array/module.mk
-include cruft/module.mk
-include numeric/module.mk
-include operators/module.mk
-include system/module.mk
-include util/module.mk
-
-## liboctave merely collects a bunch of compiled convenience libraries.
-## It has no source code itself.
-liboctave_la_SOURCES =
-
-liboctave_la_CPPFLAGS = @OCTAVE_DLL_DEFS@ @CRUFT_DLL_DEFS@ $(AM_CPPFLAGS)
-
-include link-deps.mk
-
-# Dummy C++ source to force C++ linking.
-nodist_EXTRA_liboctave_la_SOURCES = dummy.cc
-
-liboctave_la_LIBADD += \
-  $(top_builddir)/libgnu/libgnu.la \
-  $(LIBOCTAVE_LINK_DEPS)
-
-# Increment these as needed and according to the rules in the libtool manual:
-liboctave_current = 3
-liboctave_revision = 0
-liboctave_age = 0
-
-liboctave_version_info = $(liboctave_current):$(liboctave_revision):$(liboctave_age)
-
-liboctave_la_LDFLAGS = \
-  -version-info $(liboctave_version_info) \
-  $(NO_UNDEFINED_LDFLAG) \
-  @XTRA_CRUFT_SH_LDFLAGS@ \
-  -bindir $(bindir) \
-  $(LIBOCTAVE_LINK_OPTS)
-
-## Rules to build test files
-
-LIBOCTAVE_TST_SRC = \
-  $(array_libarray_la_SOURCES) \
-  $(numeric_libnumeric_la_SOURCES) \
-  $(system_libsystem_la_SOURCES) \
-  $(util_libutil_la_SOURCES) \
-  $(TEMPLATE_SRC)
-
-TST_FILES_SRC := $(shell $(top_srcdir)/build-aux/find-files-with-tests.sh "$(srcdir)" $(LIBOCTAVE_TST_SRC))
-
-TST_FILES := $(addsuffix -tst,$(TST_FILES_SRC))
-
-liboctavetestsdir := $(octtestsdir)/liboctave
-
-nobase_liboctavetests_DATA = $(TST_FILES)
-
-DISTCLEANFILES += \
-  $(BUILT_INCS) \
-  $(TST_FILES)
-
--- a/liboctave/array/module.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/liboctave/array/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -1,140 +1,145 @@
 EXTRA_DIST += \
-  array/module.mk
+  liboctave/array/module.mk
 
 ARRAY_INC = \
-  array/Array.h \
-  array/Array-util.h \
-  array/boolMatrix.h \
-  array/boolNDArray.h \
-  array/boolSparse.h \
-  array/CColVector.h \
-  array/CDiagMatrix.h \
-  array/chMatrix.h \
-  array/chNDArray.h \
-  array/CMatrix.h \
-  array/CNDArray.h \
-  array/CRowVector.h \
-  array/CSparse.h \
-  array/dColVector.h \
-  array/dDiagMatrix.h \
-  array/DiagArray2.h \
-  array/dim-vector.h \
-  array/dMatrix.h \
-  array/dNDArray.h \
-  array/dRowVector.h \
-  array/dSparse.h \
-  array/fCColVector.h \
-  array/fCDiagMatrix.h \
-  array/fCMatrix.h \
-  array/fCNDArray.h \
-  array/fColVector.h \
-  array/fCRowVector.h \
-  array/fDiagMatrix.h \
-  array/fMatrix.h \
-  array/fNDArray.h \
-  array/fRowVector.h \
-  array/idx-vector.h \
-  array/int16NDArray.h \
-  array/int32NDArray.h \
-  array/int64NDArray.h \
-  array/int8NDArray.h \
-  array/intNDArray.h \
-  array/MArray-decl.h \
-  array/MArray-defs.h \
-  array/MArray.h \
-  array/Matrix.h \
-  array/MatrixType.h \
-  array/MDiagArray2.h \
-  array/MSparse-defs.h \
-  array/MSparse.h \
-  array/PermMatrix.h \
-  array/Range.h \
-  array/Sparse.h \
-  array/uint16NDArray.h \
-  array/uint32NDArray.h \
-  array/uint64NDArray.h \
-  array/uint8NDArray.h
+  liboctave/array/Array.h \
+  liboctave/array/Array-util.h \
+  liboctave/array/boolMatrix.h \
+  liboctave/array/boolNDArray.h \
+  liboctave/array/boolSparse.h \
+  liboctave/array/CColVector.h \
+  liboctave/array/CDiagMatrix.h \
+  liboctave/array/chMatrix.h \
+  liboctave/array/chNDArray.h \
+  liboctave/array/CMatrix.h \
+  liboctave/array/CNDArray.h \
+  liboctave/array/CRowVector.h \
+  liboctave/array/CSparse.h \
+  liboctave/array/dColVector.h \
+  liboctave/array/dDiagMatrix.h \
+  liboctave/array/DiagArray2.h \
+  liboctave/array/dim-vector.h \
+  liboctave/array/dMatrix.h \
+  liboctave/array/dNDArray.h \
+  liboctave/array/dRowVector.h \
+  liboctave/array/dSparse.h \
+  liboctave/array/fCColVector.h \
+  liboctave/array/fCDiagMatrix.h \
+  liboctave/array/fCMatrix.h \
+  liboctave/array/fCNDArray.h \
+  liboctave/array/fColVector.h \
+  liboctave/array/fCRowVector.h \
+  liboctave/array/fDiagMatrix.h \
+  liboctave/array/fMatrix.h \
+  liboctave/array/fNDArray.h \
+  liboctave/array/fRowVector.h \
+  liboctave/array/idx-vector.h \
+  liboctave/array/int16NDArray.h \
+  liboctave/array/int32NDArray.h \
+  liboctave/array/int64NDArray.h \
+  liboctave/array/int8NDArray.h \
+  liboctave/array/intNDArray.h \
+  liboctave/array/MArray-decl.h \
+  liboctave/array/MArray-defs.h \
+  liboctave/array/MArray.h \
+  liboctave/array/Matrix.h \
+  liboctave/array/MatrixType.h \
+  liboctave/array/MDiagArray2.h \
+  liboctave/array/MSparse-defs.h \
+  liboctave/array/MSparse.h \
+  liboctave/array/PermMatrix.h \
+  liboctave/array/Range.h \
+  liboctave/array/Sparse.h \
+  liboctave/array/uint16NDArray.h \
+  liboctave/array/uint32NDArray.h \
+  liboctave/array/uint64NDArray.h \
+  liboctave/array/uint8NDArray.h
 
 ARRAY_SRC = \
-  array/Array-b.cc \
-  array/Array-C.cc \
-  array/Array-ch.cc \
-  array/Array-d.cc \
-  array/Array-f.cc \
-  array/Array-fC.cc \
-  array/Array-i.cc \
-  array/Array-idx-vec.cc \
-  array/Array-s.cc \
-  array/Array-str.cc \
-  array/Array-util.cc \
-  array/Array-voidp.cc \
-  array/boolMatrix.cc \
-  array/boolNDArray.cc \
-  array/boolSparse.cc \
-  array/CColVector.cc \
-  array/CDiagMatrix.cc \
-  array/chMatrix.cc \
-  array/chNDArray.cc \
-  array/CMatrix.cc \
-  array/CNDArray.cc \
-  array/CRowVector.cc \
-  array/CSparse.cc \
-  array/dColVector.cc \
-  array/dDiagMatrix.cc \
-  array/dim-vector.cc \
-  array/dMatrix.cc \
-  array/dNDArray.cc \
-  array/dRowVector.cc \
-  array/dSparse.cc \
-  array/fCColVector.cc \
-  array/fCDiagMatrix.cc \
-  array/fCMatrix.cc \
-  array/fCNDArray.cc \
-  array/fColVector.cc \
-  array/fCRowVector.cc \
-  array/fDiagMatrix.cc \
-  array/fMatrix.cc \
-  array/fNDArray.cc \
-  array/fRowVector.cc \
-  array/idx-vector.cc \
-  array/int16NDArray.cc \
-  array/int32NDArray.cc \
-  array/int64NDArray.cc \
-  array/int8NDArray.cc \
-  array/MArray-C.cc \
-  array/MArray-d.cc \
-  array/MArray-f.cc \
-  array/MArray-fC.cc \
-  array/MArray-i.cc \
-  array/MArray-s.cc \
-  array/MatrixType.cc \
-  array/MSparse-C.cc \
-  array/MSparse-d.cc \
-  array/PermMatrix.cc \
-  array/Range.cc \
-  array/Sparse-b.cc \
-  array/Sparse-C.cc \
-  array/Sparse-d.cc \
-  array/uint16NDArray.cc \
-  array/uint32NDArray.cc \
-  array/uint64NDArray.cc \
-  array/uint8NDArray.cc
+  liboctave/array/Array-b.cc \
+  liboctave/array/Array-C.cc \
+  liboctave/array/Array-ch.cc \
+  liboctave/array/Array-d.cc \
+  liboctave/array/Array-f.cc \
+  liboctave/array/Array-fC.cc \
+  liboctave/array/Array-i.cc \
+  liboctave/array/Array-idx-vec.cc \
+  liboctave/array/Array-s.cc \
+  liboctave/array/Array-str.cc \
+  liboctave/array/Array-util.cc \
+  liboctave/array/Array-voidp.cc \
+  liboctave/array/boolMatrix.cc \
+  liboctave/array/boolNDArray.cc \
+  liboctave/array/boolSparse.cc \
+  liboctave/array/CColVector.cc \
+  liboctave/array/CDiagMatrix.cc \
+  liboctave/array/chMatrix.cc \
+  liboctave/array/chNDArray.cc \
+  liboctave/array/CMatrix.cc \
+  liboctave/array/CNDArray.cc \
+  liboctave/array/CRowVector.cc \
+  liboctave/array/CSparse.cc \
+  liboctave/array/dColVector.cc \
+  liboctave/array/dDiagMatrix.cc \
+  liboctave/array/dim-vector.cc \
+  liboctave/array/dMatrix.cc \
+  liboctave/array/dNDArray.cc \
+  liboctave/array/dRowVector.cc \
+  liboctave/array/dSparse.cc \
+  liboctave/array/fCColVector.cc \
+  liboctave/array/fCDiagMatrix.cc \
+  liboctave/array/fCMatrix.cc \
+  liboctave/array/fCNDArray.cc \
+  liboctave/array/fColVector.cc \
+  liboctave/array/fCRowVector.cc \
+  liboctave/array/fDiagMatrix.cc \
+  liboctave/array/fMatrix.cc \
+  liboctave/array/fNDArray.cc \
+  liboctave/array/fRowVector.cc \
+  liboctave/array/idx-vector.cc \
+  liboctave/array/int16NDArray.cc \
+  liboctave/array/int32NDArray.cc \
+  liboctave/array/int64NDArray.cc \
+  liboctave/array/int8NDArray.cc \
+  liboctave/array/MArray-C.cc \
+  liboctave/array/MArray-d.cc \
+  liboctave/array/MArray-f.cc \
+  liboctave/array/MArray-fC.cc \
+  liboctave/array/MArray-i.cc \
+  liboctave/array/MArray-s.cc \
+  liboctave/array/MatrixType.cc \
+  liboctave/array/MSparse-C.cc \
+  liboctave/array/MSparse-d.cc \
+  liboctave/array/PermMatrix.cc \
+  liboctave/array/Range.cc \
+  liboctave/array/Sparse-b.cc \
+  liboctave/array/Sparse-C.cc \
+  liboctave/array/Sparse-d.cc \
+  liboctave/array/uint16NDArray.cc \
+  liboctave/array/uint32NDArray.cc \
+  liboctave/array/uint64NDArray.cc \
+  liboctave/array/uint8NDArray.cc
 
-TEMPLATE_SRC += \
-  array/Array.cc \
-  array/DiagArray2.cc \
-  array/intNDArray.cc \
-  array/MArray.cc \
-  array/MDiagArray2.cc \
-  array/MSparse.cc \
-  array/Sparse.cc
+LIBOCTAVE_TEMPLATE_SRC += \
+  liboctave/array/Array.cc \
+  liboctave/array/DiagArray2.cc \
+  liboctave/array/intNDArray.cc \
+  liboctave/array/MArray.cc \
+  liboctave/array/MDiagArray2.cc \
+  liboctave/array/MSparse.cc \
+  liboctave/array/Sparse.cc
 
-noinst_LTLIBRARIES += array/libarray.la
+noinst_LTLIBRARIES += liboctave/array/libarray.la
 
-array_libarray_la_SOURCES = $(ARRAY_SRC)
-array_libarray_la_CPPFLAGS = \
-  $(liboctave_la_CPPFLAGS) \
+liboctave_array_libarray_la_SOURCES = $(ARRAY_SRC)
+
+liboctave_array_libarray_la_CPPFLAGS = \
+  $(liboctave_liboctave_la_CPPFLAGS) \
   $(FFTW_XCPPFLAGS) \
   $(SPARSE_XCPPFLAGS)
 
-liboctave_la_LIBADD += array/libarray.la
+liboctave_array_libarray_la_CFLAGS = $(liboctave_liboctave_la_CFLAGS)
+
+liboctave_array_libarray_la_CXXFLAGS = $(liboctave_liboctave_la_CXXFLAGS)
+
+liboctave_liboctave_la_LIBADD += liboctave/array/libarray.la
--- a/liboctave/cruft/Faddeeva/module.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/liboctave/cruft/Faddeeva/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -1,5 +1,5 @@
-EXTRA_DIST += cruft/Faddeeva/module.mk
+EXTRA_DIST += liboctave/cruft/Faddeeva/module.mk
 
 CRUFT_SOURCES += \
-  cruft/Faddeeva/Faddeeva.cc \
-  cruft/Faddeeva/Faddeeva.hh
+  liboctave/cruft/Faddeeva/Faddeeva.cc \
+  liboctave/cruft/Faddeeva/Faddeeva.hh
--- a/liboctave/cruft/amos/module.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/liboctave/cruft/amos/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -1,69 +1,69 @@
-EXTRA_DIST += cruft/amos/module.mk
+EXTRA_DIST += liboctave/cruft/amos/module.mk
 
 CRUFT_SOURCES += \
-  cruft/amos/cacai.f \
-  cruft/amos/cacon.f \
-  cruft/amos/cbesh.f \
-  cruft/amos/cbesi.f \
-  cruft/amos/cbesj.f \
-  cruft/amos/cbesk.f \
-  cruft/amos/cbesy.f \
-  cruft/amos/cbinu.f \
-  cruft/amos/cbuni.f \
-  cruft/amos/cbunk.f \
-  cruft/amos/cunk1.f \
-  cruft/amos/cunk2.f \
-  cruft/amos/crati.f \
-  cruft/amos/cshch.f \
-  cruft/amos/cuni1.f \
-  cruft/amos/cuoik.f \
-  cruft/amos/cairy.f \
-  cruft/amos/cbiry.f \
-  cruft/amos/ckscl.f \
-  cruft/amos/cs1s2.f \
-  cruft/amos/cuchk.f \
-  cruft/amos/cuni2.f \
-  cruft/amos/cwrsk.f \
-  cruft/amos/casyi.f \
-  cruft/amos/cbknu.f \
-  cruft/amos/cmlri.f \
-  cruft/amos/cseri.f \
-  cruft/amos/cunhj.f \
-  cruft/amos/cunik.f \
-  cruft/amos/dgamln.f \
-  cruft/amos/gamln.f \
-  cruft/amos/xzabs.f \
-  cruft/amos/xzexp.f \
-  cruft/amos/xzlog.f \
-  cruft/amos/xzsqrt.f \
-  cruft/amos/zacai.f \
-  cruft/amos/zacon.f \
-  cruft/amos/zairy.f \
-  cruft/amos/zasyi.f \
-  cruft/amos/zbesh.f \
-  cruft/amos/zbesi.f \
-  cruft/amos/zbesj.f \
-  cruft/amos/zbesk.f \
-  cruft/amos/zbesy.f \
-  cruft/amos/zbinu.f \
-  cruft/amos/zbiry.f \
-  cruft/amos/zbknu.f \
-  cruft/amos/zbuni.f \
-  cruft/amos/zbunk.f \
-  cruft/amos/zdiv.f \
-  cruft/amos/zkscl.f \
-  cruft/amos/zmlri.f \
-  cruft/amos/zmlt.f \
-  cruft/amos/zrati.f \
-  cruft/amos/zs1s2.f \
-  cruft/amos/zseri.f \
-  cruft/amos/zshch.f \
-  cruft/amos/zuchk.f \
-  cruft/amos/zunhj.f \
-  cruft/amos/zuni1.f \
-  cruft/amos/zuni2.f \
-  cruft/amos/zunik.f \
-  cruft/amos/zunk1.f \
-  cruft/amos/zunk2.f \
-  cruft/amos/zuoik.f \
-  cruft/amos/zwrsk.f
+  liboctave/cruft/amos/cacai.f \
+  liboctave/cruft/amos/cacon.f \
+  liboctave/cruft/amos/cbesh.f \
+  liboctave/cruft/amos/cbesi.f \
+  liboctave/cruft/amos/cbesj.f \
+  liboctave/cruft/amos/cbesk.f \
+  liboctave/cruft/amos/cbesy.f \
+  liboctave/cruft/amos/cbinu.f \
+  liboctave/cruft/amos/cbuni.f \
+  liboctave/cruft/amos/cbunk.f \
+  liboctave/cruft/amos/cunk1.f \
+  liboctave/cruft/amos/cunk2.f \
+  liboctave/cruft/amos/crati.f \
+  liboctave/cruft/amos/cshch.f \
+  liboctave/cruft/amos/cuni1.f \
+  liboctave/cruft/amos/cuoik.f \
+  liboctave/cruft/amos/cairy.f \
+  liboctave/cruft/amos/cbiry.f \
+  liboctave/cruft/amos/ckscl.f \
+  liboctave/cruft/amos/cs1s2.f \
+  liboctave/cruft/amos/cuchk.f \
+  liboctave/cruft/amos/cuni2.f \
+  liboctave/cruft/amos/cwrsk.f \
+  liboctave/cruft/amos/casyi.f \
+  liboctave/cruft/amos/cbknu.f \
+  liboctave/cruft/amos/cmlri.f \
+  liboctave/cruft/amos/cseri.f \
+  liboctave/cruft/amos/cunhj.f \
+  liboctave/cruft/amos/cunik.f \
+  liboctave/cruft/amos/dgamln.f \
+  liboctave/cruft/amos/gamln.f \
+  liboctave/cruft/amos/xzabs.f \
+  liboctave/cruft/amos/xzexp.f \
+  liboctave/cruft/amos/xzlog.f \
+  liboctave/cruft/amos/xzsqrt.f \
+  liboctave/cruft/amos/zacai.f \
+  liboctave/cruft/amos/zacon.f \
+  liboctave/cruft/amos/zairy.f \
+  liboctave/cruft/amos/zasyi.f \
+  liboctave/cruft/amos/zbesh.f \
+  liboctave/cruft/amos/zbesi.f \
+  liboctave/cruft/amos/zbesj.f \
+  liboctave/cruft/amos/zbesk.f \
+  liboctave/cruft/amos/zbesy.f \
+  liboctave/cruft/amos/zbinu.f \
+  liboctave/cruft/amos/zbiry.f \
+  liboctave/cruft/amos/zbknu.f \
+  liboctave/cruft/amos/zbuni.f \
+  liboctave/cruft/amos/zbunk.f \
+  liboctave/cruft/amos/zdiv.f \
+  liboctave/cruft/amos/zkscl.f \
+  liboctave/cruft/amos/zmlri.f \
+  liboctave/cruft/amos/zmlt.f \
+  liboctave/cruft/amos/zrati.f \
+  liboctave/cruft/amos/zs1s2.f \
+  liboctave/cruft/amos/zseri.f \
+  liboctave/cruft/amos/zshch.f \
+  liboctave/cruft/amos/zuchk.f \
+  liboctave/cruft/amos/zunhj.f \
+  liboctave/cruft/amos/zuni1.f \
+  liboctave/cruft/amos/zuni2.f \
+  liboctave/cruft/amos/zunik.f \
+  liboctave/cruft/amos/zunk1.f \
+  liboctave/cruft/amos/zunk2.f \
+  liboctave/cruft/amos/zuoik.f \
+  liboctave/cruft/amos/zwrsk.f
--- a/liboctave/cruft/blas-xtra/module.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/liboctave/cruft/blas-xtra/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -1,28 +1,28 @@
-EXTRA_DIST += cruft/blas-xtra/module.mk
+EXTRA_DIST += liboctave/cruft/blas-xtra/module.mk
 
 CRUFT_SOURCES += \
-  cruft/blas-xtra/ddot3.f \
-  cruft/blas-xtra/zdotc3.f \
-  cruft/blas-xtra/sdot3.f \
-  cruft/blas-xtra/cdotc3.f \
-  cruft/blas-xtra/dmatm3.f \
-  cruft/blas-xtra/zmatm3.f \
-  cruft/blas-xtra/smatm3.f \
-  cruft/blas-xtra/cmatm3.f \
-  cruft/blas-xtra/xddot.f \
-  cruft/blas-xtra/xdnrm2.f \
-  cruft/blas-xtra/xdznrm2.f \
-  cruft/blas-xtra/xzdotc.f \
-  cruft/blas-xtra/xzdotu.f \
-  cruft/blas-xtra/xsdot.f \
-  cruft/blas-xtra/xsnrm2.f \
-  cruft/blas-xtra/xscnrm2.f \
-  cruft/blas-xtra/xcdotc.f \
-  cruft/blas-xtra/xcdotu.f \
-  cruft/blas-xtra/xerbla.f \
-  cruft/blas-xtra/cconv2.f \
-  cruft/blas-xtra/csconv2.f \
-  cruft/blas-xtra/dconv2.f \
-  cruft/blas-xtra/sconv2.f \
-  cruft/blas-xtra/zconv2.f \
-  cruft/blas-xtra/zdconv2.f
+  liboctave/cruft/blas-xtra/ddot3.f \
+  liboctave/cruft/blas-xtra/zdotc3.f \
+  liboctave/cruft/blas-xtra/sdot3.f \
+  liboctave/cruft/blas-xtra/cdotc3.f \
+  liboctave/cruft/blas-xtra/dmatm3.f \
+  liboctave/cruft/blas-xtra/zmatm3.f \
+  liboctave/cruft/blas-xtra/smatm3.f \
+  liboctave/cruft/blas-xtra/cmatm3.f \
+  liboctave/cruft/blas-xtra/xddot.f \
+  liboctave/cruft/blas-xtra/xdnrm2.f \
+  liboctave/cruft/blas-xtra/xdznrm2.f \
+  liboctave/cruft/blas-xtra/xzdotc.f \
+  liboctave/cruft/blas-xtra/xzdotu.f \
+  liboctave/cruft/blas-xtra/xsdot.f \
+  liboctave/cruft/blas-xtra/xsnrm2.f \
+  liboctave/cruft/blas-xtra/xscnrm2.f \
+  liboctave/cruft/blas-xtra/xcdotc.f \
+  liboctave/cruft/blas-xtra/xcdotu.f \
+  liboctave/cruft/blas-xtra/xerbla.f \
+  liboctave/cruft/blas-xtra/cconv2.f \
+  liboctave/cruft/blas-xtra/csconv2.f \
+  liboctave/cruft/blas-xtra/dconv2.f \
+  liboctave/cruft/blas-xtra/sconv2.f \
+  liboctave/cruft/blas-xtra/zconv2.f \
+  liboctave/cruft/blas-xtra/zdconv2.f
--- a/liboctave/cruft/daspk/module.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/liboctave/cruft/daspk/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -1,31 +1,31 @@
-EXTRA_DIST += cruft/daspk/module.mk
+EXTRA_DIST += liboctave/cruft/daspk/module.mk
 
 CRUFT_SOURCES += \
-  cruft/daspk/datv.f \
-  cruft/daspk/dcnst0.f \
-  cruft/daspk/dcnstr.f \
-  cruft/daspk/ddasic.f \
-  cruft/daspk/ddasid.f \
-  cruft/daspk/ddasik.f \
-  cruft/daspk/ddaspk.f \
-  cruft/daspk/ddstp.f \
-  cruft/daspk/ddwnrm.f \
-  cruft/daspk/dfnrmd.f \
-  cruft/daspk/dfnrmk.f \
-  cruft/daspk/dhels.f \
-  cruft/daspk/dheqr.f \
-  cruft/daspk/dinvwt.f \
-  cruft/daspk/dlinsd.f \
-  cruft/daspk/dlinsk.f \
-  cruft/daspk/dmatd.f \
-  cruft/daspk/dnedd.f \
-  cruft/daspk/dnedk.f \
-  cruft/daspk/dnsd.f \
-  cruft/daspk/dnsid.f \
-  cruft/daspk/dnsik.f \
-  cruft/daspk/dnsk.f \
-  cruft/daspk/dorth.f \
-  cruft/daspk/dslvd.f \
-  cruft/daspk/dslvk.f \
-  cruft/daspk/dspigm.f \
-  cruft/daspk/dyypnw.f
+  liboctave/cruft/daspk/datv.f \
+  liboctave/cruft/daspk/dcnst0.f \
+  liboctave/cruft/daspk/dcnstr.f \
+  liboctave/cruft/daspk/ddasic.f \
+  liboctave/cruft/daspk/ddasid.f \
+  liboctave/cruft/daspk/ddasik.f \
+  liboctave/cruft/daspk/ddaspk.f \
+  liboctave/cruft/daspk/ddstp.f \
+  liboctave/cruft/daspk/ddwnrm.f \
+  liboctave/cruft/daspk/dfnrmd.f \
+  liboctave/cruft/daspk/dfnrmk.f \
+  liboctave/cruft/daspk/dhels.f \
+  liboctave/cruft/daspk/dheqr.f \
+  liboctave/cruft/daspk/dinvwt.f \
+  liboctave/cruft/daspk/dlinsd.f \
+  liboctave/cruft/daspk/dlinsk.f \
+  liboctave/cruft/daspk/dmatd.f \
+  liboctave/cruft/daspk/dnedd.f \
+  liboctave/cruft/daspk/dnedk.f \
+  liboctave/cruft/daspk/dnsd.f \
+  liboctave/cruft/daspk/dnsid.f \
+  liboctave/cruft/daspk/dnsik.f \
+  liboctave/cruft/daspk/dnsk.f \
+  liboctave/cruft/daspk/dorth.f \
+  liboctave/cruft/daspk/dslvd.f \
+  liboctave/cruft/daspk/dslvk.f \
+  liboctave/cruft/daspk/dspigm.f \
+  liboctave/cruft/daspk/dyypnw.f
--- a/liboctave/cruft/dasrt/module.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/liboctave/cruft/dasrt/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -1,6 +1,6 @@
-EXTRA_DIST += cruft/dasrt/module.mk
+EXTRA_DIST += liboctave/cruft/dasrt/module.mk
 
 CRUFT_SOURCES += \
-  cruft/dasrt/ddasrt.f \
-  cruft/dasrt/drchek.f \
-  cruft/dasrt/droots.f
+  liboctave/cruft/dasrt/ddasrt.f \
+  liboctave/cruft/dasrt/drchek.f \
+  liboctave/cruft/dasrt/droots.f
--- a/liboctave/cruft/dassl/module.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/liboctave/cruft/dassl/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -1,11 +1,11 @@
-EXTRA_DIST += cruft/dassl/module.mk
+EXTRA_DIST += liboctave/cruft/dassl/module.mk
 
 CRUFT_SOURCES += \
-  cruft/dassl/ddaini.f \
-  cruft/dassl/ddajac.f \
-  cruft/dassl/ddanrm.f \
-  cruft/dassl/ddaslv.f \
-  cruft/dassl/ddassl.f \
-  cruft/dassl/ddastp.f \
-  cruft/dassl/ddatrp.f \
-  cruft/dassl/ddawts.f
+  liboctave/cruft/dassl/ddaini.f \
+  liboctave/cruft/dassl/ddajac.f \
+  liboctave/cruft/dassl/ddanrm.f \
+  liboctave/cruft/dassl/ddaslv.f \
+  liboctave/cruft/dassl/ddassl.f \
+  liboctave/cruft/dassl/ddastp.f \
+  liboctave/cruft/dassl/ddatrp.f \
+  liboctave/cruft/dassl/ddawts.f
--- a/liboctave/cruft/fftpack/module.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/liboctave/cruft/fftpack/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -1,40 +1,40 @@
 EXTRA_DIST += \
-  cruft/fftpack/module.mk \
-  cruft/fftpack/fftpack.doc
+  liboctave/cruft/fftpack/module.mk \
+  liboctave/cruft/fftpack/fftpack.doc
 
 FFTPACK_SRC = \
-  cruft/fftpack/cfftb.f \
-  cruft/fftpack/cfftb1.f \
-  cruft/fftpack/cfftf.f \
-  cruft/fftpack/cfftf1.f \
-  cruft/fftpack/cffti.f \
-  cruft/fftpack/cffti1.f \
-  cruft/fftpack/passb.f \
-  cruft/fftpack/passb2.f \
-  cruft/fftpack/passb3.f \
-  cruft/fftpack/passb4.f \
-  cruft/fftpack/passb5.f \
-  cruft/fftpack/passf.f \
-  cruft/fftpack/passf2.f \
-  cruft/fftpack/passf3.f \
-  cruft/fftpack/passf4.f \
-  cruft/fftpack/passf5.f \
-  cruft/fftpack/zfftb.f \
-  cruft/fftpack/zfftb1.f \
-  cruft/fftpack/zfftf.f \
-  cruft/fftpack/zfftf1.f \
-  cruft/fftpack/zffti.f \
-  cruft/fftpack/zffti1.f \
-  cruft/fftpack/zpassb.f \
-  cruft/fftpack/zpassb2.f \
-  cruft/fftpack/zpassb3.f \
-  cruft/fftpack/zpassb4.f \
-  cruft/fftpack/zpassb5.f \
-  cruft/fftpack/zpassf.f \
-  cruft/fftpack/zpassf2.f \
-  cruft/fftpack/zpassf3.f \
-  cruft/fftpack/zpassf4.f \
-  cruft/fftpack/zpassf5.f
+  liboctave/cruft/fftpack/cfftb.f \
+  liboctave/cruft/fftpack/cfftb1.f \
+  liboctave/cruft/fftpack/cfftf.f \
+  liboctave/cruft/fftpack/cfftf1.f \
+  liboctave/cruft/fftpack/cffti.f \
+  liboctave/cruft/fftpack/cffti1.f \
+  liboctave/cruft/fftpack/passb.f \
+  liboctave/cruft/fftpack/passb2.f \
+  liboctave/cruft/fftpack/passb3.f \
+  liboctave/cruft/fftpack/passb4.f \
+  liboctave/cruft/fftpack/passb5.f \
+  liboctave/cruft/fftpack/passf.f \
+  liboctave/cruft/fftpack/passf2.f \
+  liboctave/cruft/fftpack/passf3.f \
+  liboctave/cruft/fftpack/passf4.f \
+  liboctave/cruft/fftpack/passf5.f \
+  liboctave/cruft/fftpack/zfftb.f \
+  liboctave/cruft/fftpack/zfftb1.f \
+  liboctave/cruft/fftpack/zfftf.f \
+  liboctave/cruft/fftpack/zfftf1.f \
+  liboctave/cruft/fftpack/zffti.f \
+  liboctave/cruft/fftpack/zffti1.f \
+  liboctave/cruft/fftpack/zpassb.f \
+  liboctave/cruft/fftpack/zpassb2.f \
+  liboctave/cruft/fftpack/zpassb3.f \
+  liboctave/cruft/fftpack/zpassb4.f \
+  liboctave/cruft/fftpack/zpassb5.f \
+  liboctave/cruft/fftpack/zpassf.f \
+  liboctave/cruft/fftpack/zpassf2.f \
+  liboctave/cruft/fftpack/zpassf3.f \
+  liboctave/cruft/fftpack/zpassf4.f \
+  liboctave/cruft/fftpack/zpassf5.f
 
 if AMCOND_HAVE_FFTW
   EXTRA_DIST += $(FFTPACK_SRC)
--- a/liboctave/cruft/lapack-xtra/module.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/liboctave/cruft/lapack-xtra/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -1,12 +1,12 @@
-EXTRA_DIST += cruft/lapack-xtra/module.mk
+EXTRA_DIST += liboctave/cruft/lapack-xtra/module.mk
 
 CRUFT_SOURCES += \
-  cruft/lapack-xtra/xclange.f \
-  cruft/lapack-xtra/xdlamch.f \
-  cruft/lapack-xtra/xdlange.f \
-  cruft/lapack-xtra/xilaenv.f \
-  cruft/lapack-xtra/xslamch.f \
-  cruft/lapack-xtra/xslange.f \
-  cruft/lapack-xtra/xzlange.f \
-  cruft/lapack-xtra/zrsf2csf.f \
-  cruft/lapack-xtra/crsf2csf.f
+  liboctave/cruft/lapack-xtra/xclange.f \
+  liboctave/cruft/lapack-xtra/xdlamch.f \
+  liboctave/cruft/lapack-xtra/xdlange.f \
+  liboctave/cruft/lapack-xtra/xilaenv.f \
+  liboctave/cruft/lapack-xtra/xslamch.f \
+  liboctave/cruft/lapack-xtra/xslange.f \
+  liboctave/cruft/lapack-xtra/xzlange.f \
+  liboctave/cruft/lapack-xtra/zrsf2csf.f \
+  liboctave/cruft/lapack-xtra/crsf2csf.f
--- a/liboctave/cruft/misc/module.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/liboctave/cruft/misc/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -1,19 +1,19 @@
 EXTRA_DIST += \
-  cruft/misc/module.mk \
-  cruft/misc/d1mach-tst.for
+  liboctave/cruft/misc/module.mk \
+  liboctave/cruft/misc/d1mach-tst.for
 
 CRUFT_SOURCES += \
-  cruft/misc/blaswrap.c \
-  cruft/misc/cquit.c \
-  cruft/misc/d1mach.f \
-  cruft/misc/f77-extern.cc \
-  cruft/misc/f77-fcn.c \
-  cruft/misc/i1mach.f \
-  cruft/misc/lo-error.c \
-  cruft/misc/quit.cc \
-  cruft/misc/r1mach.f
+  liboctave/cruft/misc/blaswrap.c \
+  liboctave/cruft/misc/cquit.c \
+  liboctave/cruft/misc/d1mach.f \
+  liboctave/cruft/misc/f77-extern.cc \
+  liboctave/cruft/misc/f77-fcn.c \
+  liboctave/cruft/misc/i1mach.f \
+  liboctave/cruft/misc/lo-error.c \
+  liboctave/cruft/misc/quit.cc \
+  liboctave/cruft/misc/r1mach.f
 
 CRUFT_INC += \
-  cruft/misc/f77-fcn.h \
-  cruft/misc/lo-error.h \
-  cruft/misc/quit.h
+  liboctave/cruft/misc/f77-fcn.h \
+  liboctave/cruft/misc/lo-error.h \
+  liboctave/cruft/misc/quit.h
--- a/liboctave/cruft/module.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/liboctave/cruft/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -1,51 +1,55 @@
-EXTRA_DIST += cruft/mkf77def.in
+EXTRA_DIST += liboctave/cruft/mkf77def.in
 
-nodist_cruft_libcruft_la_SOURCES =
+nodist_liboctave_cruft_libcruft_la_SOURCES =
 
-cruft_libcruft_la_FFLAGS = $(F77_INTEGER_8_FLAG)
+liboctave_cruft_libcruft_la_FFLAGS = $(F77_INTEGER_8_FLAG)
 
-cruft_libcruft_la_DEPENDENCIES = cruft/cruft.def
+liboctave_cruft_libcruft_la_DEPENDENCIES = liboctave/cruft/cruft.def
 
 CRUFT_INC =
 
 CRUFT_SOURCES =
 
-include cruft/amos/module.mk
-include cruft/blas-xtra/module.mk
-include cruft/daspk/module.mk
-include cruft/dasrt/module.mk
-include cruft/dassl/module.mk
-include cruft/Faddeeva/module.mk
-include cruft/fftpack/module.mk
-include cruft/lapack-xtra/module.mk
-include cruft/misc/module.mk
-include cruft/odepack/module.mk
-include cruft/ordered-qz/module.mk
-include cruft/quadpack/module.mk
-include cruft/ranlib/module.mk
-include cruft/slatec-err/module.mk
-include cruft/slatec-fn/module.mk
+include liboctave/cruft/amos/module.mk
+include liboctave/cruft/blas-xtra/module.mk
+include liboctave/cruft/daspk/module.mk
+include liboctave/cruft/dasrt/module.mk
+include liboctave/cruft/dassl/module.mk
+include liboctave/cruft/Faddeeva/module.mk
+include liboctave/cruft/fftpack/module.mk
+include liboctave/cruft/lapack-xtra/module.mk
+include liboctave/cruft/misc/module.mk
+include liboctave/cruft/odepack/module.mk
+include liboctave/cruft/ordered-qz/module.mk
+include liboctave/cruft/quadpack/module.mk
+include liboctave/cruft/ranlib/module.mk
+include liboctave/cruft/slatec-err/module.mk
+include liboctave/cruft/slatec-fn/module.mk
 
 define gen-cruft-def
   rm -f $@-t $@ && \
-  $(SHELL) cruft/mkf77def $(srcdir) $(cruft_libcruft_la_SOURCES) > $@-t && \
+  $(SHELL) liboctave/cruft/mkf77def $(top_srcdir) $(liboctave_cruft_libcruft_la_SOURCES) > $@-t && \
   mv $@-t $@
 endef
 
 ## Special rules for files which must be built before compilation
-cruft/cruft.def: $(cruft_libcruft_la_SOURCES) cruft/mkf77def
+liboctave/cruft/cruft.def: $(liboctave_cruft_libcruft_la_SOURCES) liboctave/cruft/mkf77def
 	$(AM_V_GEN)$(gen-cruft-def)
 
 DISTCLEANFILES += \
-  cruft/cruft.def \
-  cruft/mkf77def \
-  cruft/ranlib/ranlib.def \
-  $(nodist_cruft_libcruft_la_SOURCES)
+  liboctave/cruft/cruft.def \
+  liboctave/cruft/mkf77def \
+  liboctave/cruft/ranlib/ranlib.def \
+  $(nodist_liboctave_cruft_libcruft_la_SOURCES)
+
+noinst_LTLIBRARIES += liboctave/cruft/libcruft.la
 
-noinst_LTLIBRARIES += cruft/libcruft.la
+liboctave_cruft_libcruft_la_SOURCES = $(CRUFT_SOURCES)
+
+liboctave_cruft_libcruft_la_CPPFLAGS = $(liboctave_liboctave_la_CPPFLAGS)
 
-cruft_libcruft_la_SOURCES = $(CRUFT_SOURCES)
-cruft_libcruft_la_CPPFLAGS = \
-  $(liboctave_la_CPPFLAGS)
+liboctave_cruft_libcruft_la_CFLAGS = $(liboctave_liboctave_la_CFLAGS)
 
-liboctave_la_LIBADD += cruft/libcruft.la
+liboctave_cruft_libcruft_la_CXXFLAGS = $(liboctave_liboctave_la_CXXFLAGS)
+
+liboctave_liboctave_la_LIBADD += liboctave/cruft/libcruft.la
--- a/liboctave/cruft/odepack/module.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/liboctave/cruft/odepack/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -1,19 +1,19 @@
-EXTRA_DIST += cruft/odepack/module.mk
+EXTRA_DIST += liboctave/cruft/odepack/module.mk
 
 CRUFT_SOURCES += \
-  cruft/odepack/cfode.f \
-  cruft/odepack/dlsode.f \
-  cruft/odepack/ewset.f \
-  cruft/odepack/intdy.f \
-  cruft/odepack/prepj.f \
-  cruft/odepack/solsy.f \
-  cruft/odepack/stode.f \
-  cruft/odepack/vnorm.f \
-  cruft/odepack/scfode.f \
-  cruft/odepack/sewset.f \
-  cruft/odepack/sintdy.f \
-  cruft/odepack/slsode.f \
-  cruft/odepack/sprepj.f \
-  cruft/odepack/ssolsy.f \
-  cruft/odepack/sstode.f \
-  cruft/odepack/svnorm.f
+  liboctave/cruft/odepack/cfode.f \
+  liboctave/cruft/odepack/dlsode.f \
+  liboctave/cruft/odepack/ewset.f \
+  liboctave/cruft/odepack/intdy.f \
+  liboctave/cruft/odepack/prepj.f \
+  liboctave/cruft/odepack/solsy.f \
+  liboctave/cruft/odepack/stode.f \
+  liboctave/cruft/odepack/vnorm.f \
+  liboctave/cruft/odepack/scfode.f \
+  liboctave/cruft/odepack/sewset.f \
+  liboctave/cruft/odepack/sintdy.f \
+  liboctave/cruft/odepack/slsode.f \
+  liboctave/cruft/odepack/sprepj.f \
+  liboctave/cruft/odepack/ssolsy.f \
+  liboctave/cruft/odepack/sstode.f \
+  liboctave/cruft/odepack/svnorm.f
--- a/liboctave/cruft/ordered-qz/module.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/liboctave/cruft/ordered-qz/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -1,7 +1,7 @@
-EXTRA_DIST += cruft/ordered-qz/module.mk
+EXTRA_DIST += liboctave/cruft/ordered-qz/module.mk
 
 CRUFT_SOURCES += \
-  cruft/ordered-qz/dsubsp.f \
-  cruft/ordered-qz/exchqz.f \
-  cruft/ordered-qz/ssubsp.f \
-  cruft/ordered-qz/sexchqz.f
+  liboctave/cruft/ordered-qz/dsubsp.f \
+  liboctave/cruft/ordered-qz/exchqz.f \
+  liboctave/cruft/ordered-qz/ssubsp.f \
+  liboctave/cruft/ordered-qz/sexchqz.f
--- a/liboctave/cruft/quadpack/module.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/liboctave/cruft/quadpack/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -1,20 +1,20 @@
-EXTRA_DIST += cruft/quadpack/module.mk
+EXTRA_DIST += liboctave/cruft/quadpack/module.mk
 
 CRUFT_SOURCES += \
-  cruft/quadpack/dqagi.f \
-  cruft/quadpack/dqagie.f \
-  cruft/quadpack/dqagp.f \
-  cruft/quadpack/dqagpe.f \
-  cruft/quadpack/dqelg.f \
-  cruft/quadpack/dqk15i.f \
-  cruft/quadpack/dqk21.f \
-  cruft/quadpack/dqpsrt.f \
-  cruft/quadpack/qagie.f \
-  cruft/quadpack/qagi.f \
-  cruft/quadpack/qagpe.f \
-  cruft/quadpack/qagp.f \
-  cruft/quadpack/qelg.f \
-  cruft/quadpack/qk15i.f \
-  cruft/quadpack/qk21.f \
-  cruft/quadpack/qpsrt.f \
-  cruft/quadpack/xerror.f
+  liboctave/cruft/quadpack/dqagi.f \
+  liboctave/cruft/quadpack/dqagie.f \
+  liboctave/cruft/quadpack/dqagp.f \
+  liboctave/cruft/quadpack/dqagpe.f \
+  liboctave/cruft/quadpack/dqelg.f \
+  liboctave/cruft/quadpack/dqk15i.f \
+  liboctave/cruft/quadpack/dqk21.f \
+  liboctave/cruft/quadpack/dqpsrt.f \
+  liboctave/cruft/quadpack/qagie.f \
+  liboctave/cruft/quadpack/qagi.f \
+  liboctave/cruft/quadpack/qagpe.f \
+  liboctave/cruft/quadpack/qagp.f \
+  liboctave/cruft/quadpack/qelg.f \
+  liboctave/cruft/quadpack/qk15i.f \
+  liboctave/cruft/quadpack/qk21.f \
+  liboctave/cruft/quadpack/qpsrt.f \
+  liboctave/cruft/quadpack/xerror.f
--- a/liboctave/cruft/ranlib/module.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/liboctave/cruft/ranlib/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -1,67 +1,67 @@
 EXTRA_DIST += \
-  cruft/ranlib/module.mk \
-  cruft/ranlib/Basegen.doc \
-  cruft/ranlib/HOWTOGET \
-  cruft/ranlib/README \
-  cruft/ranlib/randlib.chs \
-  cruft/ranlib/randlib.fdoc \
-  cruft/ranlib/tstbot.for \
-  cruft/ranlib/tstgmn.for \
-  cruft/ranlib/tstmid.for
+  liboctave/cruft/ranlib/module.mk \
+  liboctave/cruft/ranlib/Basegen.doc \
+  liboctave/cruft/ranlib/HOWTOGET \
+  liboctave/cruft/ranlib/README \
+  liboctave/cruft/ranlib/randlib.chs \
+  liboctave/cruft/ranlib/randlib.fdoc \
+  liboctave/cruft/ranlib/tstbot.for \
+  liboctave/cruft/ranlib/tstgmn.for \
+  liboctave/cruft/ranlib/tstmid.for
 
 RANLIB_SRC = \
-  cruft/ranlib/advnst.f \
-  cruft/ranlib/genbet.f \
-  cruft/ranlib/genchi.f \
-  cruft/ranlib/genexp.f \
-  cruft/ranlib/genf.f \
-  cruft/ranlib/gengam.f \
-  cruft/ranlib/genmn.f \
-  cruft/ranlib/genmul.f \
-  cruft/ranlib/gennch.f \
-  cruft/ranlib/gennf.f \
-  cruft/ranlib/gennor.f \
-  cruft/ranlib/genprm.f \
-  cruft/ranlib/genunf.f \
-  cruft/ranlib/getcgn.f \
-  cruft/ranlib/getsd.f \
-  cruft/ranlib/ignbin.f \
-  cruft/ranlib/ignlgi.f \
-  cruft/ranlib/ignnbn.f \
-  cruft/ranlib/ignpoi.f \
-  cruft/ranlib/ignuin.f \
-  cruft/ranlib/initgn.f \
-  cruft/ranlib/inrgcm.f \
-  cruft/ranlib/lennob.f \
-  cruft/ranlib/mltmod.f \
-  cruft/ranlib/phrtsd.f \
-  cruft/ranlib/qrgnin.f \
-  cruft/ranlib/ranf.f \
-  cruft/ranlib/setall.f \
-  cruft/ranlib/setant.f \
-  cruft/ranlib/setgmn.f \
-  cruft/ranlib/setsd.f \
-  cruft/ranlib/sexpo.f \
-  cruft/ranlib/sgamma.f \
-  cruft/ranlib/snorm.f \
-  cruft/ranlib/wrap.f
+  liboctave/cruft/ranlib/advnst.f \
+  liboctave/cruft/ranlib/genbet.f \
+  liboctave/cruft/ranlib/genchi.f \
+  liboctave/cruft/ranlib/genexp.f \
+  liboctave/cruft/ranlib/genf.f \
+  liboctave/cruft/ranlib/gengam.f \
+  liboctave/cruft/ranlib/genmn.f \
+  liboctave/cruft/ranlib/genmul.f \
+  liboctave/cruft/ranlib/gennch.f \
+  liboctave/cruft/ranlib/gennf.f \
+  liboctave/cruft/ranlib/gennor.f \
+  liboctave/cruft/ranlib/genprm.f \
+  liboctave/cruft/ranlib/genunf.f \
+  liboctave/cruft/ranlib/getcgn.f \
+  liboctave/cruft/ranlib/getsd.f \
+  liboctave/cruft/ranlib/ignbin.f \
+  liboctave/cruft/ranlib/ignlgi.f \
+  liboctave/cruft/ranlib/ignnbn.f \
+  liboctave/cruft/ranlib/ignpoi.f \
+  liboctave/cruft/ranlib/ignuin.f \
+  liboctave/cruft/ranlib/initgn.f \
+  liboctave/cruft/ranlib/inrgcm.f \
+  liboctave/cruft/ranlib/lennob.f \
+  liboctave/cruft/ranlib/mltmod.f \
+  liboctave/cruft/ranlib/phrtsd.f \
+  liboctave/cruft/ranlib/qrgnin.f \
+  liboctave/cruft/ranlib/ranf.f \
+  liboctave/cruft/ranlib/setall.f \
+  liboctave/cruft/ranlib/setant.f \
+  liboctave/cruft/ranlib/setgmn.f \
+  liboctave/cruft/ranlib/setsd.f \
+  liboctave/cruft/ranlib/sexpo.f \
+  liboctave/cruft/ranlib/sgamma.f \
+  liboctave/cruft/ranlib/snorm.f \
+  liboctave/cruft/ranlib/wrap.f
 
-noinst_LTLIBRARIES += cruft/ranlib/libranlib.la
+noinst_LTLIBRARIES += liboctave/cruft/ranlib/libranlib.la
 
-cruft_ranlib_libranlib_la_SOURCES = $(RANLIB_SRC)
+liboctave_cruft_ranlib_libranlib_la_SOURCES = $(RANLIB_SRC)
 
-cruft_ranlib_libranlib_la_DEPENDENCIES = cruft/ranlib/ranlib.def
+liboctave_cruft_ranlib_libranlib_la_DEPENDENCIES = liboctave/cruft/ranlib/ranlib.def
 
 define gen-ranlib-def
   rm -f $@-t $@ && \
-  $(MKDIR_P) cruft/ranlib && \
-  $(SHELL) cruft/mkf77def $(srcdir) $(RANLIB_SRC) > $@-t && \
+  $(MKDIR_P) liboctave/cruft/ranlib && \
+  $(SHELL) liboctave/cruft/mkf77def $(srcdir)/liboctave $(RANLIB_SRC) > $@-t && \
   mv $@-t $@
 endef
 
 ## Special rules for files which must be built before compilation
 ## ranlib directory may not exist in VPATH build; create it if necessary.
-cruft/ranlib/ranlib.def: $(RANLIB_SRC) cruft/mkf77def
+liboctave/cruft/ranlib/ranlib.def: $(RANLIB_SRC) liboctave/cruft/mkf77def
 	$(AM_V_GEN)$(gen-ranlib-def)
 
-liboctave_la_LIBADD += cruft/ranlib/libranlib.la
+liboctave_liboctave_la_LIBADD += liboctave/cruft/ranlib/libranlib.la
--- a/liboctave/cruft/slatec-err/module.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/liboctave/cruft/slatec-err/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -1,17 +1,17 @@
-EXTRA_DIST += cruft/slatec-err/module.mk
+EXTRA_DIST += liboctave/cruft/slatec-err/module.mk
 
 CRUFT_SOURCES += \
-  cruft/slatec-err/fdump.f \
-  cruft/slatec-err/ixsav.f \
-  cruft/slatec-err/j4save.f \
-  cruft/slatec-err/xerclr.f \
-  cruft/slatec-err/xercnt.f \
-  cruft/slatec-err/xerhlt.f \
-  cruft/slatec-err/xermsg.f \
-  cruft/slatec-err/xerprn.f \
-  cruft/slatec-err/xerrwd.f \
-  cruft/slatec-err/xersve.f \
-  cruft/slatec-err/xgetf.f \
-  cruft/slatec-err/xgetua.f \
-  cruft/slatec-err/xsetf.f \
-  cruft/slatec-err/xsetua.f
+  liboctave/cruft/slatec-err/fdump.f \
+  liboctave/cruft/slatec-err/ixsav.f \
+  liboctave/cruft/slatec-err/j4save.f \
+  liboctave/cruft/slatec-err/xerclr.f \
+  liboctave/cruft/slatec-err/xercnt.f \
+  liboctave/cruft/slatec-err/xerhlt.f \
+  liboctave/cruft/slatec-err/xermsg.f \
+  liboctave/cruft/slatec-err/xerprn.f \
+  liboctave/cruft/slatec-err/xerrwd.f \
+  liboctave/cruft/slatec-err/xersve.f \
+  liboctave/cruft/slatec-err/xgetf.f \
+  liboctave/cruft/slatec-err/xgetua.f \
+  liboctave/cruft/slatec-err/xsetf.f \
+  liboctave/cruft/slatec-err/xsetua.f
--- a/liboctave/cruft/slatec-fn/module.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/liboctave/cruft/slatec-fn/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -1,90 +1,90 @@
 EXTRA_DIST += \
-  cruft/slatec-fn/module.mk \
-  cruft/slatec-fn/derfc.in.f \
-  cruft/slatec-fn/erfc.in.f
+  liboctave/cruft/slatec-fn/module.mk \
+  liboctave/cruft/slatec-fn/derfc.in.f \
+  liboctave/cruft/slatec-fn/erfc.in.f
 
 CRUFT_SOURCES += \
-  cruft/slatec-fn/albeta.f \
-  cruft/slatec-fn/alngam.f \
-  cruft/slatec-fn/alnrel.f \
-  cruft/slatec-fn/algams.f \
-  cruft/slatec-fn/acosh.f \
-  cruft/slatec-fn/asinh.f \
-  cruft/slatec-fn/atanh.f \
-  cruft/slatec-fn/betai.f \
-  cruft/slatec-fn/csevl.f \
-  cruft/slatec-fn/d9gmit.f \
-  cruft/slatec-fn/d9lgic.f \
-  cruft/slatec-fn/d9lgit.f \
-  cruft/slatec-fn/d9lgmc.f \
-  cruft/slatec-fn/dacosh.f \
-  cruft/slatec-fn/dasinh.f \
-  cruft/slatec-fn/datanh.f \
-  cruft/slatec-fn/dbetai.f \
-  cruft/slatec-fn/dcsevl.f \
-  cruft/slatec-fn/derf.f \
-  cruft/slatec-fn/dgami.f \
-  cruft/slatec-fn/dgamit.f \
-  cruft/slatec-fn/dgamlm.f \
-  cruft/slatec-fn/dgamma.f \
-  cruft/slatec-fn/dgamr.f \
-  cruft/slatec-fn/dlbeta.f \
-  cruft/slatec-fn/dlgams.f \
-  cruft/slatec-fn/dlngam.f \
-  cruft/slatec-fn/dlnrel.f \
-  cruft/slatec-fn/dpchim.f \
-  cruft/slatec-fn/dpchst.f \
-  cruft/slatec-fn/dpsifn.f \
-  cruft/slatec-fn/erf.f \
-  cruft/slatec-fn/gami.f \
-  cruft/slatec-fn/gamit.f \
-  cruft/slatec-fn/gamlim.f \
-  cruft/slatec-fn/gamma.f \
-  cruft/slatec-fn/gamr.f \
-  cruft/slatec-fn/initds.f \
-  cruft/slatec-fn/inits.f \
-  cruft/slatec-fn/pchim.f \
-  cruft/slatec-fn/pchst.f \
-  cruft/slatec-fn/psifn.f \
-  cruft/slatec-fn/r9lgmc.f \
-  cruft/slatec-fn/r9lgit.f \
-  cruft/slatec-fn/r9gmit.f \
-  cruft/slatec-fn/r9lgic.f \
-  cruft/slatec-fn/xdacosh.f \
-  cruft/slatec-fn/xdasinh.f \
-  cruft/slatec-fn/xdatanh.f \
-  cruft/slatec-fn/xdbetai.f \
-  cruft/slatec-fn/xderf.f \
-  cruft/slatec-fn/xderfc.f \
-  cruft/slatec-fn/xdgami.f \
-  cruft/slatec-fn/xdgamit.f \
-  cruft/slatec-fn/xdgamma.f \
-  cruft/slatec-fn/xgmainc.f \
-  cruft/slatec-fn/xacosh.f \
-  cruft/slatec-fn/xasinh.f \
-  cruft/slatec-fn/xatanh.f \
-  cruft/slatec-fn/xerf.f \
-  cruft/slatec-fn/xerfc.f \
-  cruft/slatec-fn/xsgmainc.f \
-  cruft/slatec-fn/xgamma.f \
-  cruft/slatec-fn/xbetai.f
+  liboctave/cruft/slatec-fn/albeta.f \
+  liboctave/cruft/slatec-fn/alngam.f \
+  liboctave/cruft/slatec-fn/alnrel.f \
+  liboctave/cruft/slatec-fn/algams.f \
+  liboctave/cruft/slatec-fn/acosh.f \
+  liboctave/cruft/slatec-fn/asinh.f \
+  liboctave/cruft/slatec-fn/atanh.f \
+  liboctave/cruft/slatec-fn/betai.f \
+  liboctave/cruft/slatec-fn/csevl.f \
+  liboctave/cruft/slatec-fn/d9gmit.f \
+  liboctave/cruft/slatec-fn/d9lgic.f \
+  liboctave/cruft/slatec-fn/d9lgit.f \
+  liboctave/cruft/slatec-fn/d9lgmc.f \
+  liboctave/cruft/slatec-fn/dacosh.f \
+  liboctave/cruft/slatec-fn/dasinh.f \
+  liboctave/cruft/slatec-fn/datanh.f \
+  liboctave/cruft/slatec-fn/dbetai.f \
+  liboctave/cruft/slatec-fn/dcsevl.f \
+  liboctave/cruft/slatec-fn/derf.f \
+  liboctave/cruft/slatec-fn/dgami.f \
+  liboctave/cruft/slatec-fn/dgamit.f \
+  liboctave/cruft/slatec-fn/dgamlm.f \
+  liboctave/cruft/slatec-fn/dgamma.f \
+  liboctave/cruft/slatec-fn/dgamr.f \
+  liboctave/cruft/slatec-fn/dlbeta.f \
+  liboctave/cruft/slatec-fn/dlgams.f \
+  liboctave/cruft/slatec-fn/dlngam.f \
+  liboctave/cruft/slatec-fn/dlnrel.f \
+  liboctave/cruft/slatec-fn/dpchim.f \
+  liboctave/cruft/slatec-fn/dpchst.f \
+  liboctave/cruft/slatec-fn/dpsifn.f \
+  liboctave/cruft/slatec-fn/erf.f \
+  liboctave/cruft/slatec-fn/gami.f \
+  liboctave/cruft/slatec-fn/gamit.f \
+  liboctave/cruft/slatec-fn/gamlim.f \
+  liboctave/cruft/slatec-fn/gamma.f \
+  liboctave/cruft/slatec-fn/gamr.f \
+  liboctave/cruft/slatec-fn/initds.f \
+  liboctave/cruft/slatec-fn/inits.f \
+  liboctave/cruft/slatec-fn/pchim.f \
+  liboctave/cruft/slatec-fn/pchst.f \
+  liboctave/cruft/slatec-fn/psifn.f \
+  liboctave/cruft/slatec-fn/r9lgmc.f \
+  liboctave/cruft/slatec-fn/r9lgit.f \
+  liboctave/cruft/slatec-fn/r9gmit.f \
+  liboctave/cruft/slatec-fn/r9lgic.f \
+  liboctave/cruft/slatec-fn/xdacosh.f \
+  liboctave/cruft/slatec-fn/xdasinh.f \
+  liboctave/cruft/slatec-fn/xdatanh.f \
+  liboctave/cruft/slatec-fn/xdbetai.f \
+  liboctave/cruft/slatec-fn/xderf.f \
+  liboctave/cruft/slatec-fn/xderfc.f \
+  liboctave/cruft/slatec-fn/xdgami.f \
+  liboctave/cruft/slatec-fn/xdgamit.f \
+  liboctave/cruft/slatec-fn/xdgamma.f \
+  liboctave/cruft/slatec-fn/xgmainc.f \
+  liboctave/cruft/slatec-fn/xacosh.f \
+  liboctave/cruft/slatec-fn/xasinh.f \
+  liboctave/cruft/slatec-fn/xatanh.f \
+  liboctave/cruft/slatec-fn/xerf.f \
+  liboctave/cruft/slatec-fn/xerfc.f \
+  liboctave/cruft/slatec-fn/xsgmainc.f \
+  liboctave/cruft/slatec-fn/xgamma.f \
+  liboctave/cruft/slatec-fn/xbetai.f
 
-nodist_cruft_libcruft_la_SOURCES += \
-  cruft/slatec-fn/derfc.f \
-  cruft/slatec-fn/erfc.f
+nodist_liboctave_cruft_libcruft_la_SOURCES += \
+  liboctave/cruft/slatec-fn/derfc.f \
+  liboctave/cruft/slatec-fn/erfc.f
 
 ## slatec-fn directory may not exist in VPATH build; create it if necessary.
 
 define do-subst-isnan-macro
   rm -f $@-t $@ && \
-  $(MKDIR_P) cruft/slatec-fn && \
+  $(MKDIR_P) liboctave/cruft/slatec-fn && \
   $(SED) -e "${F77_ISNAN_MACRO}" < $< > $@-t && \
   mv $@-t $@
 endef
 
-cruft/slatec-fn/erfc.f: cruft/slatec-fn/erfc.in.f Makefile
+liboctave/cruft/slatec-fn/erfc.f: liboctave/cruft/slatec-fn/erfc.in.f Makefile
 	$(AM_V_GEN)$(do-subst-isnan-macro)
 
-cruft/slatec-fn/derfc.f: cruft/slatec-fn/derfc.in.f Makefile
+liboctave/cruft/slatec-fn/derfc.f: liboctave/cruft/slatec-fn/derfc.in.f Makefile
 	$(AM_V_GEN)$(do-subst-isnan-macro)
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/liboctave/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -0,0 +1,123 @@
+# Makefile for Octave's liboctave directory
+#
+# Copyright (C) 1993-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/>.
+
+## Search local directories before those specified by the user.
+liboctave_liboctave_la_CPPFLAGS = \
+  @OCTAVE_DLL_DEFS@ \
+  @CRUFT_DLL_DEFS@ \
+  -I$(srcdir)/liboctave/array \
+  -I$(srcdir)/liboctave/cruft/misc \
+  -Iliboctave/numeric -I$(srcdir)/liboctave/numeric \
+  -Iliboctave/operators -I$(srcdir)/liboctave/operators \
+  -I$(srcdir)/liboctave/system \
+  -I$(srcdir)/liboctave/util \
+  -I$(top_builddir)/libgnu -I$(top_srcdir)/libgnu
+
+liboctave_liboctave_la_CFLAGS = $(AM_CFLAGS) $(WARN_CFLAGS)
+
+liboctave_liboctave_la_CXXFLAGS = $(AM_CXXFLAGS) $(WARN_CXXFLAGS)
+
+octlib_LTLIBRARIES += liboctave/liboctave.la
+
+BUILT_INCS = \
+  liboctave/operators/mx-ops.h \
+  $(LIBOCTAVE_OPT_INC) \
+  $(MX_OP_INC) \
+  $(VX_OP_INC) \
+  $(SMX_OP_INC)
+
+BUILT_SOURCES += $(BUILT_INCS)
+
+octinclude_HEADERS += \
+  $(ARRAY_INC) \
+  $(CRUFT_INC) \
+  $(NUMERIC_INC) \
+  $(LIBOCTAVE_OPERATORS_INC) \
+  $(SYSTEM_INC) \
+  $(UTIL_INC) \
+  $(OTHER_INC) \
+  $(LIBOCTAVE_TEMPLATE_SRC)
+
+nodist_octinclude_HEADERS += \
+  $(BUILT_INCS)
+
+## C++ files that are #included, not compiled
+OTHER_INC =
+
+## C++ files with templates that are #included, not compiled
+LIBOCTAVE_TEMPLATE_SRC =
+
+## A list of all files that could include tests
+
+liboctave_liboctave_la_LIBADD =
+
+include liboctave/array/module.mk
+include liboctave/cruft/module.mk
+include liboctave/numeric/module.mk
+include liboctave/operators/module.mk
+include liboctave/system/module.mk
+include liboctave/util/module.mk
+
+## liboctave merely collects a bunch of compiled convenience libraries.
+## It has no source code itself.
+liboctave_liboctave_la_SOURCES =
+
+# Dummy C++ source to force C++ linking.
+nodist_EXTRA_liboctave_liboctave_la_SOURCES = dummy.cc
+
+liboctave_liboctave_la_LIBADD += \
+  $(top_builddir)/libgnu/libgnu.la \
+  $(LIBOCTAVE_LINK_DEPS)
+
+# Increment these as needed and according to the rules in the libtool manual:
+liboctave_liboctave_current = 3
+liboctave_liboctave_revision = 0
+liboctave_liboctave_age = 0
+
+liboctave_liboctave_version_info = $(liboctave_liboctave_current):$(liboctave_liboctave_revision):$(liboctave_age)
+
+liboctave_liboctave_la_LDFLAGS = \
+  -version-info $(liboctave_liboctave_version_info) \
+  $(NO_UNDEFINED_LDFLAG) \
+  @XTRA_CRUFT_SH_LDFLAGS@ \
+  -bindir $(bindir) \
+  $(LIBOCTAVE_LINK_OPTS)
+
+## Rules to build test files
+
+LIBOCTAVE_TST_SRC = \
+  $(liboctave_array_libarray_la_SOURCES) \
+  $(liboctave_numeric_libnumeric_la_SOURCES) \
+  $(liboctave_system_libsystem_la_SOURCES) \
+  $(liboctave_util_libutil_la_SOURCES) \
+  $(TEMPLATE_SRC)
+
+LIBOCTAVE_TST_FILES_SRC := $(shell $(top_srcdir)/build-aux/find-files-with-tests.sh "$(srcdir)" $(LIBOCTAVE_TST_SRC))
+
+LIBOCTAVE_TST_FILES := $(addsuffix -tst,$(LIBOCTAVE_TST_FILES_SRC))
+
+liboctavetestsdir := $(octtestsdir)/liboctave
+
+nobase_liboctavetests_DATA = $(LIBOCTAVE_TST_FILES)
+
+DISTCLEANFILES += \
+  $(BUILT_INCS) \
+  $(LIBOCTAVE_TST_FILES)
+
--- a/liboctave/numeric/module.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/liboctave/numeric/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -1,187 +1,192 @@
 EXTRA_DIST += \
-  numeric/module.mk \
-  $(OPT_IN)
+  liboctave/numeric/module.mk \
+  $(LIBOCTAVE_OPT_IN)
 
-OPT_INC = \
-  numeric/DASPK-opts.h \
-  numeric/DASRT-opts.h \
-  numeric/DASSL-opts.h \
-  numeric/LSODE-opts.h \
-  numeric/Quad-opts.h
+LIBOCTAVE_OPT_INC = \
+  liboctave/numeric/DASPK-opts.h \
+  liboctave/numeric/DASRT-opts.h \
+  liboctave/numeric/DASSL-opts.h \
+  liboctave/numeric/LSODE-opts.h \
+  liboctave/numeric/Quad-opts.h
 
-OPT_IN = $(OPT_INC:.h=.in)
+LIBOCTAVE_OPT_IN = $(LIBOCTAVE_OPT_INC:.h=.in)
 
 NUMERIC_INC = \
-  numeric/base-aepbal.h \
-  numeric/base-dae.h \
-  numeric/base-de.h \
-  numeric/base-lu.h \
-  numeric/base-min.h \
-  numeric/base-qr.h \
-  numeric/bsxfun-decl.h \
-  numeric/bsxfun.h \
-  numeric/CmplxAEPBAL.h \
-  numeric/CmplxCHOL.h \
-  numeric/CmplxGEPBAL.h \
-  numeric/CmplxHESS.h \
-  numeric/CmplxLU.h \
-  numeric/CmplxQR.h \
-  numeric/CmplxQRP.h \
-  numeric/CmplxSCHUR.h \
-  numeric/CmplxSVD.h \
-  numeric/CollocWt.h \
-  numeric/DAEFunc.h \
-  numeric/DAE.h \
-  numeric/DAERTFunc.h \
-  numeric/DAERT.h \
-  numeric/DASPK.h \
-  numeric/DASRT.h \
-  numeric/DASSL.h \
-  numeric/dbleAEPBAL.h \
-  numeric/dbleCHOL.h \
-  numeric/dbleGEPBAL.h \
-  numeric/dbleHESS.h \
-  numeric/dbleLU.h \
-  numeric/dbleQR.h \
-  numeric/dbleQRP.h \
-  numeric/dbleSCHUR.h \
-  numeric/dbleSVD.h \
-  numeric/DET.h \
-  numeric/EIG.h \
-  numeric/fCmplxAEPBAL.h \
-  numeric/fCmplxCHOL.h \
-  numeric/fCmplxGEPBAL.h \
-  numeric/fCmplxHESS.h \
-  numeric/fCmplxLU.h \
-  numeric/fCmplxQR.h \
-  numeric/fCmplxQRP.h \
-  numeric/fCmplxSCHUR.h \
-  numeric/fCmplxSVD.h \
-  numeric/fEIG.h \
-  numeric/floatAEPBAL.h \
-  numeric/floatCHOL.h \
-  numeric/floatGEPBAL.h \
-  numeric/floatHESS.h \
-  numeric/floatLU.h \
-  numeric/floatQR.h \
-  numeric/floatQRP.h \
-  numeric/floatSCHUR.h \
-  numeric/floatSVD.h \
-  numeric/lo-mappers.h \
-  numeric/lo-specfun.h \
-  numeric/LSODE.h \
-  numeric/oct-convn.h \
-  numeric/oct-fftw.h \
-  numeric/oct-norm.h \
-  numeric/oct-rand.h \
-  numeric/oct-spparms.h \
-  numeric/ODEFunc.h \
-  numeric/ODE.h \
-  numeric/ODESFunc.h \
-  numeric/ODES.h \
-  numeric/Quad.h \
-  numeric/randgamma.h \
-  numeric/randmtzig.h \
-  numeric/randpoisson.h \
-  numeric/sparse-base-chol.h \
-  numeric/sparse-base-lu.h \
-  numeric/SparseCmplxCHOL.h \
-  numeric/SparseCmplxLU.h \
-  numeric/SparseCmplxQR.h \
-  numeric/SparsedbleCHOL.h \
-  numeric/SparsedbleLU.h \
-  numeric/SparseQR.h
+  liboctave/numeric/base-aepbal.h \
+  liboctave/numeric/base-dae.h \
+  liboctave/numeric/base-de.h \
+  liboctave/numeric/base-lu.h \
+  liboctave/numeric/base-min.h \
+  liboctave/numeric/base-qr.h \
+  liboctave/numeric/bsxfun-decl.h \
+  liboctave/numeric/bsxfun.h \
+  liboctave/numeric/CmplxAEPBAL.h \
+  liboctave/numeric/CmplxCHOL.h \
+  liboctave/numeric/CmplxGEPBAL.h \
+  liboctave/numeric/CmplxHESS.h \
+  liboctave/numeric/CmplxLU.h \
+  liboctave/numeric/CmplxQR.h \
+  liboctave/numeric/CmplxQRP.h \
+  liboctave/numeric/CmplxSCHUR.h \
+  liboctave/numeric/CmplxSVD.h \
+  liboctave/numeric/CollocWt.h \
+  liboctave/numeric/DAEFunc.h \
+  liboctave/numeric/DAE.h \
+  liboctave/numeric/DAERTFunc.h \
+  liboctave/numeric/DAERT.h \
+  liboctave/numeric/DASPK.h \
+  liboctave/numeric/DASRT.h \
+  liboctave/numeric/DASSL.h \
+  liboctave/numeric/dbleAEPBAL.h \
+  liboctave/numeric/dbleCHOL.h \
+  liboctave/numeric/dbleGEPBAL.h \
+  liboctave/numeric/dbleHESS.h \
+  liboctave/numeric/dbleLU.h \
+  liboctave/numeric/dbleQR.h \
+  liboctave/numeric/dbleQRP.h \
+  liboctave/numeric/dbleSCHUR.h \
+  liboctave/numeric/dbleSVD.h \
+  liboctave/numeric/DET.h \
+  liboctave/numeric/EIG.h \
+  liboctave/numeric/fCmplxAEPBAL.h \
+  liboctave/numeric/fCmplxCHOL.h \
+  liboctave/numeric/fCmplxGEPBAL.h \
+  liboctave/numeric/fCmplxHESS.h \
+  liboctave/numeric/fCmplxLU.h \
+  liboctave/numeric/fCmplxQR.h \
+  liboctave/numeric/fCmplxQRP.h \
+  liboctave/numeric/fCmplxSCHUR.h \
+  liboctave/numeric/fCmplxSVD.h \
+  liboctave/numeric/fEIG.h \
+  liboctave/numeric/floatAEPBAL.h \
+  liboctave/numeric/floatCHOL.h \
+  liboctave/numeric/floatGEPBAL.h \
+  liboctave/numeric/floatHESS.h \
+  liboctave/numeric/floatLU.h \
+  liboctave/numeric/floatQR.h \
+  liboctave/numeric/floatQRP.h \
+  liboctave/numeric/floatSCHUR.h \
+  liboctave/numeric/floatSVD.h \
+  liboctave/numeric/lo-mappers.h \
+  liboctave/numeric/lo-specfun.h \
+  liboctave/numeric/LSODE.h \
+  liboctave/numeric/oct-convn.h \
+  liboctave/numeric/oct-fftw.h \
+  liboctave/numeric/oct-norm.h \
+  liboctave/numeric/oct-rand.h \
+  liboctave/numeric/oct-spparms.h \
+  liboctave/numeric/ODEFunc.h \
+  liboctave/numeric/ODE.h \
+  liboctave/numeric/ODESFunc.h \
+  liboctave/numeric/ODES.h \
+  liboctave/numeric/Quad.h \
+  liboctave/numeric/randgamma.h \
+  liboctave/numeric/randmtzig.h \
+  liboctave/numeric/randpoisson.h \
+  liboctave/numeric/sparse-base-chol.h \
+  liboctave/numeric/sparse-base-lu.h \
+  liboctave/numeric/SparseCmplxCHOL.h \
+  liboctave/numeric/SparseCmplxLU.h \
+  liboctave/numeric/SparseCmplxQR.h \
+  liboctave/numeric/SparsedbleCHOL.h \
+  liboctave/numeric/SparsedbleLU.h \
+  liboctave/numeric/SparseQR.h
 
 NUMERIC_C_SRC = \
-  numeric/randgamma.c \
-  numeric/randmtzig.c \
-  numeric/randpoisson.c
+  liboctave/numeric/randgamma.c \
+  liboctave/numeric/randmtzig.c \
+  liboctave/numeric/randpoisson.c
 
 NUMERIC_SRC = \
-  numeric/CmplxAEPBAL.cc \
-  numeric/CmplxCHOL.cc \
-  numeric/CmplxGEPBAL.cc \
-  numeric/CmplxHESS.cc \
-  numeric/CmplxLU.cc \
-  numeric/CmplxQR.cc \
-  numeric/CmplxQRP.cc \
-  numeric/CmplxSCHUR.cc \
-  numeric/CmplxSVD.cc \
-  numeric/CollocWt.cc \
-  numeric/DASPK.cc \
-  numeric/DASRT.cc \
-  numeric/DASSL.cc \
-  numeric/dbleAEPBAL.cc \
-  numeric/dbleCHOL.cc \
-  numeric/dbleGEPBAL.cc \
-  numeric/dbleHESS.cc \
-  numeric/dbleLU.cc \
-  numeric/dbleQR.cc \
-  numeric/dbleQRP.cc \
-  numeric/dbleSCHUR.cc \
-  numeric/dbleSVD.cc \
-  numeric/EIG.cc \
-  numeric/fCmplxAEPBAL.cc \
-  numeric/fCmplxCHOL.cc \
-  numeric/fCmplxGEPBAL.cc \
-  numeric/fCmplxHESS.cc \
-  numeric/fCmplxLU.cc \
-  numeric/fCmplxQR.cc \
-  numeric/fCmplxQRP.cc \
-  numeric/fCmplxSCHUR.cc \
-  numeric/fCmplxSVD.cc \
-  numeric/fEIG.cc \
-  numeric/floatAEPBAL.cc \
-  numeric/floatCHOL.cc \
-  numeric/floatGEPBAL.cc \
-  numeric/floatHESS.cc \
-  numeric/floatLU.cc \
-  numeric/floatQR.cc \
-  numeric/floatQRP.cc \
-  numeric/floatSCHUR.cc \
-  numeric/floatSVD.cc \
-  numeric/lo-mappers.cc \
-  numeric/lo-specfun.cc \
-  numeric/LSODE.cc \
-  numeric/oct-convn.cc \
-  numeric/oct-fftw.cc \
-  numeric/oct-norm.cc \
-  numeric/oct-rand.cc \
-  numeric/oct-spparms.cc \
-  numeric/ODES.cc \
-  numeric/Quad.cc \
-  numeric/SparseCmplxCHOL.cc \
-  numeric/SparseCmplxLU.cc \
-  numeric/SparseCmplxQR.cc \
-  numeric/SparsedbleCHOL.cc \
-  numeric/SparsedbleLU.cc \
-  numeric/SparseQR.cc \
+  liboctave/numeric/CmplxAEPBAL.cc \
+  liboctave/numeric/CmplxCHOL.cc \
+  liboctave/numeric/CmplxGEPBAL.cc \
+  liboctave/numeric/CmplxHESS.cc \
+  liboctave/numeric/CmplxLU.cc \
+  liboctave/numeric/CmplxQR.cc \
+  liboctave/numeric/CmplxQRP.cc \
+  liboctave/numeric/CmplxSCHUR.cc \
+  liboctave/numeric/CmplxSVD.cc \
+  liboctave/numeric/CollocWt.cc \
+  liboctave/numeric/DASPK.cc \
+  liboctave/numeric/DASRT.cc \
+  liboctave/numeric/DASSL.cc \
+  liboctave/numeric/dbleAEPBAL.cc \
+  liboctave/numeric/dbleCHOL.cc \
+  liboctave/numeric/dbleGEPBAL.cc \
+  liboctave/numeric/dbleHESS.cc \
+  liboctave/numeric/dbleLU.cc \
+  liboctave/numeric/dbleQR.cc \
+  liboctave/numeric/dbleQRP.cc \
+  liboctave/numeric/dbleSCHUR.cc \
+  liboctave/numeric/dbleSVD.cc \
+  liboctave/numeric/EIG.cc \
+  liboctave/numeric/fCmplxAEPBAL.cc \
+  liboctave/numeric/fCmplxCHOL.cc \
+  liboctave/numeric/fCmplxGEPBAL.cc \
+  liboctave/numeric/fCmplxHESS.cc \
+  liboctave/numeric/fCmplxLU.cc \
+  liboctave/numeric/fCmplxQR.cc \
+  liboctave/numeric/fCmplxQRP.cc \
+  liboctave/numeric/fCmplxSCHUR.cc \
+  liboctave/numeric/fCmplxSVD.cc \
+  liboctave/numeric/fEIG.cc \
+  liboctave/numeric/floatAEPBAL.cc \
+  liboctave/numeric/floatCHOL.cc \
+  liboctave/numeric/floatGEPBAL.cc \
+  liboctave/numeric/floatHESS.cc \
+  liboctave/numeric/floatLU.cc \
+  liboctave/numeric/floatQR.cc \
+  liboctave/numeric/floatQRP.cc \
+  liboctave/numeric/floatSCHUR.cc \
+  liboctave/numeric/floatSVD.cc \
+  liboctave/numeric/lo-mappers.cc \
+  liboctave/numeric/lo-specfun.cc \
+  liboctave/numeric/LSODE.cc \
+  liboctave/numeric/oct-convn.cc \
+  liboctave/numeric/oct-fftw.cc \
+  liboctave/numeric/oct-norm.cc \
+  liboctave/numeric/oct-rand.cc \
+  liboctave/numeric/oct-spparms.cc \
+  liboctave/numeric/ODES.cc \
+  liboctave/numeric/Quad.cc \
+  liboctave/numeric/SparseCmplxCHOL.cc \
+  liboctave/numeric/SparseCmplxLU.cc \
+  liboctave/numeric/SparseCmplxQR.cc \
+  liboctave/numeric/SparsedbleCHOL.cc \
+  liboctave/numeric/SparsedbleLU.cc \
+  liboctave/numeric/SparseQR.cc \
   $(NUMERIC_C_SRC)
 
-TEMPLATE_SRC += \
-  numeric/base-lu.cc \
-  numeric/base-qr.cc \
-  numeric/bsxfun-defs.cc \
-  numeric/eigs-base.cc \
-  numeric/sparse-base-chol.cc \
-  numeric/sparse-base-lu.cc \
-  numeric/sparse-dmsolve.cc
+LIBOCTAVE_TEMPLATE_SRC += \
+  liboctave/numeric/base-lu.cc \
+  liboctave/numeric/base-qr.cc \
+  liboctave/numeric/bsxfun-defs.cc \
+  liboctave/numeric/eigs-base.cc \
+  liboctave/numeric/sparse-base-chol.cc \
+  liboctave/numeric/sparse-base-lu.cc \
+  liboctave/numeric/sparse-dmsolve.cc
 
 ## Special rules for sources which must be built before rest of compilation.
-$(OPT_INC) : %.h : %.in
+$(LIBOCTAVE_OPT_INC) : %.h : %.in
 	$(AM_V_GEN)rm -f $@-t $@ && \
 	$(PERL) $(top_srcdir)/build-aux/mk-opts.pl --opt-class-header $< > $@-t && \
 	mv $@-t $@
 
-$(OPT_INC) : $(top_srcdir)/build-aux/mk-opts.pl
+$(LIBOCTAVE_OPT_INC) : $(top_srcdir)/build-aux/mk-opts.pl
 
-noinst_LTLIBRARIES += numeric/libnumeric.la
+noinst_LTLIBRARIES += liboctave/numeric/libnumeric.la
 
-numeric_libnumeric_la_SOURCES = $(NUMERIC_SRC)
-numeric_libnumeric_la_CPPFLAGS = \
-  $(liboctave_la_CPPFLAGS) \
-  -I$(srcdir)/cruft/Faddeeva \
+liboctave_numeric_libnumeric_la_SOURCES = $(NUMERIC_SRC)
+
+liboctave_numeric_libnumeric_la_CPPFLAGS = \
+  $(liboctave_liboctave_la_CPPFLAGS) \
+  -I$(srcdir)/liboctave/cruft/Faddeeva \
   $(FFTW_XCPPFLAGS) \
   $(SPARSE_XCPPFLAGS)
 
-liboctave_la_LIBADD += numeric/libnumeric.la
+liboctave_numeric_libnumeric_la_CFLAGS = $(liboctave_liboctave_la_CFLAGS)
+
+liboctave_numeric_libnumeric_la_CXXFLAGS = $(liboctave_liboctave_la_CXXFLAGS)
+
+liboctave_liboctave_la_LIBADD += liboctave/numeric/libnumeric.la
--- a/liboctave/operators/mk-ops.awk	Thu Jul 09 13:55:58 2015 -0400
+++ b/liboctave/operators/mk-ops.awk	Fri Jul 10 13:28:33 2015 -0400
@@ -93,13 +93,13 @@
 
           if (list_cc_files)
             {
-              printf (" operators/%s", cc_file);
+              printf (" liboctave/operators/%s", cc_file);
               next;
             }
 
           if (list_h_files)
             {
-              printf (" operators/%s", h_file);
+              printf (" liboctave/operators/%s", h_file);
               next;
             }
 
--- a/liboctave/operators/module.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/liboctave/operators/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -1,78 +1,83 @@
 EXTRA_DIST += \
-  operators/module.mk \
-  operators/config-ops.sh \
-  operators/mk-ops.awk \
-  operators/mx-op-inc.mk \
-  operators/mx-op-src.mk \
-  operators/mx-ops \
-  operators/smx-op-inc.mk \
-  operators/smx-op-src.mk \
-  operators/sparse-mk-ops.awk \
-  operators/smx-ops \
-  operators/vx-op-inc.mk \
-  operators/vx-op-src.mk \
-  operators/vx-ops
+  liboctave/operators/module.mk \
+  liboctave/operators/config-ops.sh \
+  liboctave/operators/mk-ops.awk \
+  liboctave/operators/mx-op-inc.mk \
+  liboctave/operators/mx-op-src.mk \
+  liboctave/operators/mx-ops \
+  liboctave/operators/smx-op-inc.mk \
+  liboctave/operators/smx-op-src.mk \
+  liboctave/operators/sparse-mk-ops.awk \
+  liboctave/operators/smx-ops \
+  liboctave/operators/vx-op-inc.mk \
+  liboctave/operators/vx-op-src.mk \
+  liboctave/operators/vx-ops
 
-include operators/vx-op-inc.mk
-include operators/mx-op-inc.mk
-include operators/smx-op-inc.mk
+include liboctave/operators/vx-op-inc.mk
+include liboctave/operators/mx-op-inc.mk
+include liboctave/operators/smx-op-inc.mk
 
-include operators/vx-op-src.mk
-include operators/mx-op-src.mk
-include operators/smx-op-src.mk
+include liboctave/operators/vx-op-src.mk
+include liboctave/operators/mx-op-src.mk
+include liboctave/operators/smx-op-src.mk
 
-BUILT_LIBOPERATORS_SOURCES = \
+BUILT_LIBOCTAVE_OPERATORS_SOURCES = \
   $(MX_OP_SRC) \
   $(VX_OP_SRC) \
   $(SMX_OP_SRC)
 
-OPERATORS_INC = \
-  operators/mx-base.h \
-  operators/mx-defs.h \
-  operators/mx-ext.h \
-  operators/mx-op-decl.h \
-  operators/mx-op-defs.h \
-  operators/Sparse-diag-op-defs.h \
-  operators/Sparse-op-decls.h \
-  operators/Sparse-op-defs.h \
-  operators/Sparse-perm-op-defs.h
+LIBOCTAVE_OPERATORS_INC = \
+  liboctave/operators/mx-base.h \
+  liboctave/operators/mx-defs.h \
+  liboctave/operators/mx-ext.h \
+  liboctave/operators/mx-op-decl.h \
+  liboctave/operators/mx-op-defs.h \
+  liboctave/operators/Sparse-diag-op-defs.h \
+  liboctave/operators/Sparse-op-decls.h \
+  liboctave/operators/Sparse-op-defs.h \
+  liboctave/operators/Sparse-perm-op-defs.h
 
 ## There are no distributed source files in this directory
-OPERATORS_SRC =
+LIBOCTAVE_OPERATORS_SRC =
 
-TEMPLATE_SRC += \
-  operators/mx-inlines.cc
+LIBOCTAVE_TEMPLATE_SRC += \
+  liboctave/operators/mx-inlines.cc
 
 OP_SRCDIR = $(abs_top_srcdir)/liboctave/operators
 
 define run-mx-ops
-  ( cd operators; \
+  ( cd liboctave/operators; \
     $(AWK) -f $(OP_SRCDIR)/$(2)mk-ops.awk prefix=$(1) $(OP_SRCDIR)/$(1)-ops \
   )
 endef
 
 ## Special rules for sources which must be built before rest of compilation.
-$(VX_OP_INC) $(VX_OP_SRC) : operators/mk-ops.awk operators/vx-ops
+$(VX_OP_INC) $(VX_OP_SRC) : liboctave/operators/mk-ops.awk liboctave/operators/vx-ops
 	$(AM_V_GEN)$(call run-mx-ops,vx)
 
-$(MX_OP_INC) $(MX_OP_SRC) : operators/mk-ops.awk operators/mx-ops
+$(MX_OP_INC) $(MX_OP_SRC) : liboctave/operators/mk-ops.awk liboctave/operators/mx-ops
 	$(AM_V_GEN)$(call run-mx-ops,mx)
 
-$(SMX_OP_INC) $(SMX_OP_SRC) : operators/sparse-mk-ops.awk operators/smx-ops
+$(SMX_OP_INC) $(SMX_OP_SRC) : liboctave/operators/sparse-mk-ops.awk liboctave/operators/smx-ops
 	$(AM_V_GEN)$(call run-mx-ops,smx,sparse-)
 
-operators/mx-ops.h : operators/mk-ops.awk operators/mx-ops
+liboctave/operators/mx-ops.h : liboctave/operators/mk-ops.awk liboctave/operators/mx-ops
 	$(AM_V_GEN)rm -f $@-t $@ && \
 	$(AWK) -f $(OP_SRCDIR)/mk-ops.awk prefix=mx make_inclusive_header=mx-ops.h $(OP_SRCDIR)/mx-ops > $@-t && \
 	mv $@-t $@
 
-noinst_LTLIBRARIES += operators/liboperators.la
+DISTCLEANFILES += $(BUILT_LIBOCTAVE_OPERATORS_SOURCES)
+
+noinst_LTLIBRARIES += liboctave/operators/liboperators.la
 
-operators_liboperators_la_SOURCES = $(OPERATORS_SRC)
-nodist_operators_liboperators_la_SOURCES = $(BUILT_LIBOPERATORS_SOURCES)
+liboctave_operators_liboperators_la_SOURCES = $(LIBOCTAVE_OPERATORS_SRC)
+
+nodist_liboctave_operators_liboperators_la_SOURCES = $(BUILT_LIBOCTAVE_OPERATORS_SOURCES)
 
-operators_liboperators_la_CPPFLAGS = $(liboctave_la_CPPFLAGS)
+liboctave_operators_liboperators_la_CPPFLAGS = $(liboctave_liboctave_la_CPPFLAGS)
+
+liboctave_operators_liboperators_la_CFLAGS = $(liboctave_liboctave_la_CFLAGS)
 
-DISTCLEANFILES += $(BUILT_LIBOPERATORS_SOURCES)
+liboctave_operators_liboperators_la_CXXFLAGS = $(liboctave_liboctave_la_CXXFLAGS)
 
-liboctave_la_LIBADD += operators/liboperators.la
+liboctave_liboctave_la_LIBADD += liboctave/operators/liboperators.la
--- a/liboctave/operators/sparse-mk-ops.awk	Thu Jul 09 13:55:58 2015 -0400
+++ b/liboctave/operators/sparse-mk-ops.awk	Fri Jul 10 13:28:33 2015 -0400
@@ -92,13 +92,13 @@
 
           if (list_cc_files)
             {
-              printf (" operators/%s", cc_file);
+              printf (" liboctave/operators/%s", cc_file);
               next;
             }
 
           if (list_h_files)
             {
-              printf (" operators/%s", h_file);
+              printf (" liboctave/operators/%s", h_file);
               next;
             }
 
--- a/liboctave/system/module.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/liboctave/system/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -1,39 +1,44 @@
 EXTRA_DIST += \
-  system/module.mk
+  liboctave/system/module.mk
 
 SYSTEM_INC = \
-  system/dir-ops.h \
-  system/file-ops.h \
-  system/file-stat.h \
-  system/lo-sysdep.h \
-  system/mach-info.h \
-  system/oct-env.h \
-  system/oct-group.h \
-  system/oct-openmp.h \
-  system/oct-passwd.h \
-  system/oct-syscalls.h \
-  system/oct-time.h \
-  system/oct-uname.h \
-  system/pathlen.h \
-  system/sysdir.h \
-  system/syswait.h
+  liboctave/system/dir-ops.h \
+  liboctave/system/file-ops.h \
+  liboctave/system/file-stat.h \
+  liboctave/system/lo-sysdep.h \
+  liboctave/system/mach-info.h \
+  liboctave/system/oct-env.h \
+  liboctave/system/oct-group.h \
+  liboctave/system/oct-openmp.h \
+  liboctave/system/oct-passwd.h \
+  liboctave/system/oct-syscalls.h \
+  liboctave/system/oct-time.h \
+  liboctave/system/oct-uname.h \
+  liboctave/system/pathlen.h \
+  liboctave/system/sysdir.h \
+  liboctave/system/syswait.h
 
 SYSTEM_SRC = \
-  system/dir-ops.cc \
-  system/file-ops.cc \
-  system/file-stat.cc \
-  system/lo-sysdep.cc \
-  system/mach-info.cc \
-  system/oct-env.cc \
-  system/oct-group.cc \
-  system/oct-passwd.cc \
-  system/oct-syscalls.cc \
-  system/oct-time.cc \
-  system/oct-uname.cc
+  liboctave/system/dir-ops.cc \
+  liboctave/system/file-ops.cc \
+  liboctave/system/file-stat.cc \
+  liboctave/system/lo-sysdep.cc \
+  liboctave/system/mach-info.cc \
+  liboctave/system/oct-env.cc \
+  liboctave/system/oct-group.cc \
+  liboctave/system/oct-passwd.cc \
+  liboctave/system/oct-syscalls.cc \
+  liboctave/system/oct-time.cc \
+  liboctave/system/oct-uname.cc
 
-noinst_LTLIBRARIES += system/libsystem.la
+noinst_LTLIBRARIES += liboctave/system/libsystem.la
+
+liboctave_system_libsystem_la_SOURCES = $(SYSTEM_SRC)
+
+liboctave_system_libsystem_la_CPPFLAGS = $(liboctave_liboctave_la_CPPFLAGS)
 
-system_libsystem_la_SOURCES = $(SYSTEM_SRC)
-system_libsystem_la_CPPFLAGS = $(liboctave_la_CPPFLAGS)
+liboctave_system_libsystem_la_CFLAGS = $(liboctave_liboctave_la_CFLAGS)
 
-liboctave_la_LIBADD += system/libsystem.la
+liboctave_system_libsystem_la_CXXFLAGS = $(liboctave_liboctave_la_CXXFLAGS)
+
+liboctave_liboctave_la_LIBADD += liboctave/system/libsystem.la
--- a/liboctave/util/module.mk	Thu Jul 09 13:55:58 2015 -0400
+++ b/liboctave/util/module.mk	Fri Jul 10 13:28:33 2015 -0400
@@ -1,93 +1,98 @@
 EXTRA_DIST += \
-  util/module.mk
+  liboctave/util/module.mk
 
 UTIL_INC = \
-  util/action-container.h \
-  util/base-list.h \
-  util/byte-swap.h \
-  util/caseless-str.h \
-  util/cmd-edit.h \
-  util/cmd-hist.h \
-  util/data-conv.h \
-  util/functor.h \
-  util/glob-match.h \
-  util/lo-array-gripes.h \
-  util/lo-cutils.h \
-  util/lo-ieee.h \
-  util/lo-macros.h \
-  util/lo-math.h \
-  util/lo-traits.h \
-  util/lo-utils.h \
-  util/oct-alloc.h \
-  util/oct-base64.h \
-  util/oct-binmap.h \
-  util/oct-cmplx.h \
-  util/oct-glob.h \
-  util/oct-inttypes.h \
-  util/oct-locbuf.h \
-  util/oct-md5.h \
-  util/oct-mutex.h \
-  util/oct-refcount.h \
-  util/oct-rl-edit.h \
-  util/oct-rl-hist.h \
-  util/oct-shlib.h \
-  util/oct-sort.h \
-  util/oct-sparse.h \
-  util/pathsearch.h \
-  util/lo-regexp.h \
-  util/singleton-cleanup.h \
-  util/sparse-sort.h \
-  util/sparse-util.h \
-  util/statdefs.h \
-  util/str-vec.h \
-  util/sun-utils.h \
-  util/unwind-prot.h \
-  util/url-transfer.h
+  liboctave/util/action-container.h \
+  liboctave/util/base-list.h \
+  liboctave/util/byte-swap.h \
+  liboctave/util/caseless-str.h \
+  liboctave/util/cmd-edit.h \
+  liboctave/util/cmd-hist.h \
+  liboctave/util/data-conv.h \
+  liboctave/util/functor.h \
+  liboctave/util/glob-match.h \
+  liboctave/util/lo-array-gripes.h \
+  liboctave/util/lo-cutils.h \
+  liboctave/util/lo-ieee.h \
+  liboctave/util/lo-macros.h \
+  liboctave/util/lo-math.h \
+  liboctave/util/lo-traits.h \
+  liboctave/util/lo-utils.h \
+  liboctave/util/oct-alloc.h \
+  liboctave/util/oct-base64.h \
+  liboctave/util/oct-binmap.h \
+  liboctave/util/oct-cmplx.h \
+  liboctave/util/oct-glob.h \
+  liboctave/util/oct-inttypes.h \
+  liboctave/util/oct-locbuf.h \
+  liboctave/util/oct-md5.h \
+  liboctave/util/oct-mutex.h \
+  liboctave/util/oct-refcount.h \
+  liboctave/util/oct-rl-edit.h \
+  liboctave/util/oct-rl-hist.h \
+  liboctave/util/oct-shlib.h \
+  liboctave/util/oct-sort.h \
+  liboctave/util/oct-sparse.h \
+  liboctave/util/pathsearch.h \
+  liboctave/util/lo-regexp.h \
+  liboctave/util/singleton-cleanup.h \
+  liboctave/util/sparse-sort.h \
+  liboctave/util/sparse-util.h \
+  liboctave/util/statdefs.h \
+  liboctave/util/str-vec.h \
+  liboctave/util/sun-utils.h \
+  liboctave/util/unwind-prot.h \
+  liboctave/util/url-transfer.h
 
 UTIL_C_SRC = \
-  util/f2c-main.c \
-  util/lo-cutils.c \
-  util/oct-rl-edit.c \
-  util/oct-rl-hist.c
+  liboctave/util/f2c-main.c \
+  liboctave/util/lo-cutils.c \
+  liboctave/util/oct-rl-edit.c \
+  liboctave/util/oct-rl-hist.c
 
 UTIL_SRC = \
-  util/cmd-edit.cc \
-  util/cmd-hist.cc \
-  util/data-conv.cc \
-  util/glob-match.cc \
-  util/lo-array-gripes.cc \
-  util/lo-ieee.cc \
-  util/lo-utils.cc \
-  util/oct-base64.cc \
-  util/oct-glob.cc \
-  util/oct-inttypes.cc \
-  util/oct-locbuf.cc \
-  util/oct-md5.cc \
-  util/oct-mutex.cc \
-  util/oct-shlib.cc \
-  util/pathsearch.cc \
-  util/lo-regexp.cc \
-  util/singleton-cleanup.cc \
-  util/sparse-sort.cc \
-  util/sparse-util.cc \
-  util/str-vec.cc \
-  util/unwind-prot.cc \
-  util/url-transfer.cc \
+  liboctave/util/cmd-edit.cc \
+  liboctave/util/cmd-hist.cc \
+  liboctave/util/data-conv.cc \
+  liboctave/util/glob-match.cc \
+  liboctave/util/lo-array-gripes.cc \
+  liboctave/util/lo-ieee.cc \
+  liboctave/util/lo-utils.cc \
+  liboctave/util/oct-base64.cc \
+  liboctave/util/oct-glob.cc \
+  liboctave/util/oct-inttypes.cc \
+  liboctave/util/oct-locbuf.cc \
+  liboctave/util/oct-md5.cc \
+  liboctave/util/oct-mutex.cc \
+  liboctave/util/oct-shlib.cc \
+  liboctave/util/pathsearch.cc \
+  liboctave/util/lo-regexp.cc \
+  liboctave/util/singleton-cleanup.cc \
+  liboctave/util/sparse-sort.cc \
+  liboctave/util/sparse-util.cc \
+  liboctave/util/str-vec.cc \
+  liboctave/util/unwind-prot.cc \
+  liboctave/util/url-transfer.cc \
   $(UTIL_C_SRC)
 
-TEMPLATE_SRC += \
-  util/oct-sort.cc
+LIBOCTAVE_TEMPLATE_SRC += \
+  liboctave/util/oct-sort.cc
 
 OTHER_INC += \
-  util/kpse.cc
+  liboctave/util/kpse.cc
 
-noinst_LTLIBRARIES += util/libutil.la
+noinst_LTLIBRARIES += liboctave/util/libutil.la
 
-util_libutil_la_SOURCES = $(UTIL_SRC)
-util_libutil_la_CPPFLAGS = \
-  $(liboctave_la_CPPFLAGS) \
+liboctave_util_libutil_la_SOURCES = $(UTIL_SRC)
+
+liboctave_util_libutil_la_CPPFLAGS = \
+  $(liboctave_liboctave_la_CPPFLAGS) \
   $(CURL_CPPFLAGS) \
   $(PCRE_CPPFLAGS) \
   $(SPARSE_XCPPFLAGS)
 
-liboctave_la_LIBADD += util/libutil.la
+liboctave_util_libutil_la_CFLAGS = $(liboctave_liboctave_la_CFLAGS)
+
+liboctave_util_libutil_la_CXXFLAGS = $(liboctave_liboctave_la_CXXFLAGS)
+
+liboctave_liboctave_la_LIBADD += liboctave/util/libutil.la