11.4Srillig# $NetBSD: dep.mk,v 1.4 2023/06/01 07:27:30 rillig Exp $
21.1Srillig#
31.2Srillig# Tests for dependency declarations, such as "target: sources".
41.1Srillig
51.3Srillig.MAIN: all
61.3Srillig
71.3Srillig# As soon as a target is defined using one of the dependency operators, it is
81.3Srillig# restricted to this dependency operator and cannot use the others anymore.
91.3Srilligonly-colon:
101.3Srillig# expect+1: Inconsistent operator for only-colon
111.3Srilligonly-colon!
121.3Srillig# expect+1: Inconsistent operator for only-colon
131.3Srilligonly-colon::
141.3Srillig# Ensure that the target still has the original operator.  If it hadn't, there
151.3Srillig# would be another error message.
161.3Srilligonly-colon:
171.1Srillig
181.4Srillig
191.4Srillig# Before parse.c 1.158 from 2009-10-07, the parser broke dependency lines at
201.4Srillig# the first ';', without parsing expressions as such.  It interpreted the
211.4Srillig# first ';' as the separator between the dependency and its commands, and the
221.4Srillig# '^' as a shell command.
231.4Srilligall: for-subst
241.4Srillig.for file in ${.PARSEFILE}
251.4Srilligfor-subst:	  ${file:S;^;./;g}
261.4Srillig	@echo ".for with :S;... OK"
271.4Srillig.endfor
281.4Srillig
291.4Srillig
301.1Srilligall:
31