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.
18 lines
592 B
Makefile
Executable File
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
|