changeset 2259:e77c2aea9fd8

[xemacs-hg @ 2004-09-10 11:58:06 by malcolmp] Add support for parallel builds.
author malcolmp
date Fri, 10 Sep 2004 11:58:33 +0000
parents 6ff95a75d04e
children f913c1545598
files ChangeLog INSTALL Makefile.in.in src/ChangeLog src/Makefile.in.in
diffstat 5 files changed, 35 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu Sep 09 21:50:24 2004 +0000
+++ b/ChangeLog	Fri Sep 10 11:58:33 2004 +0000
@@ -1,3 +1,8 @@
+2004-09-10  Malcolm Purvis  <malcolmp@xemacs.org>
+
+	* INSTALL: A POSIX compatible Make is required for builds.
+	* Makefile.in.in: Enable support for parallel builds.
+
 2004-08-12  "Johann 'Myrkraverk' Oskarsson" <myrkraverk@users.sourceforge.net>
 
 	* config.guess: Identify PlayStation2.
--- a/INSTALL	Thu Sep 09 21:50:24 2004 +0000
+++ b/INSTALL	Fri Sep 10 11:58:33 2004 +0000
@@ -45,10 +45,11 @@
 on-line documentation. The exact amount depends greatly on the number
 of extra Lisp packages that are installed.
 
-XEmacs requires an ANSI C compiler, such as GCC.  If you wish to build
-the documentation yourself, you will need at least version 1.68 of
-makeinfo (GNU texinfo-3.11).  GNU Texinfo 4.2 is recommended; it is
-necessary for building Lisp packages, and we may move to it for the core.
+XEmacs requires an ANSI C compiler, such as GCC, and a POSIX compatible
+make, such as GNU Make.  If you wish to build the documentation
+yourself, you will need at least version 1.68 of makeinfo (GNU
+texinfo-3.11).  GNU Texinfo 4.2 is recommended; it is necessary for
+building Lisp packages, and we may move to it for the core.
 
 A note on terminology: unfortunately the terms "library" and "package"
 are heavily overloaded.  In the following, "library" refers to an
--- a/Makefile.in.in	Thu Sep 09 21:50:24 2004 +0000
+++ b/Makefile.in.in	Fri Sep 10 11:58:33 2004 +0000
@@ -275,13 +275,13 @@
 	cd ${srcdir} && $(SHELL) lib-src/config.values.sh
 
 depend ${srcdir}/src/depend:
-	cd ./src && $(RECURSIVE_MAKE) depend
+	+cd ./src && $(RECURSIVE_MAKE) depend
 
 check:
-	cd ./src && $(RECURSIVE_MAKE) $@
+	+cd ./src && $(RECURSIVE_MAKE) $@
 
 check-features: all
-	cd ./src && $(RECURSIVE_MAKE) $@
+	+cd ./src && $(RECURSIVE_MAKE) $@
 
 ## We have to force the building of Emacs.ad.h as well in order to get it
 ## updated correctly when VPATH is being used.  Since we use move-if-change,
@@ -310,7 +310,10 @@
 FRC.lisp.finder-inf.el:
 
 ${SUBDIR}: ${SUBDIR_MAKEFILES} ${GENERATED_HEADERS} FRC
-	cd ./$@ && $(RECURSIVE_MAKE) all
+	+cd ./$@ && $(RECURSIVE_MAKE) all
+
+## Building modules depends on ellcc, found in lib-src.
+modules/sample modules/ldap modules/zlib modules/base64 modules/postgresql: lib-src
 
 Makefile: ${srcdir}/Makefile.in.in config.status
 	./config.status
@@ -521,7 +524,7 @@
 ##      target for GCC does not delete `libgcc.a', because recompiling it
 ##      is rarely necessary and takes a lot of time.
 mostlyclean: FRC.mostlyclean
-	for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
+	+for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
 	$(RM) core
 
 ## `clean'
@@ -537,7 +540,7 @@
 ##      when they don't work right.  (beta can't depend on distclean, which
 ##      removes necessary files generated by configure.)
 clean: FRC.clean
-	for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
+	+for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
 	$(RM) core lisp/auto-autoloads.el* lisp/custom-load.el*
 	$(RM) lisp/mule/auto-autoloads.el* lisp/mule/custom-load.el*
 	$(RM) modules/auto-autoloads.el* modules/custom-load.el*
@@ -555,7 +558,7 @@
 	$(RM) -r site-packages xemacs-packages mule-packages site-lisp
 
 distclean: FRC.distclean
-	for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
+	+for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
 	-${top_distclean}
 
 ## `realclean'
@@ -570,7 +573,7 @@
 ##      anything that needs to exist in order to run `configure' and then
 ##      begin to build the program.
 realclean: FRC.realclean
-	for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
+	+for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
 	-${top_distclean}
 	$(RM) TAGS
 
@@ -579,7 +582,7 @@
 ## the coding standards seem to come from.  It's like distclean, but
 ## it deletes backup and autosave files too.
 extraclean:
-	for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
+	+for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
 	$(RM) *~ \#*
 	-${top_distclean}
 
@@ -630,10 +633,10 @@
 	  xargs etags -a -l none -r "/^(def\\(var\\|un\\|alias\\|const\\|macro\\|subst\\|struct\\|face\\|group\\|custom\\|ine-\\(function\\|compiler-macro\\|[a-z-]+alias\\)\\)[ 	]+'?\\([^ 	]+\\)/\\3/"
 
 info: FRC.info
-	cd ${srcdir}/man && $(RECURSIVE_MAKE) $@
+	+cd ${srcdir}/man && $(RECURSIVE_MAKE) $@
 
 dvi:
-	cd ${srcdir}/man && $(RECURSIVE_MAKE) $@
+	+cd ${srcdir}/man && $(RECURSIVE_MAKE) $@
 
 ## Fix up version information in executables (Solaris-only)
 mcs:
--- a/src/ChangeLog	Thu Sep 09 21:50:24 2004 +0000
+++ b/src/ChangeLog	Fri Sep 10 11:58:33 2004 +0000
@@ -1,3 +1,7 @@
+2004-09-10  Malcolm Purvis  <malcolmp@xemacs.org>
+
+	* Makefile.in.in: Enable support for parallel builds.
+
 2004-08-26  Jerry James  <james@xemacs.org>
 
 	* device-x.c (x_init_device): Remove unused variable device.
--- a/src/Makefile.in.in	Thu Sep 09 21:50:24 2004 +0000
+++ b/src/Makefile.in.in	Fri Sep 10 11:58:33 2004 +0000
@@ -521,19 +521,19 @@
 #ifdef HAVE_X_WINDOWS
 lwlib_deps = $(lwlib_lib)
 $(lwlib_lib):
-	cd ../lwlib && $(RECURSIVE_MAKE)
+	+cd ../lwlib && $(RECURSIVE_MAKE)
 #endif /* HAVE_X_WINDOWS */
 
 #ifdef DYNODUMP
 dynodump_deps = ../dynodump/dynodump.so
 ../dynodump/dynodump.so:
-	cd ../dynodump && $(RECURSIVE_MAKE)
+	+cd ../dynodump && $(RECURSIVE_MAKE)
 #endif /* DYNODUMP */
 
 link_deps = $(start_files) $(objs) $(otherobjs) $(lwlib_deps) $(dynodump_deps)
 
 $(LIB_SRC)/make-dump-id:
-	cd $(LIB_SRC) && $(RECURSIVE_MAKE) make-dump-id
+	+cd $(LIB_SRC) && $(RECURSIVE_MAKE) make-dump-id
 
 dump-id.c: $(LIB_SRC)/make-dump-id $(link_deps)
 	$(LIB_SRC)/make-dump-id
@@ -569,7 +569,7 @@
 obj_src = $(objs:.o=.c)
 
 $(LIB_SRC)/make-docfile:
-	cd $(LIB_SRC) && $(RECURSIVE_MAKE) make-docfile
+	+cd $(LIB_SRC) && $(RECURSIVE_MAKE) make-docfile
 
 $(LIB_SRC)/DOC: $(LIB_SRC)/make-docfile $(BLDSRC)/NEEDTODUMP $(temacs_deps)
 #ifdef QUICK_BUILD
@@ -654,7 +654,7 @@
 
 .PHONY: all-elc
 all-elc:
-	cd .. && $(RECURSIVE_MAKE)
+	+cd .. && $(RECURSIVE_MAKE)
 
 #########################################################################
 ##                     Subsidiary dependency rules                     ##
@@ -682,10 +682,10 @@
 	cd $(LIB_SRC)/ && $(msgfmt) -o emacs.mo emacs.po
 
 $(LIB_SRC)/make-msgfile:
-	cd $(LIB_SRC) && $(RECURSIVE_MAKE) make-msgfile
+	+cd $(LIB_SRC) && $(RECURSIVE_MAKE) make-msgfile
 
 $(LIB_SRC)/make-po:
-	cd $(LIB_SRC) && $(RECURSIVE_MAKE) make-po
+	+cd $(LIB_SRC) && $(RECURSIVE_MAKE) make-po
 
 #endif /* I18N3 */