]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/bmake/unit-tests/dep-double-colon-indep.mk
Update to bmake-20201101
[FreeBSD/FreeBSD.git] / contrib / bmake / unit-tests / dep-double-colon-indep.mk
1 # $NetBSD: dep-double-colon-indep.mk,v 1.1 2020/10/23 19:11:30 rillig Exp $
2 #
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.
6 #
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.
10 #
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.
14
15 .END:
16         @rm -f dep-double-colon-1???
17
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
22
23 all: dep-double-colon-1300
24
25 dep-double-colon-1300:: dep-double-colon-1200
26         : 'Making 1200 ${.TARGET} from ${.ALLSRC} oodate ${.OODATE}'
27
28 dep-double-colon-1300:: dep-double-colon-1400
29         : 'Making 1400 ${.TARGET} from ${.ALLSRC} oodate ${.OODATE}'
30
31 dep-double-colon-1300:: dep-double-colon-1500
32         : 'Making 1500 ${.TARGET} from ${.ALLSRC} oodate ${.OODATE}'