summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorru <ru@FreeBSD.org>2002-07-03 12:28:03 +0000
committerru <ru@FreeBSD.org>2002-07-03 12:28:03 +0000
commit734b0dc514183208313936a513580f7cb6a2f06c (patch)
tree659775b3ebfb05c024de4bafcee2d2a0cecad497
parent352eaf673d5b6378cad6f454f71ecd2f6c659f9b (diff)
downloadFreeBSD-src-734b0dc514183208313936a513580f7cb6a2f06c.zip
FreeBSD-src-734b0dc514183208313936a513580f7cb6a2f06c.tar.gz
Try really hard to fix parallel installs. Add a bunch of .ORDER
directives to ensure that all realinstall sub-tasks are executed after beforeinstall, similarly ensure that all afterinstall sub- tasks are executed after realinstall. Demonstration: all: task1 task2 .ORDER: task1 task2 task2: task2_subtask .ORDER: task1 task2_subtask task1 task2 task2_subtask: @sleep `jot -r 1 0 1.0` @echo ${.TARGET} Without the second .ORDER directive, task2_subtask can be run in parallel with task1. Spotted by: Andrea Campi <andrea@webcom.it>
-rw-r--r--share/mk/bsd.files.mk1
-rw-r--r--share/mk/bsd.incs.mk1
-rw-r--r--share/mk/bsd.lib.mk2
-rw-r--r--share/mk/bsd.links.mk1
-rw-r--r--share/mk/bsd.prog.mk3
5 files changed, 8 insertions, 0 deletions
diff --git a/share/mk/bsd.files.mk b/share/mk/bsd.files.mk
index daa8c88..b4159ac 100644
--- a/share/mk/bsd.files.mk
+++ b/share/mk/bsd.files.mk
@@ -66,3 +66,4 @@ _${group}INS: ${_${group}FILES}
.endif !target(installfiles)
realinstall: installfiles
+.ORDER: beforeinstall installfiles
diff --git a/share/mk/bsd.incs.mk b/share/mk/bsd.incs.mk
index 57a2886..615d8bb 100644
--- a/share/mk/bsd.incs.mk
+++ b/share/mk/bsd.incs.mk
@@ -77,3 +77,4 @@ installincludes:
.endif !target(installincludes)
realinstall: installincludes
+.ORDER: beforeinstall installincludes
diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk
index 9b9c414..583896c 100644
--- a/share/mk/bsd.lib.mk
+++ b/share/mk/bsd.lib.mk
@@ -290,6 +290,7 @@ _SHLINSTALLFLAGS:= ${_SHLINSTALLFLAGS${ie}}
.if defined(LIB) && !empty(LIB) && !defined(INTERNALLIB)
realinstall: _libinstall
+.ORDER: beforeinstall _libinstall
_libinstall:
.if !defined(NOINSTALLLIB)
${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
@@ -323,6 +324,7 @@ _libinstall:
.if !defined(NOMAN)
realinstall: _maninstall
+.ORDER: beforeinstall _maninstall
.endif
.endif
diff --git a/share/mk/bsd.links.mk b/share/mk/bsd.links.mk
index a1e84ea..49f557a 100644
--- a/share/mk/bsd.links.mk
+++ b/share/mk/bsd.links.mk
@@ -5,6 +5,7 @@
.endif
afterinstall: _installlinks
+.ORDER: realinstall _installlinks
_installlinks:
.if defined(LINKS) && !empty(LINKS)
@set ${LINKS}; \
diff --git a/share/mk/bsd.prog.mk b/share/mk/bsd.prog.mk
index c8dde88..696faca 100644
--- a/share/mk/bsd.prog.mk
+++ b/share/mk/bsd.prog.mk
@@ -102,6 +102,7 @@ _INSTALLFLAGS:= ${_INSTALLFLAGS${ie}}
.if !target(realinstall)
realinstall: _proginstall
+.ORDER: beforeinstall _proginstall
_proginstall:
.if defined(PROG)
.if defined(PROGNAME)
@@ -120,6 +121,7 @@ _proginstall:
.if defined(SCRIPTS) && !empty(SCRIPTS)
realinstall: _scriptsinstall
+.ORDER: beforeinstall _scriptsinstall
SCRIPTSDIR?= ${BINDIR}
SCRIPTSOWN?= ${BINOWN}
@@ -154,6 +156,7 @@ NLSNAME?= ${PROG}
.if !defined(NOMAN)
realinstall: _maninstall
+.ORDER: beforeinstall _maninstall
.endif
.endif
OpenPOWER on IntegriCloud