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