bsd.progs.mk: Create directories first

Order installdirs before the $p.install targets; this is necessary
when a user of <bsd.progs.mk> also creates the directory into which
the binaries are installed.

In particular, without this patch running `make installworld -jN` can
break when installing tests since the /usr/tests/foo/bar directories
are created during installworld; this has been causing the stable/14
weekly snapshot builds to intermittently fail for months.

MFC after:	5 minutes
Sponsored by:	Amazon
Differential Revision:	https://reviews.freebsd.org/D45923
This commit is contained in:
Colin Percival
2024-07-08 09:30:28 -07:00
parent b1e0f0ff9d
commit 187d696a0a
+1
View File
@@ -155,6 +155,7 @@ $p.$t: .PHONY .MAKE ${_PROGS_COMMON_OBJS}
NO_SUBDIR=1 ${MAKE} -f ${MAKEFILE} _RECURSING_PROGS=t \ NO_SUBDIR=1 ${MAKE} -f ${MAKEFILE} _RECURSING_PROGS=t \
${_PROG_MK.${t}} PROG=$p ${x.$p} ${@:E}) ${_PROG_MK.${t}} PROG=$p ${x.$p} ${@:E})
.endfor .endfor
.ORDER installdirs $p.install
.endfor .endfor
# Depend main pseudo targets on all PROG.pseudo targets too. # Depend main pseudo targets on all PROG.pseudo targets too.