diff options
author | Eli Zaretskii <eliz@gnu.org> | 2012-03-25 20:17:46 +0200 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2012-03-25 20:17:46 +0200 |
commit | e5a69fd00a424f59f2ef7be8049b47340ddaa1ca (patch) | |
tree | 23541145e69bc2288d2a931f4b4c9d66c35db67d /nt | |
parent | bf43fa51a6aabd68659c90eeb42a1b214820ea4a (diff) | |
download | emacs-e5a69fd00a424f59f2ef7be8049b47340ddaa1ca.tar.gz |
Fix parallel "make install" on MS-Windows.
nt/makefile.w32-in (install-bin): Don't copy addpm.exe here. Use
$(DIRNAME)_same-dir.tst instead of same-dir.tst, to avoid stepping
on other (parallel) Make job's toes.
(install-other-dirs-nmake, install-other-dirs-gmake): Depend on `all'.
(install-shortcuts): Depend on $(INSTALL_DIR)/bin. Copy addpm.exe
here.
(maybe-copy-distfiles-CMD, maybe-copy-distfiles-SH, dist): Depend
on create-tmp-dist-dir.
nt/nmake.defs (DIRNAME): New variable.
(IFNOTSAMEDIR): Use $(DIRNAME)_same-dir.tst instead of
same-dir.tst.
nt/gmake.defs (DIRNAME): New variable.
(IFNOTSAMEDIR): Use $(DIRNAME)_same-dir.tst instead of
same-dir.tst, to avoid conflicts between several (parallel) Make
jobs.
lisp/makefile.w32-in (install): Use $(DIRNAME)_same-dir.tst instead
of same-dir.tst, to avoid stepping on other (parallel) Make job's
toes.
leim/makefile.w32-in (install): Use $(DIRNAME)_same-dir.tst instead
of same-dir.tst, to avoid stepping on other (parallel) Make job's
toes.
Diffstat (limited to 'nt')
-rw-r--r-- | nt/ChangeLog | 20 | ||||
-rw-r--r-- | nt/gmake.defs | 6 | ||||
-rw-r--r-- | nt/makefile.w32-in | 24 | ||||
-rw-r--r-- | nt/nmake.defs | 3 |
4 files changed, 38 insertions, 15 deletions
diff --git a/nt/ChangeLog b/nt/ChangeLog index e5358841274..5c494578eeb 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog @@ -1,3 +1,23 @@ +2012-03-25 Eli Zaretskii <eliz@gnu.org> + + * makefile.w32-in (install-bin): Don't copy addpm.exe here. Use + $(DIRNAME)_same-dir.tst instead of same-dir.tst, to avoid stepping + on other (parallel) Make job's toes. + (install-other-dirs-nmake, install-other-dirs-gmake): Depend on `all'. + (install-shortcuts): Depend on $(INSTALL_DIR)/bin. Copy addpm.exe + here. + (maybe-copy-distfiles-CMD, maybe-copy-distfiles-SH, dist): Depend + on create-tmp-dist-dir. + + * nmake.defs (DIRNAME): New variable. + (IFNOTSAMEDIR): Use $(DIRNAME)_same-dir.tst instead of + same-dir.tst. + + * gmake.defs (DIRNAME): New variable. + (IFNOTSAMEDIR): Use $(DIRNAME)_same-dir.tst instead of + same-dir.tst, to avoid conflicts between several (parallel) Make + jobs. + 2012-02-24 Eli Zaretskii <eliz@gnu.org> Prevent endless re-spawning of cmdproxy.exe when some of its diff --git a/nt/gmake.defs b/nt/gmake.defs index 6839b28b975..a669ffd27be 100644 --- a/nt/gmake.defs +++ b/nt/gmake.defs @@ -245,9 +245,11 @@ CP_DIR = cp -rf DEL = rm DEL_TREE = rm -r +DIRNAME = $(notdir $(CURDIR)) + ifdef USING_SH -IFNOTSAMEDIR = if [ ! -s ../same-dir.tst ] ; then +IFNOTSAMEDIR = if [ ! -s ../$(DIRNAME)_same-dir.tst ] ; then FOREACH = for f in FORVAR = $${f} FORDO = ; do @@ -262,7 +264,7 @@ endif else -IFNOTSAMEDIR = if not exist ../same-dir.tst +IFNOTSAMEDIR = if not exist ../$(DIRNAME)_same-dir.tst FOREACH = for %%f in ( FORVAR = %%f FORDO = ) do diff --git a/nt/makefile.w32-in b/nt/makefile.w32-in index 10fe6db1ccf..8075f6cb3ef 100644 --- a/nt/makefile.w32-in +++ b/nt/makefile.w32-in @@ -214,14 +214,13 @@ $(INSTALL_DIR)/bin: $(INSTALL_DIR) install: install-bin install-shortcuts
install-bin: all $(INSTALL_DIR)/bin install-other-dirs-$(MAKETYPE)
- - $(CP) $(BLD)/addpm.exe $(INSTALL_DIR)/bin
- $(CP) $(BLD)/ddeclient.exe $(INSTALL_DIR)/bin
- $(CP) $(BLD)/cmdproxy.exe $(INSTALL_DIR)/bin
- $(CP) $(BLD)/runemacs.exe $(INSTALL_DIR)/bin
- $(CP) README.W32 $(INSTALL_DIR)
- - $(DEL) ../same-dir.tst
- - $(DEL) $(INSTALL_DIR)/same-dir.tst
- echo SameDirTest > "$(INSTALL_DIR)/same-dir.tst"
+ - $(DEL) ../$(DIRNAME)_same-dir.tst
+ - $(DEL) $(INSTALL_DIR)/$(DIRNAME)_same-dir.tst
+ echo SameDirTest > "$(INSTALL_DIR)/$(DIRNAME)_same-dir.tst"
- mkdir "$(INSTALL_DIR)/etc"
- mkdir "$(INSTALL_DIR)/info"
- mkdir "$(INSTALL_DIR)/lock"
@@ -234,10 +233,10 @@ install-bin: all $(INSTALL_DIR)/bin install-other-dirs-$(MAKETYPE) $(IFNOTSAMEDIR) $(CP_DIR) ../info $(INSTALL_DIR) $(ENDIF)
$(IFNOTSAMEDIR) $(CP) ../COPYING $(INSTALL_DIR) $(ENDIF)
- $(CP) ../COPYING $(INSTALL_DIR)/bin
- - $(DEL) ../same-dir.tst
- - $(DEL) $(INSTALL_DIR)/same-dir.tst
+ - $(DEL) ../$(DIRNAME)_same-dir.tst
+ - $(DEL) $(INSTALL_DIR)/$(DIRNAME)_same-dir.tst
-install-other-dirs-nmake:
+install-other-dirs-nmake: all
cd ..\lib-src
$(MAKE) $(MFLAGS) install
cd ..\src
@@ -248,21 +247,22 @@ install-other-dirs-nmake: $(MAKE) $(MFLAGS) install
cd ..\nt
-install-other-dirs-gmake:
+install-other-dirs-gmake: all
$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src install
$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src install
$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp install
$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim install
-install-shortcuts:
+install-shortcuts: $(INSTALL_DIR)/bin
+ - $(CP) $(BLD)/addpm.exe $(INSTALL_DIR)/bin
"$(INSTALL_DIR)/bin/addpm" -q
maybe-copy-distfiles: maybe-copy-distfiles-$(SHELLTYPE)
-maybe-copy-distfiles-CMD: doit
+maybe-copy-distfiles-CMD: create-tmp-dist-dir doit
@if not $(ARGQUOTE)$(DIST_FILES)$(ARGQUOTE)=="" $(CP_DIR) $(DIST_FILES) $(TMP_DIST_DIR)/bin
-maybe-copy-distfiles-SH: doit
+maybe-copy-distfiles-SH: create-tmp-dist-dir doit
@if [ ! $(ARGQUOTE)$(DIST_FILES)$(ARGQUOTE)=="" ] ; then \
$(CP_DIR) $(DIST_FILES) $(TMP_DIST_DIR)/bin ; \
fi
@@ -272,7 +272,7 @@ create-tmp-dist-dir: # Also create bin directory for dist files.
mkdir "$(TMP_DIST_DIR)/bin"
-dist: install-bin create-tmp-dist-dir maybe-copy-distfiles
+dist: install-bin maybe-copy-distfiles
$(CP) "$(INSTALL_DIR)/BUGS" $(TMP_DIST_DIR)
$(CP) "$(INSTALL_DIR)/COPYING" $(TMP_DIST_DIR)
$(CP) "$(INSTALL_DIR)/README" $(TMP_DIST_DIR)
diff --git a/nt/nmake.defs b/nt/nmake.defs index 2cb3113ca9a..11079b4fb7d 100644 --- a/nt/nmake.defs +++ b/nt/nmake.defs @@ -27,6 +27,7 @@ MAKETYPE=nmake CURDIR = $(MAKEDIR:\=/)
THISDIR = $(MAKEDIR)
+DIRNAME =
ALL_DEPS = $**
@@ -181,7 +182,7 @@ COMPILER_TEMP_FILES = *.pdb CP = cp -f
CP_DIR = cp -rf
-IFNOTSAMEDIR = if not exist ..\same-dir.tst
+IFNOTSAMEDIR = if not exist ..\$(DIRNAME)_same-dir.tst
ENDIF =
FOREACH = for %%f in (
FORVAR = %%f
|