summaryrefslogtreecommitdiff
path: root/usr.bin/make/unit-tests/depsrc-use.mk
blob: ea2cf25bfb6a12e3ee9e5428bdd9a12be11fd1e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# $NetBSD: depsrc-use.mk,v 1.6 2022/04/18 14:38:24 rillig Exp $
#
# Tests for the special source .USE in dependency declarations,
# which allows to append common commands to other targets.
#
# See also:
#	.USEBEFORE
#	depsrc-usebefore.mk

# Before make.h 1.280 from 2021-12-28, a .USEBEFORE target was accidentally
# regarded as a candidate for the main target.  On the other hand, a .USE
# target was not.
not-a-main-candidate: .USE

all: action directly

first: .USE first-first first-second
	@echo first 1		# Using ${.TARGET} here would expand to "action"
	@echo first 2
first-first: .USE
	@echo first-first 1
	@echo first-first 2
first-second: .USE
	@echo first-second 1
	@echo first-second 2

second: .USE
	@echo second 1
	@echo second 2

# It's possible but uncommon to have a .USE target with no commands.
# This may happen as the result of expanding a .for loop.
empty: .USE

# It's possible but uncommon to directly make a .USE target.
directly: .USE
	@echo directly

action: first second empty