Re: 11.0 -r301815 to -r310873 using WITH_META_MODE=yes : an empty filename failure

From: Simon J. Gerraty <sjg_at_juniper.net>
Date: Mon, 13 Jun 2016 20:18:54 -0700
Bryan Drewery <bdrewery_at_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. 
Received on Tue Jun 14 2016 - 01:19:00 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:05 UTC