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.
34 lines
637 B
Makefile
34 lines
637 B
Makefile
# $NetBSD: cond-func-defined.mk,v 1.3 2020/08/20 17:23:43 rillig Exp $
|
|
#
|
|
# Tests for the defined() function in .if conditions.
|
|
|
|
DEF= defined
|
|
${:UA B}= variable name with spaces
|
|
|
|
.if !defined(DEF)
|
|
.error
|
|
.endif
|
|
|
|
# Horizontal whitespace after the opening parenthesis is ignored.
|
|
.if !defined( DEF)
|
|
.error
|
|
.endif
|
|
|
|
# Horizontal whitespace before the closing parenthesis is ignored.
|
|
.if !defined(DEF )
|
|
.error
|
|
.endif
|
|
|
|
# The argument of a function must not directly contain whitespace.
|
|
.if !defined(A B)
|
|
.error
|
|
.endif
|
|
|
|
# If necessary, the whitespace can be generated by a variable expression.
|
|
.if !defined(${:UA B})
|
|
.error
|
|
.endif
|
|
|
|
all:
|
|
@:;
|