1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-08 15:35:02 +00:00

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.
This commit is contained in:
Eli Zaretskii 2012-03-25 20:17:46 +02:00
parent bf43fa51a6
commit e5a69fd00a
8 changed files with 59 additions and 24 deletions

View File

@ -1,3 +1,9 @@
2012-03-25 Eli Zaretskii <eliz@gnu.org>
* 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 <handa@m17n.org>
* quail/indian.el ("devanagari-itrans"): Add a few more useful

View File

@ -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)

View File

@ -1,3 +1,9 @@
2012-03-25 Eli Zaretskii <eliz@gnu.org>
* 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 <cyd@gnu.org>
* custom.el (load-theme): Even if NO-ENABLE arg is t, reenable the

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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