From: Eli Zaretskii Date: Sun, 25 Mar 2012 18:17:46 +0000 (+0200) Subject: Fix parallel "make install" on MS-Windows. X-Git-Tag: emacs-pretest-24.0.05~56 X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/e5a69fd00a424f59f2ef7be8049b47340ddaa1ca 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. --- diff --git a/leim/ChangeLog b/leim/ChangeLog index fe7597a0eb..ed9ff6f927 100644 --- a/leim/ChangeLog +++ b/leim/ChangeLog @@ -1,3 +1,9 @@ +2012-03-25 Eli Zaretskii + + * makefile.w32-in (install): Use $(DIRNAME)_same-dir.tst instead + of same-dir.tst, to avoid stepping on other (parallel) Make job's + toes. + 2012-03-21 Kenichi Handa * quail/indian.el ("devanagari-itrans"): Add a few more useful diff --git a/leim/makefile.w32-in b/leim/makefile.w32-in index 19ccaf4f62..e9a56e79f7 100644 --- a/leim/makefile.w32-in +++ b/leim/makefile.w32-in @@ -201,13 +201,13 @@ leim-list.el: $(SUBDIRS) $(WORLD) $(srcdir)/leim-ext.el install: all - mkdir "$(INSTALLDIR)" - - $(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 $(IFNOTSAMEDIR) $(CP) leim-list.el $(INSTALLDIR) $(ENDIF) $(IFNOTSAMEDIR) $(CP_DIR) quail $(INSTALLDIR) $(ENDIF) $(IFNOTSAMEDIR) $(CP_DIR) ja-dic $(INSTALLDIR) $(ENDIF) - - $(DEL) $(INSTALL_DIR)/same-dir.tst + - $(DEL) $(INSTALL_DIR)/$(DIRNAME)_same-dir.tst clean mostlyclean: - $(FOREACH) $(TIT) $(FORDO) $(DEL) $(FORVAR) $(ENDFOR) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a6220b11be..5a0c33da3c 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2012-03-25 Eli Zaretskii + + * makefile.w32-in (install): Use $(DIRNAME)_same-dir.tst instead + of same-dir.tst, to avoid stepping on other (parallel) Make job's + toes. + 2012-03-25 Chong Yidong * custom.el (load-theme): Even if NO-ENABLE arg is t, reenable the diff --git a/lisp/makefile.w32-in b/lisp/makefile.w32-in index 33c87778df..7907c5f10c 100644 --- a/lisp/makefile.w32-in +++ b/lisp/makefile.w32-in @@ -510,9 +510,9 @@ bootstrap: update-subdirs autoloads mh-autoloads compile finder-data custom-deps # install: - mkdir "$(INSTALL_DIR)/lisp" - - $(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" #ifdef COPY_LISP_SOURCE $(IFNOTSAMEDIR) $(MAKE) $(MFLAGS) install-lisp-$(SHELLTYPE) $(ENDIF) #else @@ -528,8 +528,8 @@ install: # $(IFNOTSAMEDIR) $(CP) international/latin-*.el "$(INSTALL_DIR)/lisp/international" $(ENDIF) # $(IFNOTSAMEDIR) $(CP) international/mule-conf.el "$(INSTALL_DIR)/lisp/international" $(ENDIF) #endif - - $(DEL) ../same-dir.tst - - $(DEL) "$(INSTALL_DIR)/same-dir.tst" + - $(DEL) ../$(DIRNAME)_same-dir.tst + - $(DEL) "$(INSTALL_DIR)/$(DIRNAME)_same-dir.tst" # Need to copy *.el files first, to avoid "source file is newer" annoyance # since cp does not preserve time stamps diff --git a/nt/ChangeLog b/nt/ChangeLog index e535884127..5c494578ee 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog @@ -1,3 +1,23 @@ +2012-03-25 Eli Zaretskii + + * 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 Prevent endless re-spawning of cmdproxy.exe when some of its diff --git a/nt/gmake.defs b/nt/gmake.defs index 6839b28b97..a669ffd27b 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 10fe6db1cc..8075f6cb3e 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 2cb3113ca9..11079b4fb7 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