1 # $NetBSD: dep-double-colon-indep.mk,v 1.1 2020/10/23 19:11:30 rillig Exp $
3 # Tests for the :: operator in dependency declarations, which allows multiple
4 # dependency groups with the same target. Each group is evaluated on its own,
5 # independent of the other groups.
7 # This is useful for targets that are updatable, such as a database or a log
8 # file. Be careful with parallel mode though, to avoid lost updates and
9 # other inconsistencies.
11 # The target 1300 depends on 1200, 1400 and 1500. The target 1200 is older
12 # than 1300, therefore nothing is done for it. The other targets are newer
13 # than 1300, therefore each of them is made, independently from the other.
16 @rm -f dep-double-colon-1???
18 _!= touch -t 202001011200 dep-double-colon-1200
19 _!= touch -t 202001011300 dep-double-colon-1300
20 _!= touch -t 202001011400 dep-double-colon-1400
21 _!= touch -t 202001011500 dep-double-colon-1500
23 all: dep-double-colon-1300
25 dep-double-colon-1300:: dep-double-colon-1200
26 : 'Making 1200 ${.TARGET} from ${.ALLSRC} oodate ${.OODATE}'
28 dep-double-colon-1300:: dep-double-colon-1400
29 : 'Making 1400 ${.TARGET} from ${.ALLSRC} oodate ${.OODATE}'
31 dep-double-colon-1300:: dep-double-colon-1500
32 : 'Making 1500 ${.TARGET} from ${.ALLSRC} oodate ${.OODATE}'