kern.post.mk allow NEWVERS_{ENV,ARGS}

Allow makefiles better control of newvers.sh env and args.
Also allow variable overrides on command line.

Reviewed by:	imp, stevek
Sponsored by:	Juniper Networks, Inc.
Differential Revision:	https://reviews.freebsd.org/D41012
This commit is contained in:
Simon J. Gerraty 2023-07-17 12:03:35 -07:00
parent d3152ab23e
commit 89f361f742
2 changed files with 16 additions and 5 deletions

View file

@ -444,11 +444,12 @@ config.o env.o hints.o vers.o vnode_if.o:
${NORMAL_C}
${NORMAL_CTFCONVERT}
NEWVERS_ENV+= MAKE="${MAKE}"
.if ${MK_REPRODUCIBLE_BUILD} != "no"
REPRO_FLAG="-R"
NEWVERS_ARGS+= -R
.endif
vers.c: .NOMETA_CMP $S/conf/newvers.sh $S/sys/param.h ${SYSTEM_DEP:Nvers.*}
MAKE="${MAKE}" sh $S/conf/newvers.sh ${REPRO_FLAG} ${KERN_IDENT}
${NEWVERS_ENV} sh $S/conf/newvers.sh ${NEWVERS_ARGS} ${KERN_IDENT}
vnode_if.c: $S/tools/vnode_if.awk $S/kern/vnode_if.src
${AWK} -f $S/tools/vnode_if.awk $S/kern/vnode_if.src -c

View file

@ -58,13 +58,23 @@ BRANCH="CURRENT"
if [ -n "${BRANCH_OVERRIDE}" ]; then
BRANCH=${BRANCH_OVERRIDE}
fi
RELEASE="${REVISION}-${BRANCH}"
VERSION="${TYPE} ${RELEASE}"
if [ -z "${SYSDIR}" ]; then
SYSDIR=$(dirname $0)/..
SYSDIR=$(dirname $0)/..
fi
# allow random overrides
while :
do
case "$1" in
*=*) eval "$1"; shift;;
*) break;;
esac
done
RELEASE="${RELEASE:-${REVISION}-${BRANCH}}"
VERSION="${VERSION:-${TYPE} ${RELEASE}}"
RELDATE=$(awk '/^#define[[:space:]]*__FreeBSD_version/ {print $3}' ${PARAMFILE:-${SYSDIR}/sys/param.h})
if [ -r "${SYSDIR}/../COPYRIGHT" ]; then