2c3632d14f
Lots of code refactoring, simplification and cleanup. Lots of new unit-tests providing much higher code coverage. All courtesy of rillig at netbsd. Other significant changes: o new read-only variable .SHELL which provides the path of the shell used to run scripts (as defined by the .SHELL target). o variable parsing detects more errors. o new debug option -dl: LINT mode, does the equivalent of := for all variable assignments so that file and line number are reported for variable parse errors.
25 lines
712 B
Makefile
25 lines
712 B
Makefile
# $NetBSD: depsrc-usebefore.mk,v 1.5 2020/08/22 11:53:18 rillig Exp $
|
|
#
|
|
# Tests for the special source .USEBEFORE in dependency declarations,
|
|
# which allows to prepend common commands to other targets.
|
|
|
|
all: action directly
|
|
|
|
first: .USEBEFORE
|
|
@echo first 1 # Using ${.TARGET} here would expand to "action"
|
|
@echo first 2 # Using ${.TARGET} here would expand to "action"
|
|
|
|
second: .USEBEFORE
|
|
@echo second 1
|
|
@echo second 2
|
|
|
|
# It is possible but uncommon to have a .USEBEFORE target with no commands.
|
|
# This may happen as the result of expanding a .for loop.
|
|
empty: .USEBEFORE
|
|
|
|
# It is possible but uncommon to directly make a .USEBEFORE target.
|
|
directly: .USEBEFORE
|
|
@echo directly
|
|
|
|
action: second first empty
|