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.
26 lines
615 B
Makefile
26 lines
615 B
Makefile
# $NetBSD: varname-dot-alltargets.mk,v 1.3 2020/08/25 22:51:54 rillig Exp $
|
|
#
|
|
# Tests for the special .ALLTARGETS variable.
|
|
|
|
.MAIN: all
|
|
|
|
TARGETS_1:= ${.ALLTARGETS}
|
|
|
|
first second: source
|
|
|
|
TARGETS_2:= ${.ALLTARGETS}
|
|
|
|
all:
|
|
# Since the tests are run with the -r option, no targets are
|
|
# defined at the beginning.
|
|
@echo ${TARGETS_1}
|
|
|
|
# Only first and second are "real" targets.
|
|
# The .ALLTARGETS variable is not about targets though, but
|
|
# about all nodes, therefore source is also included.
|
|
@echo ${TARGETS_2}
|
|
|
|
# Interestingly, the .END target is also implicitly defined at
|
|
# this point.
|
|
@echo ${.ALLTARGETS}
|