From badb7c1c6b8c0cece6fe8a6457a20c63ef65ea22 Mon Sep 17 00:00:00 2001 From: Ruslan Ermilov Date: Wed, 3 Jul 2002 12:28:03 +0000 Subject: [PATCH] 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 --- share/mk/bsd.files.mk | 1 + share/mk/bsd.incs.mk | 1 + share/mk/bsd.lib.mk | 2 ++ share/mk/bsd.links.mk | 1 + share/mk/bsd.prog.mk | 3 +++ 5 files changed, 8 insertions(+) diff --git a/share/mk/bsd.files.mk b/share/mk/bsd.files.mk index daa8c88e0e4..b4159ac7d99 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 57a2886f93a..615d8bb83cf 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 9b9c414ddfc..583896ca74a 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 a1e84eae422..49f557a7e1f 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 c8dde881dc3..696faca829d 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