xref: /freebsd/contrib/bmake/unit-tests/deptgt.mk (revision 36d6566e5985030fd2f1100bd9c1387bbe0bd290)
1# $NetBSD: deptgt.mk,v 1.8 2020/10/18 13:02:10 rillig Exp $
2#
3# Tests for special targets like .BEGIN or .SUFFIXES in dependency
4# declarations.
5
6# TODO: Implementation
7
8# Just in case anyone tries to compile several special targets in a single
9# dependency line: That doesn't work, and make immediately rejects it.
10.SUFFIXES .PHONY: .c.o
11
12# The following lines demonstrate how 'targets' is set and reset during
13# parsing of dependencies.  To see it in action, set breakpoints in:
14#
15#	ParseDoDependency	at the beginning
16#	FinishDependencyGroup	at "targets = NULL"
17#	Parse_File		at "Lst_Free(targets)"
18#	Parse_File		at "targets = Lst_New()"
19#	ParseLine_ShellCommand	at "targets == NULL"
20#
21# Keywords:
22#	parse.c:targets
23
24target1 target2: sources	# targets := [target1, target2]
25	: command1		# targets == [target1, target2]
26	: command2		# targets == [target1, target2]
27VAR=value			# targets := NULL
28	: command3		# parse error, since targets == NULL
29
30all:
31	@:;
32