freebsd-dev/contrib/bmake/unit-tests/lint.mk
Simon J. Gerraty dba7b0ef92 Merge bmake-20210206
Changes of interest

  o unit-tests: use private TMPDIR to avoid errors from other users
  o avoid strdup in mkTempFile
  o always use vfork
  o job.c: do not create empty shell files in jobs mode
    reduce unnecessary calls to waitpid
  o cond.c: fix debug output for comparison operators in conditionals
2021-02-10 22:03:22 -08:00

23 lines
852 B
Makefile
Executable File

# $NetBSD: lint.mk,v 1.4 2021/01/30 13:50:18 rillig Exp $
#
# Demonstrates stricter checks that are only enabled in lint mode, using the
# option -dL.
# Before main.c 1.421 from 2020-11-01, make exited successfully even though
# the error message had been issued as PARSE_FATAL. This was because back
# then, make checked for parse errors only after parsing each top-level
# makefile, in Parse_File. After that, when expanding variable expressions
# in shell commands, the parse errors were not checked again.
# 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}".
.MAKEFLAGS: -dL
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