"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "unit-tests/var-op-expand.mk" between
bmake-20201101.tar.gz and bmake-20201117.tar.gz

About: bmake a BSD make tool (derived from NetBSD’s make).

var-op-expand.mk  (bmake-20201101):var-op-expand.mk  (bmake-20201117)
# $NetBSD: var-op-expand.mk,v 1.2 2020/08/16 14:25:16 rillig Exp $ # $NetBSD: var-op-expand.mk,v 1.4 2020/11/08 14:00:52 rillig Exp $
# #
# Tests for the := variable assignment operator, which expands its # Tests for the := variable assignment operator, which expands its
# right-hand side. # right-hand side.
# TODO: Implementation # TODO: Implementation
# XXX: edge case: When a variable name refers to an undefined variable, the
# behavior differs between the '=' and the ':=' assignment operators.
# This bug exists since var.c 1.42 from 2000-05-11.
#
# The '=' operator expands the undefined variable to an empty string, thus
# assigning to VAR_ASSIGN_. In the name of variables to be set, it should
# really be forbidden to refer to undefined variables.
#
# The ':=' operator expands the variable name twice. In one of these
# expansions, the undefined variable expression is preserved (controlled by
# preserveUndefined in VarAssign_EvalSubst), in the other expansion it expands
# to an empty string. This way, 2 variables are created using a single
# variable assignment. It's magic. :-/
.MAKEFLAGS: -dv
VAR_ASSIGN_${UNDEF}= undef value
VAR_SUBST_${UNDEF}:= undef value
.MAKEFLAGS: -d0
all: all:
@:; @:;
 End of changes. 2 change blocks. 
1 lines changed or deleted 19 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)