Date: Thu, 30 Jan 2025 16:31:49 -0800 From: Cy Schubert <Cy.Schubert@cschubert.com> To: "Simon J. Gerraty" <sjg@FreeBSD.org> Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 6a7405f5a6b6 - main - Merge bmake-20250125 Message-ID: <20250131003149.50234D1@slippy.cwsent.com> In-Reply-To: <202501302355.50UNtHPf022794@gitrepo.freebsd.org> References: <202501302355.50UNtHPf022794@gitrepo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <202501302355.50UNtHPf022794@gitrepo.freebsd.org>, "Simon J. Gerraty " writes: > The branch main has been updated by sjg: > > URL: https://cgit.FreeBSD.org/src/commit/?id=6a7405f5a6b639682cacf01e35d56141 > 1ff556aa > > commit 6a7405f5a6b639682cacf01e35d561411ff556aa > Merge: 4a1b0a9e2b9f 5ad769f660f3 > Author: Simon J. Gerraty <sjg@FreeBSD.org> > AuthorDate: 2025-01-30 23:40:08 +0000 > Commit: Simon J. Gerraty <sjg@FreeBSD.org> > CommitDate: 2025-01-30 23:51:52 +0000 > > Merge bmake-20250125 > > Merge commit '5ad769f660f3d00853bc739f82d9bc62f6a682cb' > > contrib/bmake/ChangeLog | 139 ++++++++++++ > contrib/bmake/FILES | 2 + > contrib/bmake/Makefile | 139 +++++++----- > contrib/bmake/VERSION | 2 +- > contrib/bmake/arch.c | 9 +- > contrib/bmake/bmake.1 | 47 +++-- > contrib/bmake/bmake.cat1 | 34 +-- > contrib/bmake/bsd.after-import.mk | 5 +- > contrib/bmake/compat.c | 13 +- > contrib/bmake/cond.c | 29 ++- > contrib/bmake/job.c | 84 ++------ > contrib/bmake/job.h | 4 +- > contrib/bmake/main.c | 44 ++-- > contrib/bmake/make.1 | 35 +++- > contrib/bmake/make.h | 21 +- > contrib/bmake/mk/ChangeLog | 117 +++++++++++ > contrib/bmake/mk/FILES | 3 + > contrib/bmake/mk/README | 10 +- > contrib/bmake/mk/cython.mk | 43 ++-- > contrib/bmake/mk/dirdeps-targets.mk | 5 +- > contrib/bmake/mk/dirdeps.mk | 20 +- > contrib/bmake/mk/gendirdeps.mk | 4 +- > contrib/bmake/mk/genfiles.mk | 26 +++ > contrib/bmake/mk/init.mk | 11 +- > contrib/bmake/mk/install-mk | 4 +- > contrib/bmake/mk/lib.mk | 14 +- > contrib/bmake/mk/links.mk | 34 +-- > contrib/bmake/mk/meta.sys.mk | 13 +- > contrib/bmake/mk/meta2deps.py | 16 +- > contrib/bmake/mk/options.mk | 8 +- > contrib/bmake/mk/own.mk | 7 +- > contrib/bmake/mk/prog.mk | 12 +- > contrib/bmake/mk/rust.mk | 203 ++++++++++++++++++ > contrib/bmake/mk/setopts.sh | 175 ++++++++++++++++ > contrib/bmake/mk/subdir.mk | 10 +- > contrib/bmake/mk/sys.mk | 3 +- > contrib/bmake/mk/sys.vars.mk | 7 +- > contrib/bmake/os.sh | 8 +- > contrib/bmake/parse.c | 49 +---- > contrib/bmake/suff.c | 6 +- > contrib/bmake/unit-tests/Makefile | 23 +- > contrib/bmake/unit-tests/archive.exp | 12 ++ > contrib/bmake/unit-tests/archive.mk | 20 +- > contrib/bmake/unit-tests/cmd-errors-jobs.exp | 76 ++++++- > contrib/bmake/unit-tests/cmd-errors-jobs.mk | 123 ++++++++--- > contrib/bmake/unit-tests/cmd-errors-lint.exp | 14 +- > contrib/bmake/unit-tests/cmd-errors-lint.mk | 17 +- > contrib/bmake/unit-tests/cmd-errors.exp | 14 +- > contrib/bmake/unit-tests/cmd-errors.mk | 17 +- > contrib/bmake/unit-tests/cmd-interrupt.exp | 1 + > contrib/bmake/unit-tests/cmd-interrupt.mk | 24 ++- > contrib/bmake/unit-tests/cmdline.exp | 4 +- > contrib/bmake/unit-tests/cmdline.mk | 8 +- > contrib/bmake/unit-tests/cond-cmp-numeric-eq.exp | 4 +- > contrib/bmake/unit-tests/cond-cmp-numeric-eq.mk | 6 +- > contrib/bmake/unit-tests/cond-cmp-numeric.exp | 2 +- > contrib/bmake/unit-tests/cond-cmp-numeric.mk | 4 +- > contrib/bmake/unit-tests/cond-cmp-string.exp | 8 +- > contrib/bmake/unit-tests/cond-cmp-string.mk | 10 +- > contrib/bmake/unit-tests/cond-eof.exp | 6 +- > contrib/bmake/unit-tests/cond-eof.mk | 8 +- > contrib/bmake/unit-tests/cond-func-commands.mk | 7 +- > contrib/bmake/unit-tests/cond-func-defined.exp | 4 +- > contrib/bmake/unit-tests/cond-func-defined.mk | 11 +- > contrib/bmake/unit-tests/cond-func-empty.exp | 3 +- > contrib/bmake/unit-tests/cond-func-empty.mk | 9 +- > contrib/bmake/unit-tests/cond-func-exists.mk | 7 +- > contrib/bmake/unit-tests/cond-func-make.mk | 7 +- > contrib/bmake/unit-tests/cond-func-target.mk | 7 +- > contrib/bmake/unit-tests/cond-func.exp | 9 +- > contrib/bmake/unit-tests/cond-func.mk | 17 +- > contrib/bmake/unit-tests/cond-late.exp | 4 +- > contrib/bmake/unit-tests/cond-late.mk | 4 +- > contrib/bmake/unit-tests/cond-op-and.exp | 6 +- > contrib/bmake/unit-tests/cond-op-and.mk | 8 +- > contrib/bmake/unit-tests/cond-op-not.exp | 2 +- > contrib/bmake/unit-tests/cond-op-not.mk | 4 +- > contrib/bmake/unit-tests/cond-op-or.exp | 6 +- > contrib/bmake/unit-tests/cond-op-or.mk | 8 +- > contrib/bmake/unit-tests/cond-op-parentheses.exp | 6 +- > contrib/bmake/unit-tests/cond-op-parentheses.mk | 8 +- > contrib/bmake/unit-tests/cond-op.exp | 14 +- > contrib/bmake/unit-tests/cond-op.mk | 16 +- > contrib/bmake/unit-tests/cond-token-number.exp | 8 +- > contrib/bmake/unit-tests/cond-token-number.mk | 10 +- > contrib/bmake/unit-tests/cond-token-plain.exp | 12 +- > contrib/bmake/unit-tests/cond-token-plain.mk | 14 +- > contrib/bmake/unit-tests/cond-token-string.exp | 20 +- > contrib/bmake/unit-tests/cond-token-string.mk | 7 +- > contrib/bmake/unit-tests/cond-token-var.exp | 22 +- > contrib/bmake/unit-tests/cond-token-var.mk | 65 +++++- > contrib/bmake/unit-tests/cond-undef-lint.exp | 10 +- > contrib/bmake/unit-tests/cond-undef-lint.mk | 21 +- > contrib/bmake/unit-tests/dep-var.exp | 8 +- > contrib/bmake/unit-tests/dep-var.mk | 20 +- > contrib/bmake/unit-tests/deptgt-makeflags.exp | 2 +- > contrib/bmake/unit-tests/deptgt-order.exp | 4 +- > contrib/bmake/unit-tests/deptgt.exp | 28 ++- > contrib/bmake/unit-tests/deptgt.mk | 12 +- > contrib/bmake/unit-tests/directive-export-impl.exp | 38 ++-- > contrib/bmake/unit-tests/directive-for-errors.exp | 3 +- > contrib/bmake/unit-tests/directive-for-errors.mk | 4 +- > contrib/bmake/unit-tests/directive-for-escape.exp | 12 +- > contrib/bmake/unit-tests/directive-for-escape.mk | 6 +- > contrib/bmake/unit-tests/directive-for.exp | 3 +- > contrib/bmake/unit-tests/directive-for.mk | 4 +- > contrib/bmake/unit-tests/directive-if-nested.mk | 4 +- > contrib/bmake/unit-tests/directive-if.exp | 2 +- > contrib/bmake/unit-tests/directive-if.mk | 4 +- > .../bmake/unit-tests/directive-include-fatal.exp | 2 +- > .../bmake/unit-tests/directive-include-fatal.mk | 4 +- > .../bmake/unit-tests/directive-include-guard.exp | 6 +- > .../bmake/unit-tests/directive-include-guard.mk | 26 ++- > contrib/bmake/unit-tests/directive-include.exp | 3 +- > contrib/bmake/unit-tests/directive-include.mk | 6 +- > contrib/bmake/unit-tests/directive-undef.exp | 3 +- > contrib/bmake/unit-tests/directive-undef.mk | 4 +- > contrib/bmake/unit-tests/include-main.exp | 4 +- > contrib/bmake/unit-tests/lint.exp | 6 +- > contrib/bmake/unit-tests/moderrs.exp | 233 ++++++++++++------- > -- > contrib/bmake/unit-tests/moderrs.mk | 175 +++++++++------- > contrib/bmake/unit-tests/opt-debug-lint.exp | 15 +- > contrib/bmake/unit-tests/opt-debug-lint.mk | 10 +- > contrib/bmake/unit-tests/opt-debug-parse.exp | 14 +- > contrib/bmake/unit-tests/opt-debug-var.exp | 8 +- > contrib/bmake/unit-tests/opt-debug-var.mk | 19 +- > contrib/bmake/unit-tests/suff-incomplete.exp | 12 +- > contrib/bmake/unit-tests/suff-main-several.exp | 30 +-- > contrib/bmake/unit-tests/suff-rebuild.exp | 22 +- > contrib/bmake/unit-tests/suff.exp | 146 +++++++++++++ > contrib/bmake/unit-tests/suff.mk | 41 ++++ > contrib/bmake/unit-tests/var-eval-short.exp | 12 +- > contrib/bmake/unit-tests/var-eval-short.mk | 5 +- > contrib/bmake/unit-tests/var-op-expand.exp | 8 +- > contrib/bmake/unit-tests/var-op-expand.mk | 6 +- > contrib/bmake/unit-tests/var-op-shell.exp | 6 + > contrib/bmake/unit-tests/var-op-shell.mk | 11 +- > contrib/bmake/unit-tests/var-recursive.exp | 41 ++-- > contrib/bmake/unit-tests/var-recursive.mk | 77 +++---- > contrib/bmake/unit-tests/vardebug.exp | 51 +++-- > contrib/bmake/unit-tests/vardebug.mk | 21 +- > contrib/bmake/unit-tests/varmisc.exp | 45 ++-- > contrib/bmake/unit-tests/varmisc.mk | 30 +-- > contrib/bmake/unit-tests/varmod-assign-shell.exp | 2 +- > contrib/bmake/unit-tests/varmod-assign-shell.mk | 4 +- > contrib/bmake/unit-tests/varmod-assign.exp | 38 ++-- > contrib/bmake/unit-tests/varmod-assign.mk | 27 ++- > contrib/bmake/unit-tests/varmod-edge.exp | 29 ++- > contrib/bmake/unit-tests/varmod-edge.mk | 20 +- > contrib/bmake/unit-tests/varmod-gmtime.exp | 20 +- > contrib/bmake/unit-tests/varmod-gmtime.mk | 17 +- > contrib/bmake/unit-tests/varmod-hash.exp | 15 +- > contrib/bmake/unit-tests/varmod-hash.mk | 9 +- > contrib/bmake/unit-tests/varmod-ifelse.exp | 63 +++--- > contrib/bmake/unit-tests/varmod-ifelse.mk | 28 ++- > contrib/bmake/unit-tests/varmod-indirect.exp | 22 +- > contrib/bmake/unit-tests/varmod-indirect.mk | 10 +- > contrib/bmake/unit-tests/varmod-localtime.exp | 20 +- > contrib/bmake/unit-tests/varmod-localtime.mk | 17 +- > contrib/bmake/unit-tests/varmod-loop-delete.exp | 4 +- > contrib/bmake/unit-tests/varmod-loop-delete.mk | 4 +- > contrib/bmake/unit-tests/varmod-loop-varname.exp | 16 +- > contrib/bmake/unit-tests/varmod-loop-varname.mk | 14 +- > contrib/bmake/unit-tests/varmod-loop.exp | 10 +- > contrib/bmake/unit-tests/varmod-match-escape.exp | 29 +-- > contrib/bmake/unit-tests/varmod-match-escape.mk | 8 +- > contrib/bmake/unit-tests/varmod-match.exp | 31 ++- > contrib/bmake/unit-tests/varmod-match.mk | 23 +- > contrib/bmake/unit-tests/varmod-mtime.exp | 23 +- > contrib/bmake/unit-tests/varmod-mtime.mk | 19 +- > contrib/bmake/unit-tests/varmod-order.exp | 49 +++-- > contrib/bmake/unit-tests/varmod-order.mk | 43 ++-- > contrib/bmake/unit-tests/varmod-range.exp | 22 +- > contrib/bmake/unit-tests/varmod-range.mk | 19 +- > contrib/bmake/unit-tests/varmod-select-words.exp | 60 +++--- > contrib/bmake/unit-tests/varmod-select-words.mk | 66 +++++- > contrib/bmake/unit-tests/varmod-shell.exp | 6 +- > contrib/bmake/unit-tests/varmod-shell.mk | 8 +- > contrib/bmake/unit-tests/varmod-subst-regex.exp | 73 ++++--- > contrib/bmake/unit-tests/varmod-subst-regex.mk | 16 +- > contrib/bmake/unit-tests/varmod-subst.exp | 5 +- > contrib/bmake/unit-tests/varmod-subst.mk | 3 +- > contrib/bmake/unit-tests/varmod-sun-shell.exp | 4 +- > contrib/bmake/unit-tests/varmod-sun-shell.mk | 6 +- > contrib/bmake/unit-tests/varmod-sysv.exp | 8 +- > contrib/bmake/unit-tests/varmod-sysv.mk | 8 +- > contrib/bmake/unit-tests/varmod-to-separator.exp | 52 ++--- > contrib/bmake/unit-tests/varmod-to-separator.mk | 41 ++-- > contrib/bmake/unit-tests/varmod.exp | 65 +++--- > contrib/bmake/unit-tests/varmod.mk | 48 ++--- > .../bmake/unit-tests/varname-dot-make-level.exp | 10 +- > contrib/bmake/unit-tests/varname-dot-make-level.mk | 9 +- > contrib/bmake/unit-tests/varname-dot-shell.exp | 30 +-- > contrib/bmake/unit-tests/varname-dot-suffixes.exp | 14 +- > contrib/bmake/unit-tests/varname.exp | 8 +- > contrib/bmake/unit-tests/varname.mk | 6 +- > contrib/bmake/unit-tests/varparse-dynamic.exp | 4 +- > contrib/bmake/unit-tests/varparse-dynamic.mk | 6 +- > contrib/bmake/unit-tests/varparse-errors.exp | 64 ++++-- > contrib/bmake/unit-tests/varparse-errors.mk | 44 ++-- > contrib/bmake/var.c | 149 ++++++------- > usr.bin/bmake/Makefile | 139 +++++++----- > usr.bin/bmake/Makefile.config | 2 +- > usr.bin/bmake/unit-tests/Makefile | 29 ++- > 204 files changed, 3252 insertions(+), 1814 deletions(-) > > diff --cc contrib/bmake/Makefile > index 65730df7e3df,000000000000..939b71c5e12c > mode 100644,000000..100644 > --- a/contrib/bmake/Makefile > +++ b/contrib/bmake/Makefile > @@@ -1,237 -1,0 +1,266 @@@ > - # $Id: Makefile,v 1.127 2024/03/19 16:03:23 sjg Exp $ > ++# $Id: Makefile,v 1.132 2024/09/22 19:56:26 sjg Exp $ > + > - PROG= bmake > ++PROG = bmake > + > - SRCS= \ > ++SRCS = \ > + arch.c \ > + buf.c \ > + compat.c \ > + cond.c \ > + dir.c \ > + for.c \ > + hash.c \ > + job.c \ > + lst.c \ > + main.c \ > + make.c \ > + make_malloc.c \ > + meta.c \ > + metachar.c \ > + parse.c \ > + str.c \ > + suff.c \ > + targ.c \ > + trace.c \ > + util.c \ > + var.c > + > ++.MAIN: all > ++ > ++MAN = ${PROG}.1 > ++SRCS.${MAN} = ${srcdir}/make.1 > ++ > +.-include "VERSION" > +.-include "Makefile.inc" > + > +# this file gets generated by configure > +.-include "Makefile.config" > + > +.if !empty(LIBOBJS) > - SRCS+= ${LIBOBJS:T:.o=.c} > ++SRCS += ${LIBOBJS:T:.o=.c} > +.endif > + > +# just in case > - prefix?= /usr > - srcdir?= ${.CURDIR} > ++prefix ?= /usr > ++srcdir ?= ${.PARSEDIR} > ++srcdir := ${srcdir} > + > - DEFAULT_SYS_PATH?= ${prefix}/share/mk > ++DEFAULT_SYS_PATH ?= ${prefix}/share/mk > + > - CPPFLAGS+= -DUSE_META > - CFLAGS+= ${CPPFLAGS} > - CFLAGS+= -D_PATH_DEFSYSPATH=\"${DEFAULT_SYS_PATH}\" > - CFLAGS+= -I. -I${srcdir} ${XDEFS} -DMAKE_NATIVE > - CFLAGS+= ${COPTS.${.ALLSRC:M*.c:T:u}} > - COPTS.main.c+= "-DMAKE_VERSION=\"${_MAKE_VERSION}\"" > ++CPPFLAGS += -DUSE_META > ++CFLAGS += ${CPPFLAGS} > ++CFLAGS += -D_PATH_DEFSYSPATH=\"${DEFAULT_SYS_PATH}\" > ++CFLAGS += -I. -I${srcdir} ${XDEFS} -DMAKE_NATIVE > ++CFLAGS += ${COPTS.${.ALLSRC:M*.c:T:u}} > ++COPTS.main.c += "-DMAKE_VERSION=\"${_MAKE_VERSION}\"" > + > +.for x in FORCE_MAKE_OS FORCE_MACHINE FORCE_MACHINE_ARCH > +.ifdef $x > - COPTS.main.c+= "-D$x=\"${$x}\"" > ++COPTS.main.c += "-D$x=\"${$x}\"" > +.endif > +.endfor > + > +# meta mode can be useful even without filemon > +# should be set by now > +USE_FILEMON ?= no > +.if ${USE_FILEMON:tl} != "no" > +.PATH: ${srcdir}/filemon > +SRCS+= filemon_${USE_FILEMON}.c > - COPTS.meta.c+= -DUSE_FILEMON -DUSE_FILEMON_${USE_FILEMON:tu} > - COPTS.job.c+= ${COPTS.meta.c} > ++COPTS.meta.c += -DUSE_FILEMON -DUSE_FILEMON_${USE_FILEMON:tu} > ++COPTS.job.c += ${COPTS.meta.c} > + > +.if ${USE_FILEMON} == "dev" > +FILEMON_H ?= /usr/include/dev/filemon/filemon.h > +.if exists(${FILEMON_H}) && ${FILEMON_H:T} == "filemon.h" > +COPTS.filemon_dev.c += -DHAVE_FILEMON_H -I${FILEMON_H:H} > +.endif > +.elif ${USE_FILEMON} == "ktrace" > +COPTS.filemon_ktrace.c += -Wno-error=unused-parameter > +.endif > + > +.endif # USE_FILEMON > + > +.PATH: ${srcdir} > + > - .if make(obj) || make(clean) > - SUBDIR+= unit-tests > - .endif > - > +# start-delete1 for bsd.after-import.mk > +# we skip a lot of this when building as part of FreeBSD etc. > + > +# list of OS's which are derrived from BSD4.4 > - BSD44_LIST= NetBSD FreeBSD OpenBSD DragonFly MirBSD Bitrig > ++BSD44_LIST = NetBSD FreeBSD OpenBSD DragonFly MirBSD Bitrig > +# we are... > +OS := ${.MAKE.OS:U${uname -s:L:sh}} > +# are we 4.4BSD ? > - isBSD44:=${BSD44_LIST:M${OS}} > ++isBSD44 := ${BSD44_LIST:M${OS}} > + > +.if ${isBSD44} == "" && ${OS:NCygwin:NDarwin:NLinux} != "" > - MANTARGET?= cat > ++MANTARGET ?= cat > +.if ${MACHINE} == "sun386" > +# even I don't have one of these anymore :-) > - CFLAGS+= -DPORTAR > ++CFLAGS += -DPORTAR > +.elif ${OS} != "SunOS" > +# assume the worst > - SRCS+= sigcompat.c > - CFLAGS+= -DSIGNAL_FLAGS=SA_RESTART > ++SRCS += sigcompat.c > ++CFLAGS += -DSIGNAL_FLAGS=SA_RESTART > +.endif > +.else > - MANTARGET?= man > ++MANTARGET ?= man > +.endif > + > +# turn this on by default - ignored if we are root > - WITH_INSTALL_AS_USER= > ++WITH_INSTALL_AS_USER = > + > +# suppress with -DWITHOUT_* > - OPTIONS_DEFAULT_YES+= \ > ++OPTIONS_DEFAULT_YES += \ > + AUTOCONF_MK \ > + INSTALL_MK \ > - PROG_LINK > ++ PROG_LINK \ > ++ TESTS \ > ++ > ++OPTIONS_DEFAULT_NO += \ > ++ GEN_MAN \ > ++ PROG_VERSION \ > + > - OPTIONS_DEFAULT_NO+= \ > - PROG_VERSION > ++.if ${PROG} != "make" || ${srcdir} != ${.CURDIR} || !exists(${srcdir}/${MAN > }) > ++WITH_GEN_MAN = 1 > ++.endif > + > +# process options now > +.include <own.mk> > + > +.if ${MK_PROG_VERSION} == "yes" > - PROG_NAME= ${PROG}-${_MAKE_VERSION} > ++PROG_NAME = ${PROG}-${_MAKE_VERSION} > +.if ${MK_PROG_LINK} == "yes" > - SYMLINKS+= ${PROG_NAME} ${BINDIR}/${PROG} > ++SYMLINKS += ${PROG_NAME} ${BINDIR}/${PROG} > +.endif > +.endif > + > +EXTRACT_MAN=no > +# end-delete1 > + > - MAN= ${PROG}.1 > - MAN1= ${MAN} > ++.if make(obj) || make(clean) > ++SUBDIR.${MK_TESTS} += unit-tests > ++.endif > ++ > ++MAN1 = ${MAN} > ++ > ++.if ${MK_GEN_MAN:Uno} == "yes" > ++ > ++# we use this to generate ${MAN} > ++.include <${srcdir}/mk/genfiles.mk> > + > +.if ${PROG} != "make" > - CLEANFILES+= my.history > - .if make(${MAN}) || !exists(${srcdir}/${MAN}) > ++CLEANFILES += my.history > ++SED_CMDS.${MAN} += \ > ++ -e '/^.Dt/s/MAKE/${PROG:tu}/' \ > ++ -e '/^.Nm/s/make/${PROG}/' \ > ++ > ++.endif > ++ > ++.if ${CLEANFILES:U:Mmy.history} != "" > ++${MAN}: my.history > +my.history: > + @(echo ".Nm"; \ > + echo "is derived from NetBSD"; \ > + echo ".Xr make 1 ."; \ > + echo "It uses autoconf to facilitate portability to other platforms."; > \ > + echo ".Pp") > $@ > + > - .NOPATH: ${MAN} > - ${MAN}: make.1 my.history > - @echo making $@ > - @sed \ > - -e '/^.Dt/s/MAKE/${PROG:tu}/' \ > - -e 's/^.Nx/NetBSD/' \ > - -e '/^.Nm/s/make/${PROG}/' \ > ++SED_CMDS.${MAN} += \ > + -e '/^.Sh HISTORY/rmy.history' \ > - -e '/^.Sh HISTORY/,$$s,^.Nm,make,' ${srcdir}/make.1 > $@ > ++ -e '/^.Sh HISTORY/,/BUGS/s,^.Nm,make,' \ > + > - all beforeinstall: ${MAN} > - _mfromdir=. > +.endif > ++ > ++.if ${.MAKE.OS:N*BSD} != "" > ++# assume .Nx is not supported > ++SED_CMDS.${MAN} += -e 's/^\.Nx/NetBSD/' > ++.endif > ++ > ++# watch out for a late change of PROG > ++.if !empty(SRCS.${MAN}) > ++.NOPATH: ${MAN} > ++${MAN}: ${SRCS.${MAN}} _GENFILES_USE > ++ > ++all man beforeinstall: ${MAN} > ++_mfromdir=. > +.endif > ++.endif # MK_GEN_MAN > + > - MANTARGET?= cat > - MANDEST?= ${MANDIR}/${MANTARGET}1 > ++MANTARGET ?= cat > ++MANDEST ?= ${MANDIR}/${MANTARGET}1 > + > +.if ${MANTARGET} == "cat" > - _mfromdir=${srcdir} > ++_mfromdir = ${srcdir} > +.endif > + > +.include <prog.mk> > + > - CPPFLAGS+= -DMAKE_NATIVE -DHAVE_CONFIG_H > ++CPPFLAGS += -DMAKE_NATIVE -DHAVE_CONFIG_H > +COPTS.var.c += -Wno-cast-qual > +COPTS.job.c += -Wno-format-nonliteral > +COPTS.parse.c += -Wno-format-nonliteral > +COPTS.var.c += -Wno-format-nonliteral > + > +# Force these > - SHAREDIR= ${SHAREDIR.bmake:U${prefix}/share} > - BINDIR= ${BINDIR.bmake:U${prefix}/bin} > - MANDIR= ${MANDIR.bmake:U${SHAREDIR}/man} > ++SHAREDIR = ${SHAREDIR.bmake:U${prefix}/share} > ++BINDIR = ${BINDIR.bmake:U${prefix}/bin} > ++MANDIR = ${MANDIR.bmake:U${SHAREDIR}/man} > + > +${OBJS}: config.h > + > +# start-delete2 for bsd.after-import.mk > + > +# make sure that MAKE_VERSION gets updated. > +main.o: ${srcdir}/VERSION > + > +.if ${MK_AUTOCONF_MK} == "yes" > +CONFIGURE_DEPS += ${.CURDIR}/VERSION > +# we do not need or want the generated makefile > +CONFIGURE_ARGS += --without-makefile > +AUTOCONF_GENERATED_MAKEFILE = Makefile.config > +.include <autoconf.mk> > +.endif > +SHARE_MK ?= ${SHAREDIR}/mk > +MKSRC = ${srcdir}/mk > +INSTALL ?= ${srcdir}/install-sh > + > +.if ${MK_INSTALL_MK} == "yes" > +install: install-mk > +.endif > + > +beforeinstall: > + test -d ${DESTDIR}${BINDIR} || ${INSTALL} -m ${DIRMODE} -d ${DESTDIR}${ > BINDIR} > + test -d ${DESTDIR}${MANDEST} || ${INSTALL} -m ${DIRMODE} -d ${DESTDIR}$ > {MANDEST} > + > +install-mk: > +.if exists(${MKSRC}/install-mk) > + test -d ${DESTDIR}${SHARE_MK} || ${INSTALL} -m ${DIRMODE} -d ${DESTDIR} > ${SHARE_MK} > + sh ${MKSRC}/install-mk -v -m ${NONBINMODE} ${DESTDIR}${SHARE_MK} > +.else > + @echo need to unpack mk.tar.gz under ${srcdir} or set MKSRC; false > +.endif > +# end-delete2 > + > +# A simple unit-test driver to help catch regressions > +TEST_MAKE ?= ${.OBJDIR}/${PROG:T} > +accept test: .NOMETA > + cd ${.CURDIR}/unit-tests && \ > + MAKEFLAGS= ${TEST_MAKE} -r -m / ${.TARGET} ${TESTS:DTESTS=${TESTS:Q}} > + > + > +.if make(test) && ${MK_AUTO_OBJ} == "yes" > +# The test target above visits unit-tests with -r -m / > +# which prevents MK_AUTO_OBJ doing its job > +# so do it here > +.if defined(MAKEOBJDIRPREFIX) || ${MAKEOBJDIR:U:M*/*} != "" > +_utobj = ${.OBJDIR}/unit-tests > +.else > +_utobj = ${.CURDIR}/unit-tests/${MAKEOBJDIR:Uobj} > +.endif > +utobj: .NOMETA > + @test -d ${_utobj} && exit 0; \ > + echo "[Creating ${_utobj}...]"; \ > + umask ${OBJDIR_UMASK:U002}; \ > + mkdir -p ${_utobj} > +test: utobj > +.endif > diff --cc contrib/bmake/mk/genfiles.mk > index 000000000000,d35e8be74763..d35e8be74763 > mode 000000,100644..100644 > --- a/contrib/bmake/mk/genfiles.mk > +++ b/contrib/bmake/mk/genfiles.mk > diff --cc contrib/bmake/mk/install-mk > index bb150e3041a3,b455832b7726..b455832b7726 > mode 100755,100644..100644 > --- a/contrib/bmake/mk/install-mk > +++ b/contrib/bmake/mk/install-mk > diff --cc contrib/bmake/mk/rust.mk > index 000000000000,5fc340239c30..5fc340239c30 > mode 000000,100644..100644 > --- a/contrib/bmake/mk/rust.mk > +++ b/contrib/bmake/mk/rust.mk > diff --cc contrib/bmake/mk/setopts.sh > index 000000000000,91c65c776438..91c65c776438 > mode 000000,100644..100644 > --- a/contrib/bmake/mk/setopts.sh > +++ b/contrib/bmake/mk/setopts.sh > diff --cc contrib/bmake/os.sh > index 648ea1d5993c,8216c774cd96..8216c774cd96 > mode 100755,100644..100644 > --- a/contrib/bmake/os.sh > +++ b/contrib/bmake/os.sh > diff --cc contrib/bmake/unit-tests/suff.exp > index 000000000000,adf646850d6e..adf646850d6e > mode 000000,100644..100644 > --- a/contrib/bmake/unit-tests/suff.exp > +++ b/contrib/bmake/unit-tests/suff.exp > diff --cc contrib/bmake/unit-tests/suff.mk > index 000000000000,53f6eb82b224..53f6eb82b224 > mode 000000,100644..100644 > --- a/contrib/bmake/unit-tests/suff.mk > +++ b/contrib/bmake/unit-tests/suff.mk > diff --cc usr.bin/bmake/Makefile > index b243cd0275b6,000000000000..43e1ef99b635 > mode 100644,000000..100644 > --- a/usr.bin/bmake/Makefile > +++ b/usr.bin/bmake/Makefile > @@@ -1,180 -1,0 +1,203 @@@ > +# This is a generated file, do NOT edit! > +# See contrib/bmake/bsd.after-import.mk > +# > + > - SRCTOP?= ${.CURDIR:H:H} > ++SRCTOP ?= ${.CURDIR:H:H} > + > +# look here first for config.h > - CFLAGS+= -I${.CURDIR} > ++CFLAGS += -I${.CURDIR} > + > +# for after-import > - CLEANDIRS+= FreeBSD > - CLEANFILES+= bootstrap > ++CLEANDIRS += FreeBSD > ++CLEANFILES += bootstrap > + > - # $Id: Makefile,v 1.127 2024/03/19 16:03:23 sjg Exp $ > ++# $Id: Makefile,v 1.132 2024/09/22 19:56:26 sjg Exp $ > + > - PROG?= ${.CURDIR:T} > ++PROG ?= ${.CURDIR:T} > + > - SRCS= \ > ++SRCS = \ > + arch.c \ > + buf.c \ > + compat.c \ > + cond.c \ > + dir.c \ > + for.c \ > + hash.c \ > + job.c \ > + lst.c \ > + main.c \ > + make.c \ > + make_malloc.c \ > + meta.c \ > + metachar.c \ > + parse.c \ > + str.c \ > + suff.c \ > + targ.c \ > + trace.c \ > + util.c \ > + var.c > + > - .sinclude "Makefile.inc" > ++.MAIN: all > ++ > ++MAN = ${PROG}.1 > ++SRCS.${MAN} = ${srcdir}/make.1 > ++ > ++.-include "Makefile.inc" > + > +# this file gets generated by configure > - .sinclude "Makefile.config" > ++.-include "Makefile.config" > + > +.if !empty(LIBOBJS) > - SRCS+= ${LIBOBJS:T:.o=.c} > ++SRCS += ${LIBOBJS:T:.o =.c} > +.endif > + > +# just in case > - prefix?= /usr > - srcdir?= ${.CURDIR} > ++prefix ?= /usr > ++srcdir ?= ${.PARSEDIR} > ++srcdir : = ${srcdir} > + > - DEFAULT_SYS_PATH?= ${prefix}/share/mk > ++DEFAULT_SYS_PATH ?= ${prefix}/share/mk > + > - CPPFLAGS+= -DUSE_META > - CFLAGS+= ${CPPFLAGS} > - CFLAGS+= -D_PATH_DEFSYSPATH=\"${DEFAULT_SYS_PATH}\" > - CFLAGS+= -I. -I${srcdir} ${XDEFS} -DMAKE_NATIVE > - CFLAGS+= ${COPTS.${.ALLSRC:M*.c:T:u}} > - COPTS.main.c+= "-DMAKE_VERSION=\"${_MAKE_VERSION}\"" > ++CPPFLAGS += -DUSE_META > ++CFLAGS += ${CPPFLAGS} > ++CFLAGS += -D_PATH_DEFSYSPATH =\"${DEFAULT_SYS_PATH}\" > ++CFLAGS += -I. -I${srcdir} ${XDEFS} -DMAKE_NATIVE > ++CFLAGS += ${COPTS.${.ALLSRC:M*.c:T:u}} > ++COPTS.main.c += "-DMAKE_VERSION =\"${_MAKE_VERSION}\"" > + > +.for x in FORCE_MAKE_OS FORCE_MACHINE FORCE_MACHINE_ARCH > +.ifdef $x > - COPTS.main.c+= "-D$x=\"${$x}\"" > ++COPTS.main.c += "-D$x =\"${$x}\"" > +.endif > +.endfor > + > +# meta mode can be useful even without filemon > +# should be set by now > +USE_FILEMON ?= no > - .if ${USE_FILEMON:tl} != "no" > ++.if ${USE_FILEMON:tl} ! = "no" > +.PATH: ${srcdir}/filemon > - SRCS+= filemon_${USE_FILEMON}.c > - COPTS.meta.c+= -DUSE_FILEMON -DUSE_FILEMON_${USE_FILEMON:tu} > - COPTS.job.c+= ${COPTS.meta.c} > ++SRCS += filemon_${USE_FILEMON}.c > ++COPTS.meta.c += -DUSE_FILEMON -DUSE_FILEMON_${USE_FILEMON:tu} > ++COPTS.job.c += ${COPTS.meta.c} > + > - .if ${USE_FILEMON} == "dev" > ++.if ${USE_FILEMON} = = "dev" make[4]: "/opt/src/git-src/usr.bin/bmake/Makefile" line 177: Malformed conditional (make(test) && ${MK_AUTO_OBJ} = = "yes") This must be a typo. > +FILEMON_H ?= /usr/include/dev/filemon/filemon.h > - .if exists(${FILEMON_H}) && ${FILEMON_H:T} == "filemon.h" > ++.if exists(${FILEMON_H}) && ${FILEMON_H:T} = = "filemon.h" > +COPTS.filemon_dev.c += -DHAVE_FILEMON_H -I${FILEMON_H:H} > +.endif > - .elif ${USE_FILEMON} == "ktrace" > - COPTS.filemon_ktrace.c += -Wno-error=unused-parameter > ++.elif ${USE_FILEMON} = = "ktrace" > ++COPTS.filemon_ktrace.c += -Wno-error =unused-parameter > +.endif > + > +.endif # USE_FILEMON > + > +.PATH: ${srcdir} > + > ++ > +.if make(obj) || make(clean) > - SUBDIR+= unit-tests > ++SUBDIR.${MK_TESTS} += unit-tests > +.endif > + > ++MAN1 = ${MAN} > ++ > ++.if ${MK_GEN_MAN:Uno} = = "yes" > ++ > ++# we use this to generate ${MAN} > ++.include <${srcdir}/mk/genfiles.mk> > + > - MAN= ${PROG}.1 > - MAN1= ${MAN} > ++.if ${PROG} ! = "make" > ++CLEANFILES += my.history > ++SED_CMDS.${MAN} += \ > ++ -e '/^.Dt/s/MAKE/${PROG:tu}/' \ > ++ -e '/^.Nm/s/make/${PROG}/' \ > ++ > ++.endif > + > - .if ${PROG} != "make" > - CLEANFILES+= my.history > - .if make(${MAN}) || !exists(${srcdir}/${MAN}) > ++.if ${CLEANFILES:U:Mmy.history} ! = "" > ++${MAN}: my.history > +my.history: > + @(echo ".Nm"; \ > + echo "is derived from NetBSD"; \ > + echo ".Xr make 1 ."; \ > + echo "It uses autoconf to facilitate portability to other platforms."; > \ > + echo ".Pp") > $@ > + > - .NOPATH: ${MAN} > - ${MAN}: make.1 my.history > - @echo making $@ > - @sed \ > - -e '/^.Dt/s/MAKE/${PROG:tu}/' \ > - -e 's/^.Nx/NetBSD/' \ > - -e '/^.Nm/s/make/${PROG}/' \ > ++SED_CMDS.${MAN} += \ > + -e '/^.Sh HISTORY/rmy.history' \ > - -e '/^.Sh HISTORY/,$$s,^.Nm,make,' ${srcdir}/make.1 > $@ > ++ -e '/^.Sh HISTORY/,/BUGS/s,^.Nm,make,' \ > ++ > ++.endif > + > - all beforeinstall: ${MAN} > - _mfromdir=. > ++.if ${.MAKE.OS:N*BSD} ! = "" > ++# assume .Nx is not supported > ++SED_CMDS.${MAN} += -e 's/^\.Nx/NetBSD/' > +.endif > ++ > ++# watch out for a late change of PROG > ++.if !empty(SRCS.${MAN}) > ++.NOPATH: ${MAN} > ++${MAN}: ${SRCS.${MAN}} _GENFILES_USE > ++ > ++all man beforeinstall: ${MAN} > ++_mfromdir =. > +.endif > ++.endif # MK_GEN_MAN > + > - MANTARGET?= cat > - MANDEST?= ${MANDIR}/${MANTARGET}1 > ++MANTARGET ?= cat > ++MANDEST ?= ${MANDIR}/${MANTARGET}1 > + > - .if ${MANTARGET} == "cat" > - _mfromdir=${srcdir} > ++.if ${MANTARGET} = = "cat" > ++_mfromdir = ${srcdir} > +.endif > + > +.include <bsd.prog.mk> > + > - CPPFLAGS+= -DMAKE_NATIVE -DHAVE_CONFIG_H > ++CPPFLAGS += -DMAKE_NATIVE -DHAVE_CONFIG_H > +COPTS.var.c += -Wno-cast-qual > +COPTS.job.c += -Wno-format-nonliteral > +COPTS.parse.c += -Wno-format-nonliteral > +COPTS.var.c += -Wno-format-nonliteral > + > +# Force these > - SHAREDIR= ${SHAREDIR.bmake:U${prefix}/share} > - BINDIR= ${BINDIR.bmake:U${prefix}/bin} > - MANDIR= ${MANDIR.bmake:U${SHAREDIR}/man} > ++SHAREDIR = ${SHAREDIR.bmake:U${prefix}/share} > ++BINDIR = ${BINDIR.bmake:U${prefix}/bin} > ++MANDIR = ${MANDIR.bmake:U${SHAREDIR}/man} > + > +${OBJS}: config.h > + > + > +# A simple unit-test driver to help catch regressions > +TEST_MAKE ?= ${.OBJDIR}/${PROG:T} > +accept test: .NOMETA > + cd ${.CURDIR}/unit-tests && \ > - MAKEFLAGS= ${TEST_MAKE} -r -m / ${.TARGET} ${TESTS:DTESTS=${TESTS:Q}} > ++ MAKEFLAGS = ${TEST_MAKE} -r -m / ${.TARGET} ${TESTS:DTESTS =${TESTS:Q}} > + > + > - .if make(test) && ${MK_AUTO_OBJ} == "yes" > ++.if make(test) && ${MK_AUTO_OBJ} = = "yes" > +# The test target above visits unit-tests with -r -m / > +# which prevents MK_AUTO_OBJ doing its job > +# so do it here > - .if defined(MAKEOBJDIRPREFIX) || ${MAKEOBJDIR:U:M*/*} != "" > ++.if defined(MAKEOBJDIRPREFIX) || ${MAKEOBJDIR:U:M*/*} ! = "" > +_utobj = ${.OBJDIR}/unit-tests > +.else > +_utobj = ${.CURDIR}/unit-tests/${MAKEOBJDIR:Uobj} > +.endif > +utobj: .NOMETA > + @test -d ${_utobj} && exit 0; \ > + echo "[Creating ${_utobj}...]"; \ > + umask ${OBJDIR_UMASK:U002}; \ > + mkdir -p ${_utobj} > +test: utobj > +.endif > + > +# override some simple things > - BINDIR= /usr/bin > - MANDIR= /usr/share/man/man > ++BINDIR = /usr/bin > ++MANDIR = /usr/share/man/man > + > +# make sure we get this > - CFLAGS+= ${COPTS.${.IMPSRC:T}} > ++CFLAGS += ${COPTS.${.IMPSRC:T}} > + > +after-import: ${SRCTOP}/contrib/bmake/bsd.after-import.mk > + cd ${.CURDIR} && ${.MAKE} -f ${SRCTOP}/contrib/bmake/bsd.after-import.m > k > + -- Cheers, Cy Schubert <Cy.Schubert@cschubert.com> FreeBSD UNIX: <cy@FreeBSD.org> Web: https://FreeBSD.org NTP: <cy@nwtime.org> Web: https://nwtime.org e^(i*pi)+1=0
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20250131003149.50234D1>