diff options
author | ru <ru@FreeBSD.org> | 2002-07-03 12:28:03 +0000 |
---|---|---|
committer | ru <ru@FreeBSD.org> | 2002-07-03 12:28:03 +0000 |
commit | 734b0dc514183208313936a513580f7cb6a2f06c (patch) | |
tree | 659775b3ebfb05c024de4bafcee2d2a0cecad497 /share | |
parent | 352eaf673d5b6378cad6f454f71ecd2f6c659f9b (diff) | |
download | FreeBSD-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>
Diffstat (limited to 'share')
-rw-r--r-- | share/mk/bsd.files.mk | 1 | ||||
-rw-r--r-- | share/mk/bsd.incs.mk | 1 | ||||
-rw-r--r-- | share/mk/bsd.lib.mk | 2 | ||||
-rw-r--r-- | share/mk/bsd.links.mk | 1 | ||||
-rw-r--r-- | share/mk/bsd.prog.mk | 3 |
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 |