changeset 3297:b68ef5dec3bd

[project @ 1999-10-19 17:52:27 by jwe]
author jwe
date Tue, 19 Oct 1999 17:52:30 +0000
parents 7d60704b2cbe
children aaf82ff88c82
files ChangeLog doc/ChangeLog doc/Makefile.in doc/interpreter/Makefile.in libcruft/ChangeLog libcruft/Makefile.in octMakefile.in scripts/ChangeLog scripts/Makefile.in scripts/move-if-change scripts/statistics/Makefile.in
diffstat 11 files changed, 88 insertions(+), 50 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+1999-10-19  John W. Eaton  <jwe@bevo.che.wisc.edu>
+
+	* octMakefile.in: Use `$(MAKE) -C dir' instead of `cd dir; $(MAKE)'.
+
 Mon Sep 20 11:02:29 1999  John W. Eaton  <jwe@bevo.che.wisc.edu>
 
 	* emacs/octave-inf.el, emacs/octave-mod.el: Update to match FSF
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,5 +1,12 @@
 1999-10-19  John W. Eaton  <jwe@bevo.che.wisc.edu>
 
+	* interpreter/Makefile.in ($(TEXINFO)): Depend on $(DOCSTRINGS).
+	($(DOCSTRINGS)): New rule.
+
+	* Makefile.in (dist, bin-dist): Use `$(MAKE) -C dir' instead of
+	`cd dir; $(MAKE); cd ..'.
+	(../BUGS, ../INSTALL.OCTAVE, $(SUBDIRS)) Likewise.
+
 	* interpreter/*.txi: Rename from *.txi.
 	* interpreter/munge-texi.cc: New file.
 	* interpreter/Makefile.in: Use it to create .texi files from .txi
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -31,17 +31,13 @@
 all: $(SUBDIRS)
 .PHONY: all
 
-../INSTALL.OCTAVE:
-	cd interpreter; $(MAKE) ../../INSTALL.OCTAVE
-.PHONY: ../INSTALL.OCTAVE
-
-../BUGS:
-	cd interpreter; $(MAKE) ../../BUGS
-.PHONY: ../BUGS
+../BUGS ../INSTALL.OCTAVE:
+	$(MAKE) -C interpreter ../$@
+.PHONY: ../BUGS ../INSTALL.OCTAVE
 
 $(SUBDIRS):
 	echo making all in $@
-	cd $@; $(MAKE) all
+	$(MAKE) -C $@ all
 .PHONY: $(SUBDIRS)
 
 install install-strip uninstall clean mostlyclean distclean maintainer-clean::
@@ -66,9 +62,9 @@
 
 dist:
 	ln $(DISTFILES) ../`cat ../.fname`/doc
-	for dir in $(DISTSUBDIRS); do mkdir ../`cat ../.fname`/doc/$$dir; cd $$dir; $(MAKE) $@; cd ..; done
+	for dir in $(DISTSUBDIRS); do mkdir ../`cat ../.fname`/doc/$$dir; $(MAKE) -C $$dir $@; done
 .PHONY: dist
 
 bin-dist:
-	for dir in $(BINDISTSUBDIRS); do mkdir ../`cat ../.fname`/doc/$$dir; cd $$dir; $(MAKE) $@; cd ..; done
+	for dir in $(BINDISTSUBDIRS); do mkdir ../`cat ../.fname`/doc/$$dir; $(MAKE) -C $$dir $@; done
 .PHONY: bin-dist
--- a/doc/interpreter/Makefile.in
+++ b/doc/interpreter/Makefile.in
@@ -18,7 +18,9 @@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
 
-SOURCES = arith.txi audio.txi basics.txi bugs.txi control.txi \
+MAIN_SOURCE := octave.txi
+
+SUB_SOURCE := arith.txi audio.txi basics.txi bugs.txi control.txi \
 	cp-idx.txi data.txi diffeq.txi emacs.txi errors.txi \
 	eval.txi expr.txi fn-idx.txi func.txi gpl.txi \
 	grammar.txi image.txi install.txi intro.txi io.txi \
@@ -28,8 +30,13 @@
 	strings.txi struct.txi system.txi tips.txi var.txi \
 	vr-idx.txi
 
+SOURCES := $(MAIN_SOURCE) $(SUB_SOURCE)
 
-TEXINFO = $(SOURCES:.txi=.texi)
+MAIN_TEXINFO := $(MAIN_SOURCE:.txi=.texi)
+
+SUB_TEXINFO := $(SUB_SOURCE:.txi=.texi)
+
+TEXINFO := $(MAIN_TEXINFO) $(SUB_TEXINFO)
 
 FORMATTED = octave.dvi octave.ps octave.info octave.info-[0-9]* octave_*.html
 
@@ -56,7 +63,13 @@
 all: octave.info octave.dvi octave.ps octave_toc.html
 .PHONY: all
 
-$(TEXINFO): munge-texi
+DOCSTRINGS = $(TOPDIR)/src/DOCSTRINGS $(TOPDIR)/scripts/DOCSTRINGS
+
+$(TEXINFO): $(DOCSTRINGS) munge-texi
+
+# Kluge: if the DOCSTRING files are present, assume they are current.
+$(DOCSTRINGS):
+	$(MAKE) -C $(dir $@) $(notdir $@)
 
 %.texi : %.txi
 	./munge-texi \
@@ -64,13 +77,13 @@
 	  -d $(TOPDIR)/scripts/DOCSTRINGS < $< > $@.t
 	$(top_srcdir)/move-if-change $@.t $@
 
-octave.info: $(TEXINFO) ../conf.texi
-	-makeinfo -I$(srcdir) -I$(srcdir)/.. octave.texi
+octave.info: $(MAIN_TEXINFO) $(SUB_TEXINFO) ../conf.texi
+	-makeinfo -I$(srcdir) -I$(srcdir)/.. $<
 
-octave.dvi: $(TEXINFO) ../conf.texi
+octave.dvi: $(MAIN_TEXINFO) $(SUB_TEXINFO) ../conf.texi
 	-TEXINPUTS="$(srcdir):$(srcdir)/..:$(TEXINPUTS):"; \
 	  export TEXINPUTS; \
-	  $(TEXI2DVI) octave.texi
+	  $(TEXI2DVI) $<
 
 octave.ps: octave.dvi
 	-dvips -o octave.ps octave.dvi
@@ -79,19 +92,18 @@
 	rm -f INSTALL
 	-makeinfo -D INSTALLONLY \
 	  --no-validate --no-headers --no-split --output INSTALL \
-	  -I$(srcdir) -I$(srcdir)/.. $(srcdir)/install.texi
+	  -I$(srcdir) -I$(srcdir)/.. $<
 	mv INSTALL ../../INSTALL.OCTAVE
 
 ../../BUGS: bugs.texi
 	rm -f BUGS
 	-makeinfo -D BUGSONLY \
 	  --no-validate --no-headers --no-split --output BUGS \
-	  -I$(srcdir) -I$(srcdir)/.. $(srcdir)/bugs.texi
+	  -I$(srcdir) -I$(srcdir)/.. $<
 	mv BUGS ../../BUGS
 
-octave_toc.html:
-	-texi2html -expandinfo -split_chapter -I$(srcdir)/.. \
-	  octave.texi
+octave_toc.html: $(MAIN_TEXINFO) $(SUB_TEXINFO)
+	-texi2html -expandinfo -split_chapter -I$(srcdir)/.. $<
 
 check: all
 .PHONY: check
--- a/libcruft/ChangeLog
+++ b/libcruft/ChangeLog
@@ -1,3 +1,8 @@
+1999-10-19  John W. Eaton  <jwe@bevo.che.wisc.edu>
+
+	* Makefile.in (dist): Use `$(MAKE) -C dir' instead of `cd dir;
+	$(MAKE); cd ..'.
+
 1999-10-01  John W. Eaton  <jwe@bevo.che.wisc.edu>
 
 	* dassl/dpotrf.f, dassl/dpotf2.f: Move to lapack subdirectory.
--- a/libcruft/Makefile.in
+++ b/libcruft/Makefile.in
@@ -41,7 +41,7 @@
 
 $(SUBDIRS):
 	echo making all in $@
-	cd $@; $(MAKE) all
+	$(MAKE) -C $@ all
 .PHONY: $(SUBDIRS)
 
 # XXX FIXME XXX -- this should build the shared library directly from
@@ -137,7 +137,7 @@
 	if $(SHARED_LIBS); then rm -f *.$(SHLEXT_VER); fi
 
 dist:
-	for dir in $(SUBDIRS); do mkdir ../`cat ../.fname`/libcruft/$$dir; cd $$dir; $(MAKE) $@; cd ..; done
+	for dir in $(SUBDIRS); do mkdir ../`cat ../.fname`/libcruft/$$dir; $(MAKE) -C $$dir $@; done
 	ln $(DISTFILES) ../`cat ../.fname`/libcruft
 .PHONY: dist
 
--- a/octMakefile.in
+++ b/octMakefile.in
@@ -80,28 +80,24 @@
 
 $(SUBDIRS):
 	echo making all in $@
-	cd $@; $(MAKE) all
+	$(MAKE) -C $@ all
 .PHONY: $(SUBDIRS)
 
 check:
-	cd test; $(MAKE) check
+	$(MAKE) -C test check
 .PHONY: check
 
 kpathsea.info:
-	cd kpathsea; $(MAKE) kpathsea.info
+	$(MAKE) -C kpathsea kpathsea.info
 .PHONY: kpathsea.info
 
 octave.info:
-	cd doc/interpreter; $(MAKE) octave.info
+	$(MAKE) -C doc/interpreter octave.info
 .PHONY: octave.info
 
-INSTALL.OCTAVE:
-	cd doc; $(MAKE) ../INSTALL.OCTAVE
-.PHONY: INSTALL.OCTAVE
-
-BUGS:
-	cd doc; $(MAKE) ../BUGS
-.PHONY: BUGS
+BUGS INSTALL.OCTAVE:
+	$(MAKE) -C doc ../$@
+.PHONY: BUGS INSTALL.OCTAVE
 
 install install-strip ::
 	$(top_srcdir)/mkinstalldirs $(DIRS_TO_MAKE)
@@ -153,9 +149,7 @@
 	for dir in $(DISTDIRS); do ln -s ../$$dir `cat .fname`; done
 	for dir in $(DISTSUBDIRS); do \
 	  mkdir `cat .fname`/$$dir; \
-	  cd $$dir; \
-	  $(MAKE) dist; \
-	  cd ..; \
+	  $(MAKE) -C $$dir dist; \
 	done
 	tar chf `cat .fname`.tar `cat .fname`
 	rm -rf `cat .fname`
@@ -202,9 +196,7 @@
 	ln $(CONF_DISTFILES) `cat .fname`
 	for dir in $(CONF_DISTSUBDIRS); do \
 	  mkdir `cat .fname`/$$dir; \
-	  cd $$dir; \
-	  $(MAKE) conf-dist; \
-	  cd ..; \
+	  $(MAKE) -C $$dir conf-dist; \
 	done
 	tar chf `cat .fname`.tar `cat .fname`
 	rm -rf `cat .fname`
@@ -229,9 +221,7 @@
 	ln $(BINDISTFILES) `cat .fname`
 	for dir in $(BINDISTSUBDIRS); do \
 	  mkdir `cat .fname`/$$dir; \
-	  cd $$dir; \
-	  $(MAKE) bin-dist; \
-	  cd ..; \
+	  $(MAKE) -C $$dir bin-dist; \
 	done
 	tar chf `cat .fname`.tar `cat .fname`
 	rm -rf `cat .fname`
--- a/scripts/ChangeLog
+++ b/scripts/ChangeLog
@@ -1,5 +1,14 @@
 1999-10-19  John W. Eaton  <jwe@bevo.che.wisc.edu>
 
+	* Makefile.in (dist, bin-dist): Use `$(MAKE) -C dir' instead of
+	`cd dir; $(MAKE); cd ..'.
+	($(SUBDIRS)): Likewise.
+
+	* statistics/Makefile.in ($(SUBDIRS)): Likewise.
+
+	* statistics/Makefile.in (bin-dist): Use `$(MAKE) -C dir' instead
+	of `cd dir; $(MAKE)'.
+
 	* gethelp.cc, mkdoc: New files.
 	* Makefile.in: Use them to create DOCSTRINGS file from .m file
 	sources.
--- a/scripts/Makefile.in
+++ b/scripts/Makefile.in
@@ -41,7 +41,7 @@
 
 $(SUBDIRS):
 	echo making all in $@
-	cd $@; $(MAKE) all
+	$(MAKE) -C $@ all
 .PHONY: $(SUBDIRS)
 
 DOCSTRINGS: gethelp mkdoc
@@ -78,9 +78,9 @@
 
 dist:
 	ln $(DISTFILES) ../`cat ../.fname`/scripts
-	for dir in $(DISTSUBDIRS); do mkdir ../`cat ../.fname`/scripts/$$dir; cd $$dir; $(MAKE) $@; cd ..; done
+	for dir in $(DISTSUBDIRS); do mkdir ../`cat ../.fname`/scripts/$$dir; $(MAKE) -C $$dir $@; done
 .PHONY: dist
 
 bin-dist:
-	for dir in $(BINDISTSUBDIRS); do mkdir ../`cat ../.fname`/scripts/$$dir; cd $$dir; $(MAKE) $@; cd ..; done
+	for dir in $(BINDISTSUBDIRS); do mkdir ../`cat ../.fname`/scripts/$$dir; $(MAKE) -c $$dir $@; done
 .PHONY: bin-dist
new file mode 100755
--- /dev/null
+++ b/scripts/move-if-change
@@ -0,0 +1,15 @@
+#!/bin/sh
+#
+# Like mv $1 $2, but if the files are the same, just delete $1.
+# Status is 0 if $2 is changed, 1 otherwise.
+
+if test -r $2; then
+  if cmp $1 $2 > /dev/null; then
+    echo $2 is unchanged
+    rm -f $1
+  else
+    mv -f $1 $2
+  fi
+else
+  mv -f $1 $2
+fi
--- a/scripts/statistics/Makefile.in
+++ b/scripts/statistics/Makefile.in
@@ -38,7 +38,7 @@
 
 $(SUBDIRS):
 	echo making all in $@
-	cd $@; $(MAKE) all
+	$(MAKE) -C $@ all
 .PHONY: $(SUBDIRS)
 
 install install-strip uninstall clean mostlyclean distclean maintainer-clean::
@@ -67,9 +67,9 @@
 
 dist:
 	ln $(DISTFILES) ../../`cat ../../.fname`/scripts/statistics
-	for dir in $(DISTSUBDIRS); do mkdir ../../`cat ../../.fname`/scripts/statistics/$$dir; cd $$dir; $(MAKE) $@; cd ..; done
+	for dir in $(DISTSUBDIRS); do mkdir ../../`cat ../../.fname`/scripts/statistics/$$dir; $(MAKE) -C $$dir $@; done
 .PHONY: dist
 
 bin-dist:
-	for dir in $(BINDISTSUBDIRS); do mkdir ../../`cat ../../.fname`/scripts/statistics/$$dir; cd $$dir; $(MAKE) $@; cd ..; done
+	for dir in $(BINDISTSUBDIRS); do mkdir ../../`cat ../../.fname`/scripts/statistics/$$dir; $(MAKE) -C $$dir $@; done
 .PHONY: bin-dist