Ensure make -j N universe works correctly, by checking for an up-to-date
make before starting the universe targets themselves. Otherwise, all of the targets would attempt to build make simultaneously, overwriting each other's copies of the make object files and executable. This could lead to strange errors, for example when partially-written make executables are invoked. Also amend r216620, to make the rest of universe wait properly until the upgrade_checks target is finished, by adding universe_${target}_prologue to the .ORDER target. Otherwise, make will be too smart for its own good, and start building the universe targets simultaneously with the prologues anyway. MFC after: 1 week
This commit is contained in:
parent
9f905daf6e
commit
a3058216b5
4
Makefile
4
Makefile
@ -361,7 +361,7 @@ MAKEFAIL=tee -a ${FAILFILE}
|
||||
MAKEFAIL=cat
|
||||
.endif
|
||||
|
||||
universe: universe_prologue
|
||||
universe: universe_prologue upgrade_checks
|
||||
universe_prologue:
|
||||
@echo "--------------------------------------------------------------"
|
||||
@echo ">>> make universe started on ${STARTTIME}"
|
||||
@ -371,7 +371,7 @@ universe_prologue:
|
||||
.endif
|
||||
.for target in ${TARGETS}
|
||||
universe: universe_${target}
|
||||
.ORDER: universe_prologue universe_${target} universe_epilogue
|
||||
.ORDER: universe_prologue upgrade_checks universe_${target}_prologue universe_${target} universe_epilogue
|
||||
universe_${target}: universe_${target}_prologue
|
||||
universe_${target}_prologue:
|
||||
@echo ">> ${target} started on `LC_ALL=C date`"
|
||||
|
Loading…
Reference in New Issue
Block a user