11.5Srillig# $NetBSD: depsrc.mk,v 1.5 2021/12/13 23:38:54 rillig Exp $
21.1Srillig#
31.2Srillig# Tests for special sources (those starting with a dot, followed by
41.5Srillig# uppercase letters) in dependency declarations, such as '.PHONY'.
51.1Srillig
61.1Srillig# TODO: Implementation
71.1Srillig
81.3Srillig# TODO: Test 'target: ${:U.SILENT}'
91.3Srillig
101.4Srillig# Demonstrate when exactly undefined variables are expanded in a dependency
111.4Srillig# declaration.
121.4Srilligtarget: .PHONY source-${DEFINED_LATER}
131.4Srillig#
141.4SrilligDEFINED_LATER=	later
151.4Srillig#
161.4Srilligsource-: .PHONY
171.5Srillig	# This section applies.
181.4Srillig	: 'Undefined variables are expanded directly in the dependency'
191.4Srillig	: 'declaration.  They are not preserved and maybe expanded later.'
201.4Srillig	: 'This is in contrast to local variables such as $${.TARGET}.'
211.4Srilligsource-later: .PHONY
221.5Srillig	# This section doesn't apply.
231.4Srillig	: 'Undefined variables are tried to be expanded in a dependency'
241.4Srillig	: 'declaration.  If that fails because the variable is undefined,'
251.4Srillig	: 'the expression is preserved and tried to be expanded later.'
261.4Srillig
271.5Srillig# Sources that look like keywords but are not known are interpreted as
281.5Srillig# ordinary sources.
291.5Srilligtarget: .UNKNOWN
301.5Srillig
311.5Srillig.UNKNOWN:
321.5Srillig	: Making ${.TARGET} from ${.ALLSRC:S,^$,nothing,W}.
33