Date: Mon, 13 Jun 2016 20:18:54 -0700 From: "Simon J. Gerraty" <sjg@juniper.net> To: Bryan Drewery <bdrewery@freebsd.org> Cc: Mark Millard <markmi@dsl-only.net>, FreeBSD Current <freebsd-current@freebsd.org>, <sjg@juniper.net> Subject: Re: 11.0 -r301815 to -r310873 using WITH_META_MODE=yes : an empty filename failure Message-ID: <57295.1465874334@kaos.jnpr.net> In-Reply-To: <65e079c5-6b69-1b94-6bc8-ee32269cc98c@FreeBSD.org> References: <85435AE2-3F2C-4330-9751-729D99716A8C@dsl-only.net> <65e079c5-6b69-1b94-6bc8-ee32269cc98c@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Bryan Drewery <bdrewery@freebsd.org> wrote: > >> ${_FIRM}: ${.CURDIR}/../../../../contrib/dev/drm2/radeonkmsfw/${_FIRM}.uu > >> uudecode -p $? > ${.TARGET} Targets like this that use $? or ${.OODATE} are a bad fit with META mode. If the normal make rules think the target is up to date, .OODATE will be empty, thus if meta_oodate says the target is out-of-date, the script will run with no args - because $? expands to nothing. So either the use of $? should be replaced with ${.ALLSRC} or something else that will be consistent, or the target should be marked .NOMETA FYI we can [ab]use ${.OODATE} as a token to prevent a line of a script from being compared - meta mode knows that the value of .OODATE is inconsistent so should not be compared... thus putting ${.OODATE:MNO_META_CMP} on a line expands to nothing - no impact on the command but still tells meta_oodate to ignore that line for comparison purposes.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?57295.1465874334>