etcupdate: Add a -m flag to change the make binary that's run

This will allow release/Makefile to forward on ${MAKE} to allow building
on non-FreeBSD systems where ${MAKE} is something other than make, as
make is typically GNU make in such situations.

Reviewed by:	jhb, pauamma
Obtained from:	CheriBSD
Differential Revision:	https://reviews.freebsd.org/D35854
This commit is contained in:
Jessica Clarke 2022-08-09 22:56:19 +01:00
parent e9ba25aabf
commit 5513d7dee5
2 changed files with 32 additions and 6 deletions

View File

@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd April 20, 2021
.Dd August 9, 2022
.Dt ETCUPDATE 8
.Os
.Sh NAME
@ -41,6 +41,7 @@
.Op Fl I Ar patterns
.Op Fl L Ar logfile
.Op Fl M Ar options
.Op Fl m Ar make
.Nm
.Cm build
.Op Fl B
@ -48,6 +49,7 @@
.Op Fl s Ar source
.Op Fl L Ar logfile
.Op Fl M Ar options
.Op Fl m Ar make
.Ar tarball
.Nm
.Cm diff
@ -63,6 +65,7 @@
.Op Fl D Ar destdir
.Op Fl L Ar logfile
.Op Fl M Ar options
.Op Fl m Ar make
.Nm
.Cm resolve
.Op Fl p
@ -489,6 +492,14 @@ This can be used for to set the
or
.Dv TARGET_ARCH
variables for a cross-build.
.It Fl m Ar make
Use
.Ar make
as the
.Xr make 1
binary when building a
.Dq current
tree.
.It Fl n
Enable
.Dq dry-run
@ -593,6 +604,14 @@ option.
Specify an alternate path for the log file similar to the
.Fl L
option.
.It Ev MAKE_CMD
Specify the
.Xr make 1
binary when building a
.Dq current
tree similar to the
.Fl m
option.
.It Ev MAKE_OPTIONS
Pass additional options to
.Xr make 1

View File

@ -64,12 +64,12 @@ usage()
cat <<EOF
usage: etcupdate [-npBF] [-d workdir] [-r | -s source | -t tarball]
[-A patterns] [-D destdir] [-I patterns] [-L logfile]
[-M options]
[-M options] [-m make]
etcupdate build [-B] [-d workdir] [-s source] [-L logfile] [-M options]
<tarball>
[-m make] <tarball>
etcupdate diff [-d workdir] [-D destdir] [-I patterns] [-L logfile]
etcupdate extract [-B] [-d workdir] [-s source | -t tarball]
[-D destdir] [-L logfile] [-M options]
[-D destdir] [-L logfile] [-M options] [-m make]
etcupdate resolve [-p] [-d workdir] [-D destdir] [-L logfile]
etcupdate revert [-d workdir] [-D destdir] [-L logfile] file ...
etcupdate status [-d workdir] [-D destdir]
@ -186,7 +186,7 @@ build_tree()
(
local destdir dir file make
make="make $MAKE_OPTIONS -DNO_FILEMON"
make="$MAKE_CMD $MAKE_OPTIONS -DNO_FILEMON"
log "Building tree at $1 with $make"
@ -1707,6 +1707,9 @@ ALWAYS_INSTALL=
# Files to ignore and never update during a merge.
IGNORE_FILES=
# The path to the make binary
MAKE_CMD=make
# Flags to pass to 'make' when building a tree.
MAKE_OPTIONS=
@ -1719,6 +1722,7 @@ MAKE_OPTIONS=
# - FREEBSD_ID
# - IGNORE_FILES
# - LOGFILE
# - MAKE_CMD
# - MAKE_OPTIONS
# - SRCDIR
# - WORKDIR
@ -1734,11 +1738,14 @@ dryrun=
ignore=
nobuild=
preworld=
while getopts "d:nprs:t:A:BD:FI:L:M:" option; do
while getopts "d:m:nprs:t:A:BD:FI:L:M:" option; do
case "$option" in
d)
WORKDIR=$OPTARG
;;
m)
MAKE_CMD=$OPTARG
;;
n)
dryrun=YES
;;