]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/bmake/unit-tests/deptgt.mk
Update to bmake-20201101
[FreeBSD/FreeBSD.git] / contrib / bmake / unit-tests / deptgt.mk
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
24 target1 target2: sources        # targets := [target1, target2]
25         : command1              # targets == [target1, target2]
26         : command2              # targets == [target1, target2]
27 VAR=value                       # targets := NULL
28         : command3              # parse error, since targets == NULL
29
30 all:
31         @:;