changeset 21653:09c086133228

simplify rules for building DOCSTRING files (bug #47745) * libinterp/module.mk, scripts/module.mk: Don't create separate .DOCSTRINGS file. Create DOCSTRINGS files in $(srcdir). Use move-if-change to avoid rebuilding docs in tarball distribution.
author John W. Eaton <jwe@octave.org>
date Thu, 28 Apr 2016 16:44:38 -0400
parents 2e07dcdc6139
children a0ebc922fd52
files libinterp/module.mk scripts/module.mk
diffstat 2 files changed, 13 insertions(+), 41 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/module.mk	Thu Apr 28 12:12:21 2016 -0700
+++ b/libinterp/module.mk	Thu Apr 28 16:44:38 2016 -0400
@@ -90,7 +90,7 @@
   libinterp/builtins.cc
 
 libinterp_EXTRA_DIST += \
-  libinterp/DOCSTRINGS \
+  $(srcdir)/libinterp/DOCSTRINGS \
   libinterp/build-env.in.cc \
   libinterp/build-env-features.sh \
   libinterp/find-defun-files.sh \
@@ -291,23 +291,12 @@
 
 if AMCOND_BUILD_DOCS
 
-DOCSTRING_FILES += libinterp/DOCSTRINGS
-
-libinterp/DOCSTRINGS: | libinterp/.DOCSTRINGS
+DOCSTRING_FILES += $(srcdir)/libinterp/DOCSTRINGS
 
-libinterp/.DOCSTRINGS: $(ALL_DEF_FILES) libinterp/gendoc.pl | libinterp/$(octave-dirstamp)
-	$(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 && \
+$(srcdir)/libinterp/DOCSTRINGS: $(ALL_DEF_FILES) | libinterp/$(octave-dirstamp)
+	$(AM_V_GEN)rm -f $@-t && \
 	$(PERL) $(srcdir)/libinterp/gendoc.pl $(ALL_DEF_FILES) > $@-t && \
-	mv $@-t $@ && \
-	$(SHELL) $(srcdir)/build-aux/move-if-change $@ libinterp/DOCSTRINGS && \
-	touch $@
-
-OCTAVE_INTERPRETER_TARGETS += \
-  libinterp/.DOCSTRINGS
+	$(SHELL) $(srcdir)/build-aux/move-if-change $@-t $@
 
 endif
 
@@ -356,7 +345,7 @@
 if AMCOND_BUILD_DOCS
 install-built-in-docstrings:
 	$(MKDIR_P) $(DESTDIR)$(octetcdir)
-	$(INSTALL_DATA) libinterp/DOCSTRINGS $(DESTDIR)$(octetcdir)/built-in-docstrings
+	$(INSTALL_DATA) $(srcdir)/libinterp/DOCSTRINGS $(DESTDIR)$(octetcdir)/built-in-docstrings
 
 uninstall-built-in-docstrings:
 	rm -f $(DESTDIR)$(octetcdir)/built-in-docstrings
@@ -377,8 +366,7 @@
   $(LIBINTERP_TST_FILES)
 
 libinterp_MAINTAINERCLEANFILES += \
-  libinterp/.DOCSTRINGS \
-  libinterp/DOCSTRINGS \
+  $(srcdir)/libinterp/DOCSTRINGS \
   $(LIBINTERP_BUILT_DISTFILES)
 
 BUILT_DISTFILES += $(LIBINTERP_BUILT_DISTFILES)
--- a/scripts/module.mk	Thu Apr 28 12:12:21 2016 -0700
+++ b/scripts/module.mk	Thu Apr 28 16:44:38 2016 -0400
@@ -83,10 +83,6 @@
   $(PKG_ADD_FILES) \
   $(JAR_FILES)
 
-if AMCOND_BUILD_DOCS
-ALL_LOCAL_TARGETS += scripts/.DOCSTRINGS
-endif
-
 define PKG_ADD_FILE_TEMPLATE
 $(1)/PKG_ADD: $$($(2)_FCN_FILES) $$($(2)_GEN_FCN_FILES) $(1)/$(octave_dirstamp) scripts/mk-pkg-add
 	$$(AM_V_GEN)rm -f $$@-t $$@ && \
@@ -105,23 +101,12 @@
 
 if AMCOND_BUILD_DOCS
 
-DOCSTRING_FILES += scripts/DOCSTRINGS
-
-scripts/DOCSTRINGS: | scripts/.DOCSTRINGS
+DOCSTRING_FILES += $(srcdir)/scripts/DOCSTRINGS
 
-scripts/.DOCSTRINGS: $(FCN_FILES) $(GEN_FCN_FILES) scripts/mkdoc.pl | scripts/$(octave-dirstamp)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-	if [ "x$(srcdir)" != "x." ] && [ -f $(srcdir)/scripts/DOCSTRINGS ] && [ ! -f scripts/DOCSTRINGS ]; then \
-		cp $(srcdir)/scripts/DOCSTRINGS scripts/DOCSTRINGS; \
-		touch -r $(srcdir)/scripts/DOCSTRINGS scripts/DOCSTRINGS; \
-	fi && \
+$(srcdir)/scripts/DOCSTRINGS: $(FCN_FILES) $(GEN_FCN_FILES) | scripts/$(octave-dirstamp)
+	$(AM_V_GEN)rm -f $@-t && \
 	$(PERL) $(srcdir)/scripts/mkdoc.pl "$(srcdir)" $(FCN_FILES) -- $(GEN_FCN_FILES) > $@-t && \
-	mv $@-t $@ && \
-	$(SHELL) $(srcdir)/build-aux/move-if-change $@ scripts/DOCSTRINGS && \
-	touch $@
-
-OCTAVE_INTERPRETER_TARGETS += \
-  scripts/.DOCSTRINGS
+	$(SHELL) $(srcdir)/build-aux/move-if-change $@-t $@
 
 endif
 
@@ -195,7 +180,7 @@
   $(SCRIPTS_IMAGES) \
   $(FCN_FILES) \
   $(GEN_FCN_FILES_IN) \
-  scripts/DOCSTRINGS \
+  $(srcdir)/scripts/DOCSTRINGS \
   scripts/mkdoc.pl \
   scripts/mk-pkg-add
 
@@ -207,8 +192,7 @@
   $(GEN_FCN_FILES)
 
 scripts_MAINTAINERCLEANFILES += \
-  scripts/.DOCSTRINGS \
-  scripts/DOCSTRINGS
+  $(srcdir)/scripts/DOCSTRINGS
 
 CLEANFILES += $(scripts_CLEANFILES)
 DISTCLEANFILES += $(scripts_DISTCLEANFILES)