freebsd-dev/contrib/bmake/unit-tests/depsrc-use.mk
Simon J. Gerraty 2f2a5ecdf8 Merge bmake-20220418
o ignore '.POSIX:' if not in first non-comment line
        of Makefile as specified by POSIX.
        add unit-tests for above.

Merge commit '92bfae0e6bd53a7a0d6fe55e70a916d86cf26e8b'
2022-04-22 13:42:11 -07:00

40 lines
1004 B
Makefile

# $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