On 6/13/16 8:18 PM, Simon J. Gerraty wrote: > 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. > The problem is missing-meta requiring a .meta file here. The $?/.OODATE comparison exception is only used meta_oodate() if there is already a .meta file, not for the new missing .meta logic. -- Regards, Bryan DreweryReceived on Tue Jun 14 2016 - 01:28:58 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:05 UTC