Simon J. Gerraty 2c3632d14f Update to bmake-20200902
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.
2020-09-05 19:29:42 +00:00

18 lines
592 B
Makefile
Executable File

# $NetBSD: lint.mk,v 1.2 2020/08/08 13:00:07 rillig Exp $
#
# Demonstrates stricter checks that are only enabled in the lint mode,
# using the -dL option.
# Ouch: as of 2020-08-03, make exits successfully even though the error
# message has been issued as PARSE_FATAL.
# Ouch: as of 2020-08-03, the variable is malformed and parsing stops
# for a moment, but is continued after the wrongly-guessed end of the
# variable, which echoes "y@:Q}".
all: mod-loop-varname
mod-loop-varname:
@echo ${VAR:Uvalue:@${:Ubar:S,b,v,}@x${var}y@:Q}
@echo ${VAR:Uvalue:@!@x$!y@:Q} # surprisingly allowed