summaryrefslogtreecommitdiff
path: root/usr.bin/make/unit-tests/suff-transform-select.mk
blob: a5af089d771424c0c58b6c012f9ae7fe68db327e (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
# $NetBSD: suff-transform-select.mk,v 1.3 2020/11/23 14:47:12 rillig Exp $
#
# https://gnats.netbsd.org/49086, issue 10:
# Explicit dependencies affect transformation rule selection.
#
# If issue10.e is wanted and both issue10.d and issue10.f are available,
# make should choose the .d.e rule, because .d is before .f in .SUFFIXES.
# The bug was that if issue10.d had an explicit dependency on issue10.f,
# it would choose .f.e instead.

.MAKEFLAGS: -ds

_!=	rm -f issue10.*

all: issue10.e

.c.d .d.c .d .d.e .e.d:
	: 'Making ${.TARGET} from ${.IMPSRC} (first set).'

.SUFFIXES: .c .d .e .f .g

.e .e.f .f.e:
	: 'Making ${.TARGET} from ${.IMPSRC} (second set).'

issue10.d issue10.f:
	: 'Making ${.TARGET} out of nothing.'

# XXX: see suff-bug-endless, which must be fixed first.
#.MAKEFLAGS: -dg1

# Before 24-11-2020, resolving all.e ran into an endless loop.