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/mk/bsd.prog.mk | |
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/mk/bsd.prog.mk')
-rw-r--r-- | share/mk/bsd.prog.mk | 3 |
1 files changed, 3 insertions, 0 deletions
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 |