changeset 20401:9b44691a3520

provide per-directory clean targets * Makefile.am, doc/module.mk, libgui/graphics/module.mk, libgui/module.mk, libgui/qterminal-module.mk, libgui/src/module.mk, libinterp/corefcn/module.mk, libinterp/module.mk, 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/module.mk, liboctave/numeric/module.mk, liboctave/operators/module.mk, liboctave/system/module.mk, liboctave/util/module.mk, scripts/java/module.mk, scripts/module.mk, scripts/startup/module.mk, src/module.mk: For each major subdirectory tree (liboctave, libinterp, libgui, src, doc, examples, test), provide SUBDIR-clean, SUBDIR-distclean, and SUBDIR-maintainer-clean targets.
author John W. Eaton <jwe@octave.org>
date Fri, 17 Jul 2015 14:44:47 -0400
parents 0932426e3866
children 6b7c10920dfe
files Makefile.am doc/module.mk etc/module.mk examples/module.mk libgui/graphics/module.mk libgui/module.mk libgui/qterminal-module.mk libgui/src/module.mk libinterp/corefcn/module.mk libinterp/module.mk 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/module.mk liboctave/numeric/module.mk liboctave/operators/module.mk liboctave/system/module.mk liboctave/util/module.mk scripts/java/module.mk scripts/module.mk scripts/startup/module.mk src/module.mk test/module.mk
diffstat 41 files changed, 324 insertions(+), 229 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.am	Fri Jul 17 00:59:10 2015 -0400
+++ b/Makefile.am	Fri Jul 17 14:44:47 2015 -0400
@@ -237,7 +237,7 @@
 
 clean-local: doc-clean
 
-distclean-local: scripts-distclean
+distclean-local:
 
 maintainer-clean-local: doc-maintainer-clean
 
--- a/doc/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/doc/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,3 +1,9 @@
+doc_EXTRA_DIST =
+
+doc_CLEANFILES =
+doc_DISTCLEANFILES =
+doc_MAINTAINERCLEANFILES =
+
 TEXINFO_TEX = doc/texinfo.tex
 
 TEXINPUTS := $(PATH_SEPARATOR)$(top_srcdir)/doc/interpreter$(PATH_SEPARATOR)$(PATH_SEPARATOR)$(top_builddir)/doc/interpreter$(PATH_SEPARATOR)$(TEXINPUTS)$(PATH_SEPARATOR)
@@ -28,11 +34,11 @@
 ## also depends on the DVI file and somehow the rules are invoked
 ## twice.  Is that a bug in automake or make or what?
 
-EXTRA_DIST += \
+doc_EXTRA_DIST += \
   doc/texinfo.tex \
   doc/texmf.cnf
 
-EXTRA_DIST += \
+doc_EXTRA_DIST += \
   doc/doxyhtml/Doxyfile.in \
   doc/doxyhtml/README
 
@@ -278,7 +284,7 @@
   $(OCTAVE_HTML_STAMP) \
   $(HTMLDIR_IMAGES)
 
-EXTRA_DIST += \
+doc_EXTRA_DIST += \
   $(BUILT_OCTAVE_TEXI_SRC) \
   $(srcdir)/doc/interpreter/octave.info \
   doc/interpreter/TODO \
@@ -349,7 +355,7 @@
 	  --no-validate --no-headers --no-split --output $@-t $< && \
 	mv $@-t $@
 
-EXTRA_DIST += \
+doc_EXTRA_DIST += \
   doc/interpreter/config-images.sh \
   doc/interpreter/contributors.in \
   doc/interpreter/doc-cache \
@@ -368,17 +374,14 @@
   $(LOGOS) \
   $(TXI_SRC)
 
-interpreter-clean:
+doc-interpreter-clean:
 	rm -rf t2d_cache
 
-interpreter-maintainer-clean:
-	rm -f $(BUILT_OCTAVE_TEXI_SRC)
-
-DISTCLEANFILES += \
-  $(BUILT_TEXINFOS) \
+doc_DISTCLEANFILES += \
+  $(BUILT_OCTAVE_TEXI_SRC) \
   $(OCTAVE_HTML_STAMP)
 
-MAINTAINERCLEANFILES += \
+doc_MAINTAINERCLEANFILES += \
   AUTHORS \
   $(BUILT_DOC_IMAGES) \
   doc/interpreter/doc-cache
@@ -415,7 +418,7 @@
   doc/liboctave/liboctave.pdf \
   doc/liboctave/liboctave.html
 
-EXTRA_DIST += \
+doc_EXTRA_DIST += \
   $(liboctave_TEXINFOS) \
   $(srcdir)/doc/liboctave/liboctave.info \
   doc/liboctave/liboctave.dvi \
@@ -428,7 +431,7 @@
 ## the DVI and PDF builds are forced to run serially through a Makefile rule.
 #doc/liboctave/liboctave.pdf: doc/liboctave/liboctave.dvi
 
-liboctave-clean:
+doc-liboctave-clean:
 	rm -rf doc/liboctave/t2d_cache
 
 DIRSTAMP_FILES += doc/liboctave/$(octave_dirstamp)
@@ -477,24 +480,8 @@
 doc/refcard/refcard-letter.ps: doc/refcard/refcard-letter.dvi
 	-$(AM_V_DVIPS)$(DVIPS) $(AM_V_texinfo) -T 11in,8.5in -o $@ $<
 
-EXTRA_DIST += \
-  $(refcard_FORMATTED) \
-  $(refcard_TEX_SRC)
-
-CLEANFILES += \
-  doc/refcard/refcard-a4.log \
-  doc/refcard/refcard-legal.log \
-  doc/refcard/refcard-letter.log
-
-MAINTAINERCLEANFILES += \
-  $(refcard_FORMATTED)
-
 DIRSTAMP_FILES += doc/refcard/$(octave_dirstamp)
 
-doc-clean: interpreter-clean
-
-doc-maintainer-clean: doxyhtml-maintainer-clean interpreter-maintainer-clean
-
 $(srcdir)/doc/interpreter/images.mk: $(srcdir)/doc/interpreter/config-images.sh $(srcdir)/doc/interpreter/images.awk $(srcdir)/doc/interpreter/images
 	$(srcdir)/doc/interpreter/config-images.sh $(top_srcdir)
 
@@ -508,6 +495,18 @@
 	TEXINPUTS="$(abs_top_srcdir)/doc/refcard:$(TEXINPUTS):" \
 	$(PDFTEX) $(<F) $(AM_V_texidevnull)
 
+doc_EXTRA_DIST += \
+  $(refcard_FORMATTED) \
+  $(refcard_TEX_SRC)
+
+doc_CLEANFILES += \
+  doc/refcard/refcard-a4.log \
+  doc/refcard/refcard-legal.log \
+  doc/refcard/refcard-letter.log
+
+doc_MAINTAINERCLEANFILES += \
+  $(refcard_FORMATTED)
+
 endif
 
 doc/interpreter/undocumented_list:
@@ -533,3 +532,18 @@
 		echo "Spellcheck passed"; \
 	fi
 .PHONY: spellcheck
+
+EXTRA_DIST += $(doc_EXTRA_DIST)
+
+CLEANFILES += $(doc_CLEANFILES)
+DISTCLEANFILES += $(doc_DISTCLEANFILES)
+MAINTAINERCLEANFILES += $(doc_MAINTAINERCLEANFILES)
+
+doc-clean:
+	rm -f $(doc_CLEANFILES)
+
+doc-distclean: doc-clean
+	rm -f $(doc_DISTCLEANFILES)
+
+doc-maintainer-clean: doc-distclean
+	rm -f $(doc_MAINTAINERCLEANFILES)
--- a/etc/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/etc/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,4 +1,10 @@
-EXTRA_DIST += \
+etc_EXTRA_DIST =
+
+etc_CLEANFILES =
+etc_DISTCLEANFILES =
+etc_MAINTAINERCLEANFILES =
+
+etc_EXTRA_DIST += \
   etc/NEWS.1 \
   etc/NEWS.2 \
   etc/NEWS.3 \
@@ -12,7 +18,7 @@
   etc/README.kpathsea \
   etc/gdbinit
 
-EXTRA_DIST += \
+etc_EXTRA_DIST += \
   etc/OLD-ChangeLogs/ChangeLog \
   etc/OLD-ChangeLogs/ChangeLog.1 \
   etc/OLD-ChangeLogs/doc-ChangeLog \
@@ -45,7 +51,7 @@
   $(BUILT_PNG_ICONS) \
   etc/icons/octave-logo.ico
 
-EXTRA_DIST += \
+etc_EXTRA_DIST += \
   $(BUILT_ICONS) \
   $(icon_IMAGE_FILES) \
   etc/icons/octave.appdata.xml.in \
@@ -118,10 +124,24 @@
 	rm -f $(DESTDIR)$(datadir)/icons/hicolor/scalable/apps/octave.svg
 	rm -f $(DESTDIR)$(datadir)/appdata/$(VENDOR)-octave.appdata.xml
 
-CLEANFILES += \
+EXTRA_DIST += $(etc_EXTRA_DIST)
+
+etc_CLEANFILES += \
   etc/icons/octave.appdata.xml \
   etc/icons/octave.desktop
 
-MAINTAINERCLEANFILES += \
+etc_MAINTAINERCLEANFILES += \
   $(BUILT_ICONS)
 
+CLEANFILES += $(etc_CLEANFILES)
+DISTCLEANFILES += $(etc_DISTCLEANFILES)
+MAINTAINERCLEANFILES += $(etc_MAINTAINERCLEANFILES)
+
+etc-clean:
+	rm -f $(etc_CLEANFILES)
+
+etc-distclean: etc-clean
+	rm -f $(etc_DISTCLEANFILES)
+
+etc-maintainer-clean: etc-distclean
+	rm -f $(etc_MAINTAINERCLEANFILES)
--- a/examples/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/examples/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,3 +1,9 @@
+examples_EXTRA_DIST =
+
+examples_CLEANFILES =
+examples_DISTCLEANFILES =
+examples_MAINTAINERCLEANFILES =
+
 examples_data_SRC = \
    examples/data/penny.mat
 
@@ -55,8 +61,23 @@
   examples/code/structdemo.cc \
   examples/code/unwinddemo.cc
 
-EXTRA_DIST += \
+examples_EXTRA_DIST += \
   $(examples_data_SRC) \
   $(examples_code_SRC) \
   examples/code/COPYING \
   examples/module.mk
+
+EXTRA_DIST += $(examples_EXTRA_DIST)
+
+CLEANFILES += $(examples_CLEANFILES)
+DISTCLEANFILES += $(examples_DISTCLEANFILES)
+MAINTAINERCLEANFILES += $(examples_MAINTAINERCLEANFILES)
+
+examples-clean:
+	rm -f $(examples_CLEANFILES)
+
+examples-distclean: examples-clean
+	rm -f $(examples_DISTCLEANFILES)
+
+examples-maintainer-clean: examples-distclean
+	rm -f $(examples_MAINTAINERCLEANFILES)
--- a/libgui/graphics/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/libgui/graphics/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,14 +1,3 @@
-EXTRA_DIST += \
-  libgui/graphics/module.mk \
-  libgui/graphics/qthandles.qrc \
-  libgui/graphics/images/README \
-  libgui/graphics/images/pan.png \
-  libgui/graphics/images/rotate.png \
-  libgui/graphics/images/select.png \
-  libgui/graphics/images/zoom-in.png \
-  libgui/graphics/images/zoom-out.png \
-  $(octave_gui_graphics_UI)
-
 OCTAVE_GUI_GRAPHICS_MOC = \
   libgui/graphics/moc-annotation-dialog.cc \
   libgui/graphics/moc-Backend.cc \
@@ -158,7 +147,17 @@
 
 noinst_LTLIBRARIES += libgui/graphics/libgui-graphics.la
 
-CLEANFILES += \
+libgui_EXTRA_DIST += \
+  libgui/graphics/qthandles.qrc \
+  libgui/graphics/images/README \
+  libgui/graphics/images/pan.png \
+  libgui/graphics/images/rotate.png \
+  libgui/graphics/images/select.png \
+  libgui/graphics/images/zoom-in.png \
+  libgui/graphics/images/zoom-out.png \
+  $(octave_gui_graphics_UI)
+
+libgui_CLEANFILES += \
   $(octave_gui_graphics_MOC) \
   $(octave_gui_graphics_RC) \
   $(octave_gui_graphics_UI_H)
--- a/libgui/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/libgui/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,5 +1,11 @@
 if AMCOND_BUILD_GUI
 
+libgui_EXTRA_DIST =
+
+libgui_CLEANFILES =
+libgui_DISTCLEANFILES =
+libgui_MAINTAINERCLEANFILES =
+
 MOC_CPPFLAGS =
 
 ## Fix for bug #42839 where -mieee CFLAG option is added to CPPFLAGS by gnulib.
@@ -26,8 +32,6 @@
 
 LOCALES = $(patsubst libgui/languages/%.ts, libgui/languages/%.qm, $(TRANSLATIONS))
 
-EXTRA_DIST += libgui/default-qt-settings.in $(TRANSLATIONS)
-
 include libgui/src/module.mk
 include libgui/graphics/module.mk
 include libgui/qterminal-module.mk
@@ -108,8 +112,24 @@
 DIRSTAMP_FILES += \
   libgui/languages/$(octave_dirstamp)
 
-DISTCLEANFILES += \
+libgui_EXTRA_DIST += \
+  $(TRANSLATIONS) \
+  libgui/default-qt-settings.in
+
+libgui_DISTCLEANFILES += \
   libgui/default-qt-settings \
   $(LOCALES)
 
+CLEANFILES += $(libgui_CLEANFILES)
+DISTCLEANFILES += $(libgui_DISTCLEANFILES)
+MAINTAINERCLEANFILES += $(libgui_MAINTAINERCLEANFILES)
+
+libgui-clean:
+	rm -f $(libgui_CLEANFILES)
+
+libgui-distclean: libgui-clean
+	rm -f $(libgui_DISTCLEANFILES)
+
+libgui-maintainer-clean: libgui-distclean
+	rm -f $(libgui_MAINTAINERCLEANFILES)
 endif
--- a/libgui/qterminal-module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/libgui/qterminal-module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,6 +1,3 @@
-EXTRA_DIST += \
-  libgui/qterminal-module.mk
-
 noinst_HEADERS += \
   libgui/qterminal/libqterminal/QTerminal.h \
   libgui/qterminal/libqterminal/win32/QTerminalColors.h \
@@ -117,4 +114,4 @@
 
 noinst_LTLIBRARIES += libgui/qterminal/libqterminal.la
 
-CLEANFILES += $(libgui_qterminal_libqterminal_la_MOC)
+libgui_CLEANFILES += $(libgui_qterminal_libqterminal_la_MOC)
--- a/libgui/src/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/libgui/src/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,9 +1,3 @@
-EXTRA_DIST += \
-  libgui/src/module.mk \
-  libgui/src/resource.qrc \
-  $(octave_gui_UI) \
-  $(octave_gui_ICONS)
-
 octave_gui_ICONS = \
   libgui/src/icons/applications-system.png \
   libgui/src/icons/bp-next.png \
@@ -220,7 +214,12 @@
 
 noinst_LTLIBRARIES += libgui/src/libgui-src.la
 
-CLEANFILES += \
+libgui_EXTRA_DIST += \
+  libgui/src/resource.qrc \
+  $(octave_gui_UI) \
+  $(octave_gui_ICONS)
+
+libgui_CLEANFILES += \
   $(octave_gui_MOC) \
   $(octave_gui_UI_H) \
   $(octave_gui_RC)
--- a/libinterp/corefcn/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/libinterp/corefcn/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,13 +1,3 @@
-EXTRA_DIST += \
-  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 = \
@@ -365,3 +355,13 @@
 
 libinterp_corefcn_libtex_parser_la_CXXFLAGS = \
   $(filter-out -Wold-style-cast, $(libinterp_corefcn_libcorefcn_la_CXXFLAGS))
+
+libinterp_EXTRA_DIST += \
+  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
+
--- a/libinterp/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/libinterp/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,3 +1,9 @@
+libinterp_EXTRA_DIST =
+
+libinterp_CLEANFILES =
+libinterp_DISTCLEANFILES =
+libinterp_MAINTAINERCLEANFILES =
+
 ## Search local directories before those specified by the user.
 libinterp_liboctinterp_la_CPPFLAGS = \
   @OCTINTERP_DLL_DEFS@ \
@@ -81,7 +87,7 @@
   $(ALL_DEF_FILES) \
   libinterp/builtins.cc
 
-EXTRA_DIST += \
+libinterp_EXTRA_DIST += \
   libinterp/DOCSTRINGS \
   libinterp/config-features.sh \
   libinterp/find-defun-files.sh \
@@ -357,21 +363,36 @@
 endif
 .PHONY: install-built-in-docstrings uninstall-built-in-docstrings
 
-CLEANFILES += \
+EXTRA_DIST += $(libinterp_EXTRA_DIST)
+
+libinterp_CLEANFILES += \
   $(DLDFCN_PKG_ADD_FILE) \
   libinterp/corefcn/graphics-props.cc \
   libinterp/corefcn/oct-tex-parser.output \
   libinterp/parse-tree/oct-parse.output
 
-DISTCLEANFILES += \
+libinterp_DISTCLEANFILES += \
   libinterp/.DOCSTRINGS \
   libinterp/DOCSTRINGS \
   $(LIBINTERP_BUILT_NODISTFILES) \
   $(OCT_FILES) \
   $(LIBINTERP_TST_FILES)
 
-MAINTAINERCLEANFILES += \
+libinterp_MAINTAINERCLEANFILES += \
   $(LIBINTERP_BUILT_DISTFILES)
 
 BUILT_DISTFILES += $(LIBINTERP_BUILT_DISTFILES)
 BUILT_NODISTFILES += $(LIBINTERP_BUILT_NODISTFILES)
+
+CLEANFILES += $(libinterp_CLEANFILES)
+DISTCLEANFILES += $(libinterp_DISTCLEANFILES)
+MAINTAINERCLEANFILES += $(libinterp_MAINTAINERCLEANFILES)
+
+libinterp-clean:
+	rm -f $(libinterp_CLEANFILES)
+
+libinterp-distclean: libinterp-clean
+	rm -f $(libinterp_DISTCLEANFILES)
+
+libinterp-maintainer-clean: libinterp-distclean
+	rm -f $(libinterp_MAINTAINERCLEANFILES)
--- a/libinterp/octave-value/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/libinterp/octave-value/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,6 +1,3 @@
-EXTRA_DIST += \
-  libinterp/octave-value/module.mk
-
 OV_INTTYPE_INC = \
   libinterp/octave-value/ov-base-int.h \
   libinterp/octave-value/ov-base-int.cc \
--- a/libinterp/operators/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/libinterp/operators/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,5 +1,3 @@
-EXTRA_DIST += libinterp/operators/module.mk
-
 LIBINTERP_OPERATORS_SRC = \
   libinterp/operators/op-b-b.cc \
   libinterp/operators/op-b-bm.cc \
--- a/libinterp/parse-tree/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/libinterp/parse-tree/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,8 +1,3 @@
-EXTRA_DIST += \
-  libinterp/parse-tree/module.mk \
-  libinterp/parse-tree/oct-parse.in.yy \
-  libinterp/parse-tree/octave.gperf
-
 PARSER_INC = \
   libinterp/parse-tree/lex.h \
   libinterp/parse-tree/parse.h
@@ -114,3 +109,8 @@
 
 libinterp_parse_tree_libparser_la_CXXFLAGS = \
   $(filter-out -Wold-style-cast, $(AM_CXXFLAGS))
+
+libinterp_EXTRA_DIST += \
+  libinterp/parse-tree/oct-parse.in.yy \
+  libinterp/parse-tree/octave.gperf
+
--- a/libinterp/template-inst/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/libinterp/template-inst/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,5 +1,3 @@
-EXTRA_DIST += libinterp/template-inst/module.mk
-
 TEMPLATE_INST_SRC = \
   libinterp/template-inst/Array-os.cc \
   libinterp/template-inst/Array-tc.cc \
--- a/liboctave/array/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/liboctave/array/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,6 +1,3 @@
-EXTRA_DIST += \
-  liboctave/array/module.mk
-
 ARRAY_INC = \
   liboctave/array/Array.h \
   liboctave/array/Array-util.h \
--- a/liboctave/cruft/Faddeeva/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/liboctave/cruft/Faddeeva/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,5 +1,3 @@
-EXTRA_DIST += liboctave/cruft/Faddeeva/module.mk
-
 CRUFT_SOURCES += \
   liboctave/cruft/Faddeeva/Faddeeva.cc \
   liboctave/cruft/Faddeeva/Faddeeva.hh
--- a/liboctave/cruft/amos/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/liboctave/cruft/amos/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,5 +1,3 @@
-EXTRA_DIST += liboctave/cruft/amos/module.mk
-
 CRUFT_SOURCES += \
   liboctave/cruft/amos/cacai.f \
   liboctave/cruft/amos/cacon.f \
--- a/liboctave/cruft/blas-xtra/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/liboctave/cruft/blas-xtra/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,5 +1,3 @@
-EXTRA_DIST += liboctave/cruft/blas-xtra/module.mk
-
 CRUFT_SOURCES += \
   liboctave/cruft/blas-xtra/ddot3.f \
   liboctave/cruft/blas-xtra/zdotc3.f \
--- a/liboctave/cruft/daspk/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/liboctave/cruft/daspk/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,5 +1,3 @@
-EXTRA_DIST += liboctave/cruft/daspk/module.mk
-
 CRUFT_SOURCES += \
   liboctave/cruft/daspk/datv.f \
   liboctave/cruft/daspk/dcnst0.f \
--- a/liboctave/cruft/dasrt/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/liboctave/cruft/dasrt/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,5 +1,3 @@
-EXTRA_DIST += liboctave/cruft/dasrt/module.mk
-
 CRUFT_SOURCES += \
   liboctave/cruft/dasrt/ddasrt.f \
   liboctave/cruft/dasrt/drchek.f \
--- a/liboctave/cruft/dassl/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/liboctave/cruft/dassl/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,5 +1,3 @@
-EXTRA_DIST += liboctave/cruft/dassl/module.mk
-
 CRUFT_SOURCES += \
   liboctave/cruft/dassl/ddaini.f \
   liboctave/cruft/dassl/ddajac.f \
--- a/liboctave/cruft/fftpack/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/liboctave/cruft/fftpack/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,7 +1,3 @@
-EXTRA_DIST += \
-  liboctave/cruft/fftpack/module.mk \
-  liboctave/cruft/fftpack/fftpack.doc
-
 FFTPACK_SRC = \
   liboctave/cruft/fftpack/cfftb.f \
   liboctave/cruft/fftpack/cfftb1.f \
@@ -37,7 +33,10 @@
   liboctave/cruft/fftpack/zpassf5.f
 
 if AMCOND_HAVE_FFTW
-  EXTRA_DIST += $(FFTPACK_SRC)
+  liboctave_EXTRA_DIST += $(FFTPACK_SRC)
 else
   CRUFT_SOURCES += $(FFTPACK_SRC)
 endif
+
+liboctave_EXTRA_DIST += \
+  liboctave/cruft/fftpack/fftpack.doc
--- a/liboctave/cruft/lapack-xtra/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/liboctave/cruft/lapack-xtra/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,5 +1,3 @@
-EXTRA_DIST += liboctave/cruft/lapack-xtra/module.mk
-
 CRUFT_SOURCES += \
   liboctave/cruft/lapack-xtra/xclange.f \
   liboctave/cruft/lapack-xtra/xdlamch.f \
--- a/liboctave/cruft/misc/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/liboctave/cruft/misc/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,7 +1,3 @@
-EXTRA_DIST += \
-  liboctave/cruft/misc/module.mk \
-  liboctave/cruft/misc/d1mach-tst.for
-
 CRUFT_SOURCES += \
   liboctave/cruft/misc/blaswrap.c \
   liboctave/cruft/misc/cquit.c \
@@ -17,3 +13,6 @@
   liboctave/cruft/misc/f77-fcn.h \
   liboctave/cruft/misc/lo-error.h \
   liboctave/cruft/misc/quit.h
+
+liboctave_EXTRA_DIST += \
+  liboctave/cruft/misc/d1mach-tst.for
--- a/liboctave/cruft/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/liboctave/cruft/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,5 +1,3 @@
-EXTRA_DIST += liboctave/cruft/mkf77def.in
-
 nodist_liboctave_cruft_libcruft_la_SOURCES =
 
 liboctave_cruft_libcruft_la_FFLAGS = $(F77_INTEGER_8_FLAG)
@@ -36,7 +34,7 @@
 liboctave/cruft/cruft.def: $(liboctave_cruft_libcruft_la_SOURCES) liboctave/cruft/mkf77def
 	$(AM_V_GEN)$(gen-cruft-def)
 
-DISTCLEANFILES += \
+liboctave_DISTCLEANFILES += \
   liboctave/cruft/cruft.def \
   liboctave/cruft/mkf77def \
   liboctave/cruft/ranlib/ranlib.def \
@@ -53,3 +51,5 @@
 liboctave_cruft_libcruft_la_CXXFLAGS = $(liboctave_liboctave_la_CXXFLAGS)
 
 liboctave_liboctave_la_LIBADD += liboctave/cruft/libcruft.la
+
+liboctave_EXTRA_DIST += liboctave/cruft/mkf77def.in
--- a/liboctave/cruft/odepack/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/liboctave/cruft/odepack/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,5 +1,3 @@
-EXTRA_DIST += liboctave/cruft/odepack/module.mk
-
 CRUFT_SOURCES += \
   liboctave/cruft/odepack/cfode.f \
   liboctave/cruft/odepack/dlsode.f \
--- a/liboctave/cruft/ordered-qz/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/liboctave/cruft/ordered-qz/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,5 +1,3 @@
-EXTRA_DIST += liboctave/cruft/ordered-qz/module.mk
-
 CRUFT_SOURCES += \
   liboctave/cruft/ordered-qz/dsubsp.f \
   liboctave/cruft/ordered-qz/exchqz.f \
--- a/liboctave/cruft/quadpack/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/liboctave/cruft/quadpack/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,5 +1,3 @@
-EXTRA_DIST += liboctave/cruft/quadpack/module.mk
-
 CRUFT_SOURCES += \
   liboctave/cruft/quadpack/dqagi.f \
   liboctave/cruft/quadpack/dqagie.f \
--- a/liboctave/cruft/ranlib/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/liboctave/cruft/ranlib/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,14 +1,3 @@
-EXTRA_DIST += \
-  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 = \
   liboctave/cruft/ranlib/advnst.f \
   liboctave/cruft/ranlib/genbet.f \
@@ -65,3 +54,13 @@
 	$(AM_V_GEN)$(gen-ranlib-def)
 
 liboctave_liboctave_la_LIBADD += liboctave/cruft/ranlib/libranlib.la
+
+liboctave_EXTRA_DIST += \
+  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
--- a/liboctave/cruft/slatec-err/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/liboctave/cruft/slatec-err/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,5 +1,3 @@
-EXTRA_DIST += liboctave/cruft/slatec-err/module.mk
-
 CRUFT_SOURCES += \
   liboctave/cruft/slatec-err/fdump.f \
   liboctave/cruft/slatec-err/ixsav.f \
--- a/liboctave/cruft/slatec-fn/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/liboctave/cruft/slatec-fn/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,8 +1,3 @@
-EXTRA_DIST += \
-  liboctave/cruft/slatec-fn/module.mk \
-  liboctave/cruft/slatec-fn/derfc.in.f \
-  liboctave/cruft/slatec-fn/erfc.in.f
-
 CRUFT_SOURCES += \
   liboctave/cruft/slatec-fn/albeta.f \
   liboctave/cruft/slatec-fn/alngam.f \
@@ -88,3 +83,7 @@
 liboctave/cruft/slatec-fn/derfc.f: liboctave/cruft/slatec-fn/derfc.in.f Makefile
 	$(AM_V_GEN)$(do-subst-isnan-macro)
 
+liboctave_EXTRA_DIST += \
+  liboctave/cruft/slatec-fn/derfc.in.f \
+  liboctave/cruft/slatec-fn/erfc.in.f
+
--- a/liboctave/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/liboctave/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,22 +1,8 @@
-# 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/>.
+liboctave_EXTRA_DIST =
+
+liboctave_CLEANFILES =
+liboctave_DISTCLEANFILES =
+liboctave_MAINTAINERCLEANFILES =
 
 ## Search local directories before those specified by the user.
 liboctave_liboctave_la_CPPFLAGS = \
@@ -117,7 +103,21 @@
 
 nobase_liboctavetests_DATA = $(LIBOCTAVE_TST_FILES)
 
-DISTCLEANFILES += \
+EXTRA_DIST += $(liboctave_EXTRA_DIST)
+
+liboctave_DISTCLEANFILES += \
   $(BUILT_INCS) \
   $(LIBOCTAVE_TST_FILES)
 
+CLEANFILES += $(liboctave_CLEANFILES)
+DISTCLEANFILES += $(liboctave_DISTCLEANFILES)
+MAINTAINERCLEANFILES += $(liboctave_MAINTAINERCLEANFILES)
+
+liboctave-clean:
+	rm -f $(liboctave_CLEANFILES)
+
+liboctave-distclean: liboctave-clean
+	rm -f $(liboctave_DISTCLEANFILES)
+
+liboctave-maintainer-clean: liboctave-distclean
+	rm -f $(liboctave_MAINTAINERCLEANFILES)
--- a/liboctave/numeric/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/liboctave/numeric/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,7 +1,3 @@
-EXTRA_DIST += \
-  liboctave/numeric/module.mk \
-  $(LIBOCTAVE_OPT_IN)
-
 LIBOCTAVE_OPT_INC = \
   liboctave/numeric/DASPK-opts.h \
   liboctave/numeric/DASRT-opts.h \
@@ -190,3 +186,6 @@
 liboctave_numeric_libnumeric_la_CXXFLAGS = $(liboctave_liboctave_la_CXXFLAGS)
 
 liboctave_liboctave_la_LIBADD += liboctave/numeric/libnumeric.la
+
+liboctave_EXTRA_DIST += $(LIBOCTAVE_OPT_IN)
+
--- a/liboctave/operators/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/liboctave/operators/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,18 +1,3 @@
-EXTRA_DIST += \
-  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 liboctave/operators/vx-op-inc.mk
 include liboctave/operators/mx-op-inc.mk
 include liboctave/operators/smx-op-inc.mk
@@ -66,8 +51,6 @@
 	$(AWK) -f $(OP_SRCDIR)/mk-ops.awk prefix=mx make_inclusive_header=mx-ops.h $(OP_SRCDIR)/mx-ops > $@-t && \
 	mv $@-t $@
 
-DISTCLEANFILES += $(BUILT_LIBOCTAVE_OPERATORS_SOURCES)
-
 noinst_LTLIBRARIES += liboctave/operators/liboperators.la
 
 liboctave_operators_liboperators_la_SOURCES = $(LIBOCTAVE_OPERATORS_SRC)
@@ -81,3 +64,13 @@
 liboctave_operators_liboperators_la_CXXFLAGS = $(liboctave_liboctave_la_CXXFLAGS)
 
 liboctave_liboctave_la_LIBADD += liboctave/operators/liboperators.la
+
+liboctave_EXTRA_DIST += \
+  liboctave/operators/config-ops.sh \
+  liboctave/operators/mk-ops.awk \
+  liboctave/operators/mx-ops \
+  liboctave/operators/sparse-mk-ops.awk \
+  liboctave/operators/smx-ops \
+  liboctave/operators/vx-ops
+
+liboctave_DISTCLEANFILES += $(BUILT_LIBOCTAVE_OPERATORS_SOURCES)
--- a/liboctave/system/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/liboctave/system/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,6 +1,3 @@
-EXTRA_DIST += \
-  liboctave/system/module.mk
-
 SYSTEM_INC = \
   liboctave/system/dir-ops.h \
   liboctave/system/file-ops.h \
--- a/liboctave/util/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/liboctave/util/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,6 +1,3 @@
-EXTRA_DIST += \
-  liboctave/util/module.mk
-
 UTIL_INC = \
   liboctave/util/action-container.h \
   liboctave/util/base-list.h \
--- a/scripts/java/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/scripts/java/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -47,6 +47,8 @@
 
 scripts_java_JAVA_IMAGES = $(addprefix scripts/java/, $(JAVA_IMAGES))
 
+scripts_DISTCLEANFILES += $(addprefix $(abs_top_builddir), $(java_JAVA_IMAGES))
+
 srcdir_scripts_java_JAVA_IMAGES = $(addprefix $(srcdir)/scripts/java/, $(JAVA_IMAGES))
 
 $(scripts_java_JAVA_CLASSES) : %.class : %.java scripts/java/$(octave_dirstamp)
@@ -68,17 +70,6 @@
 	mv $@-t $@
 endif
 
-EXTRA_DIST += \
-  $(scripts_java_JAR_FILES) \
-  $(scripts_java_JAVA_SRC) \
-  $(scripts_java_JAVA_IMAGES)
-
-CLEANFILES += \
-  $(scripts_java_JAR_FILES) \
-  $(scripts_java_JAVA_CLASSES)
-
-DISTCLEANFILES += scripts/java/images.stamp
-
 scripts_javadir = $(fcnfiledir)/java
 
 scripts_java_DATA = \
@@ -90,3 +81,14 @@
 PKG_ADD_FILES += scripts/java/PKG_ADD
 
 DIRSTAMP_FILES += scripts/java/$(octave_dirstamp)
+
+scripts_EXTRA_DIST += \
+  $(scripts_java_JAR_FILES) \
+  $(scripts_java_JAVA_SRC) \
+  $(scripts_java_JAVA_IMAGES)
+
+scripts_CLEANFILES += \
+  $(scripts_java_JAR_FILES) \
+  $(scripts_java_JAVA_CLASSES)
+
+scripts_DISTCLEANFILES += scripts/java/images.stamp
--- a/scripts/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/scripts/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,3 +1,9 @@
+scripts_EXTRA_DIST =
+
+scripts_CLEANFILES =
+scripts_DISTCLEANFILES =
+scripts_MAINTAINERCLEANFILES =
+
 ## FIXME -- including scripts/@ftp/module.mk fails.  Is that an automake bug?
 
 FCN_FILE_DIRS += scripts/@ftp
@@ -201,7 +207,7 @@
 	@echo "Packaging distribution requires Java." ; exit 1;
 endif
 
-EXTRA_DIST += \
+scripts_EXTRA_DIST += \
   $(SCRIPTS_IMAGES) \
   $(FCN_FILES) \
   $(GEN_FCN_FILES_IN) \
@@ -209,14 +215,24 @@
   scripts/mkdoc.pl \
   scripts/mk-pkg-add
 
-DISTCLEANFILES += \
+EXTRA_DIST += $(scripts_EXTRA_DIST)
+
+scripts_DISTCLEANFILES += \
   scripts/.DOCSTRINGS \
   scripts/DOCSTRINGS \
   $(PKG_ADD_FILES) \
   $(DIRSTAMP_FILES) \
   $(GEN_FCN_FILES)
 
-scripts-distclean:
-	if [ "x$(srcdir)" != "x." ]; then \
-	  rm -f $(java_JAVA_IMAGES); \
-	fi
+CLEANFILES += $(scripts_CLEANFILES)
+DISTCLEANFILES += $(scripts_DISTCLEANFILES)
+MAINTAINERCLEANFILES += $(scripts_MAINTAINERCLEANFILES)
+
+scripts-clean:
+	rm -f $(scripts_CLEANFILES)
+
+scripts-distclean: scripts-clean
+	rm -f $(scripts_DISTCLEANFILES)
+
+scripts-maintainer-clean: scripts-distclean
+	rm -f $(scripts_MAINTAINERCLEANFILES)
--- a/scripts/startup/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/scripts/startup/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -20,8 +20,8 @@
 
 FCN_FILES += $(scripts_startup_FCN_FILES)
 
-EXTRA_DIST += $(STARTUP_FILE_SRC)
-
 PKG_ADD_FILES += scripts/startup/PKG_ADD
 
 DIRSTAMP_FILES += scripts/startup/$(octave_dirstamp)
+
+scripts_EXTRA_DIST += $(STARTUP_FILE_SRC)
--- a/src/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/src/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,3 +1,9 @@
+src_EXTRA_DIST =
+
+src_CLEANFILES =
+src_DISTCLEANFILES =
+src_MAINTAINERCLEANFILES =
+
 ## Search local directories before those specified by the user.
 
 SRC_DIR_CPPFLAGS = \
@@ -218,5 +224,17 @@
 	$(AM_V_GEN)rm -f $@ && \
 	cd $(@D) && $(LN_S) $(<F) $(@F)
 
-CLEANFILES += \
-  $(OCTAVE_VERSION_LINKS)
+src_CLEANFILES += $(OCTAVE_VERSION_LINKS)
+
+CLEANFILES += $(src_CLEANFILES)
+DISTCLEANFILES += $(src_DISTCLEANFILES)
+MAINTAINERCLEANFILES += $(src_MAINTAINERCLEANFILES)
+
+src-clean:
+	rm -f $(src_CLEANFILES)
+
+src-distclean: src-clean
+	rm -f $(src_DISTCLEANFILES)
+
+src-maintainer-clean: src-distclean
+	rm -f $(src_MAINTAINERCLEANFILES)
--- a/test/module.mk	Fri Jul 17 00:59:10 2015 -0400
+++ b/test/module.mk	Fri Jul 17 14:44:47 2015 -0400
@@ -1,3 +1,9 @@
+test_EXTRA_DIST =
+
+test_CLEANFILES =
+test_DISTCLEANFILES =
+test_MAINTAINERCLEANFILES =
+
 TEST_FILES += \
   test/fntests.m \
   test/args.tst \
@@ -46,7 +52,7 @@
 include test/fcn-handle-derived-resolution/module.mk
 include test/nest/module.mk
 
-all-local: test/.gdbinit
+ALL_LOCAL_TARGETS += test/.gdbinit
 
 test/.gdbinit: etc/gdbinit
 	@$(gdbinit_install_rule)
@@ -77,31 +83,43 @@
 	$(srcdir)/test/build-bc-overload-tests.sh test $(srcdir)/test/bc-overloads-expected && \
 	touch $@
 
-GENERATED_TEST_FILES = test/sparse.tst test/bc-overload-tests.stamp
-
-BUILT_SOURCES += \
+GENERATED_TEST_FILES = \
   test/sparse.tst \
   test/bc-overload-tests.stamp
 
-EXTRA_DIST += \
-  test/build-sparse-tests.sh \
-  test/build-bc-overload-tests.sh \
-  test/bc-overloads-expected \
-  test/build_bc_overloads_expected.m \
-  $(TEST_FILES)
-
-CLEANFILES += \
-  $(GENERATED_BC_OVERLOADS_FILES) \
-  test/sparse.tst \
-  test/bc-overload-tests.stamp
-
-DISTCLEANFILES += \
-  test/.gdbinit \
-  test/fntests.log
-
 fixedtestsdir := $(octtestsdir)/fixed
 
 nobase_fixedtests_DATA = \
   test/sparse.tst \
   $(GENERATED_BC_OVERLOADS_FILES) \
   $(filter-out test/fntests.m, $(TEST_FILES))
+
+BUILT_SOURCES += $(GENERATED_TEST_FILES)
+
+test_EXTRA_DIST += \
+  test/build-sparse-tests.sh \
+  test/build-bc-overload-tests.sh \
+  test/bc-overloads-expected \
+  test/build_bc_overloads_expected.m \
+  $(TEST_FILES)
+
+test_CLEANFILES += \
+  $(GENERATED_BC_OVERLOADS_FILES) \
+  $(GENERATED_TEST_FILES)
+
+test_DISTCLEANFILES += \
+  test/.gdbinit \
+  test/fntests.log
+
+CLEANFILES += $(test_CLEANFILES)
+DISTCLEANFILES += $(test_DISTCLEANFILES)
+MAINTAINERCLEANFILES += $(test_MAINTAINERCLEANFILES)
+
+test-clean:
+	rm -f $(test_CLEANFILES)
+
+test-distclean: test-clean
+	rm -f $(test_DISTCLEANFILES)
+
+test-maintainer-clean: test-distclean
+	rm -f $(test_MAINTAINERCLEANFILES)