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

(cherry picked from commit 187d696a0aa0fba9e9a7b6b20c72799cf8a2e0cf)
This commit is contained in:
Colin Percival 2024-07-08 09:30:28 -07:00
parent e729e75080
commit fe945fa9c9

View file

@ -154,6 +154,7 @@ $p.$t: .PHONY .MAKE ${_PROGS_COMMON_OBJS}
NO_SUBDIR=1 ${MAKE} -f ${MAKEFILE} _RECURSING_PROGS=t \
${_PROG_MK.${t}} PROG=$p ${x.$p} ${@:E})
.endfor
.ORDER installdirs $p.install
.endfor
# Depend main pseudo targets on all PROG.pseudo targets too.