summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2012-04-07 13:19:22 +0300
committerEli Zaretskii <eliz@gnu.org>2012-04-07 13:19:22 +0300
commitd67a9a85f5269ebf4c52ac7d3b9400919f5b890f (patch)
tree3a76eccb3d5889f7ec46587e77cd6754a947064e
parent1dcece25987df8bd3e98ed8c936d9179bfa2f830 (diff)
downloademacs-d67a9a85f5269ebf4c52ac7d3b9400919f5b890f.tar.gz
Fix parallel build and bootstrap on MS-Windows.
nt/makefile.w32-in: (all): Don't depend on stamp_BLD and on maybe-bootstrap. (all-other-dirs-$(MAKETYPE)): Depend on maybe-bootstrap. (bootstrap-gmake): Invoke the "clean" and build targets in 2 separate commands, so they run in that order even under "make -j". lib/makefile.w32-in (gnulib, all): Don't depend on stamp_BLD. lib-src/makefile.w32-in (ALL): Now the list of executables, not of phony targets. (.PHONY): Only make-docfile is its prerequisite now. (make-docfile): Don't depend on stamp_BLD. Add a comment about the need in this target. (ctags, etags, ebrowse, hexl, movemail, emacsclient) (test-distrib): Phony targets removed. ($(BLD)/test-distrib.exe): Run test-distrib as part of the recipe. (all): Don't depend on stamp_BLD.
-rw-r--r--ChangeLog4
-rw-r--r--lib-src/ChangeLog12
-rw-r--r--lib-src/makefile.w32-in23
-rw-r--r--lib/makefile.w32-in4
-rw-r--r--nt/ChangeLog4
-rw-r--r--nt/makefile.w32-in10
6 files changed, 38 insertions, 19 deletions
diff --git a/ChangeLog b/ChangeLog
index 8aee7b2ce40..8c0e8104c4c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2012-04-07 Eli Zaretskii <eliz@gnu.org>
+
+ * lib/makefile.w32-in (gnulib, all): Don't depend on stamp_BLD.
+
2012-03-04 Paul Eggert <eggert@cs.ucla.edu>
configure: fix ncurses 'configure' issue on Solaris 10 (Bug#10677)
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog
index 2384599caf2..ec7f9a626c1 100644
--- a/lib-src/ChangeLog
+++ b/lib-src/ChangeLog
@@ -1,3 +1,15 @@
+2012-04-07 Eli Zaretskii <eliz@gnu.org>
+
+ * makefile.w32-in (ALL): Now the list of executables, not of phony
+ targets.
+ (.PHONY): Only make-docfile is its prerequisite now.
+ (make-docfile): Don't depend on stamp_BLD. Add a comment about
+ the need in this target.
+ (ctags, etags, ebrowse, hexl, movemail, emacsclient)
+ (test-distrib): Phony targets removed.
+ ($(BLD)/test-distrib.exe): Run test-distrib as part of the recipe.
+ (all): Don't depend on stamp_BLD.
+
2012-03-11 Andreas Schwab <schwab@linux-m68k.org>
* emacsclient.c (main): Handle -print-nonl command.
diff --git a/lib-src/makefile.w32-in b/lib-src/makefile.w32-in
index 117a835c03f..b181b1b4d7f 100644
--- a/lib-src/makefile.w32-in
+++ b/lib-src/makefile.w32-in
@@ -17,9 +17,11 @@
# along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
-ALL = make-docfile hexl ctags etags movemail ebrowse emacsclient
+ALL = $(BLD)/make-docfile.exe $(BLD)/hexl.exe $(BLD)/ctags.exe\
+ $(BLD)/etags.exe $(BLD)/movemail.exe $(BLD)/ebrowse.exe\
+ $(BLD)/emacsclient.exe $(BLD)/emacsclientw.exe
-.PHONY: $(ALL)
+.PHONY: make-docfile
LOCAL_FLAGS = -DWINDOWSNT -DDOS_NT -DNO_LDAV=1 \
-DNO_ARCHIVES=1 -DHAVE_CONFIG_H=1 -I../lib \
@@ -27,23 +29,16 @@ LOCAL_FLAGS = -DWINDOWSNT -DDOS_NT -DNO_LDAV=1 \
LIBS = $(BASE_LIBS) $(ADVAPI32)
+# The following target is used by makefile.w32-in files in other directories.
+make-docfile: $(BLD)/make-docfile.exe
+
$(BLD)/make-docfile.exe: $(BLD)/make-docfile.$(O) $(BLD)/ntlib.$(O)
$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/make-docfile.$(O) $(BLD)/ntlib.$(O) $(LIBS)
$(BLD)/hexl.exe: $(BLD)/hexl.$(O)
$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/hexl.$(O) $(LIBS)
$(BLD)/test-distrib.exe: $(BLD)/test-distrib.$(O)
$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/test-distrib.$(O) $(LIBS)
-
-make-docfile: stamp_BLD $(BLD)/make-docfile.exe
-ctags: stamp_BLD $(BLD)/ctags.exe
-etags: stamp_BLD $(BLD)/etags.exe
-ebrowse: stamp_BLD $(BLD)/ebrowse.exe
-hexl: stamp_BLD $(BLD)/hexl.exe
-movemail: stamp_BLD $(BLD)/movemail.exe
-emacsclient: stamp_BLD $(BLD)/emacsclient.exe $(BLD)/emacsclientw.exe
-
-test-distrib: stamp_BLD $(BLD)/test-distrib.exe
- "$(BLD)/test-distrib.exe" "$(SRC)/testfile"
+ "$(BLD)/test-distrib.exe" "$(SRC)/testfile"
MOVEMAILOBJS = $(BLD)/movemail.$(O) \
$(BLD)/pop.$(O) \
@@ -297,7 +292,7 @@ $(DOC): stamp_BLD $(BLD)/make-docfile.exe ../src/$(BLD)/temacs.exe $(lisp1) $(l
#
# Build the executables
#
-all: stamp_BLD $(ALL) $(DOC)
+all: $(ALL) $(DOC)
#
# Assuming INSTALL_DIR is defined, build and install emacs in it.
diff --git a/lib/makefile.w32-in b/lib/makefile.w32-in
index 3600406ac13..a2870345ad6 100644
--- a/lib/makefile.w32-in
+++ b/lib/makefile.w32-in
@@ -41,12 +41,12 @@ $(BLD)/libgnu.$(A): $(GNULIBOBJS)
- $(DEL) $@
$(AR) $(AR_OUT)$@ $(ALL_DEPS)
-gnulib: stamp_BLD $(BLD)/libgnu.$(A)
+gnulib: $(BLD)/libgnu.$(A)
#
# Build everything
#
-all: stamp_BLD $(ALL)
+all: $(ALL)
### TAGS ###
diff --git a/nt/ChangeLog b/nt/ChangeLog
index cecf6ac3aca..136be32ea0c 100644
--- a/nt/ChangeLog
+++ b/nt/ChangeLog
@@ -1,6 +1,10 @@
2012-04-07 Eli Zaretskii <eliz@gnu.org>
* makefile.w32-in: Convert to Unix EOL format.
+ (all): Don't depend on stamp_BLD and on maybe-bootstrap.
+ (all-other-dirs-$(MAKETYPE)): Depend on maybe-bootstrap.
+ (bootstrap-gmake): Invoke the "clean" and build targets in 2
+ separate commands, so they run in that order even under "make -j".
2012-03-29 Eli Zaretskii <eliz@gnu.org>
diff --git a/nt/makefile.w32-in b/nt/makefile.w32-in
index e37a4603291..48f4e299fc6 100644
--- a/nt/makefile.w32-in
+++ b/nt/makefile.w32-in
@@ -89,7 +89,9 @@ $(BLD)/addpm.$(O) $(BLD)/ddeclient.$(O) $(BLD)/runemacs.$(O) $(BLD)/cmdproxy.$(O
#
# Build emacs
#
-all: which-sh stamp_BLD $(ALL) $(CLIENTRES) maybe-bootstrap all-other-dirs-$(MAKETYPE)
+all: which-sh $(ALL) $(CLIENTRES) all-other-dirs-$(MAKETYPE)
+
+all-other-dirs-$(MAKETYPE): maybe-bootstrap
all-other-dirs-nmake: addsection
cd ..\lib
@@ -177,8 +179,10 @@ bootstrap-nmake: addsection cmdproxy
bootstrap-gmake: addsection cmdproxy
$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp bootstrap-clean
$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src clean
- $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src clean make-docfile
- $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib clean all
+ $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src clean
+ $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src make-docfile
+ $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib clean
+ $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib all
$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap
$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap-clean
$(CP) $(BLD)/cmdproxy.exe ../bin