freebsd-src/unit-tests/make-exported.mk
Simon J. Gerraty 302da1a3d3 Import bmake-20201101
Lots of new unit-tests increase code coverage.

Lots of refactoring, cleanup and simlpification to reduce
code size.

Fixes for Bug 223564 and 245807

Updates to dirdeps.mk and meta2deps.py
2020-11-07 19:39:21 +00:00

26 lines
1,006 B
Makefile
Executable file

# $NetBSD: make-exported.mk,v 1.6 2020/10/05 19:27:48 rillig Exp $
#
# As of 2020-08-09, the code in Var_Export is shared between the .export
# directive and the .MAKE.EXPORTED variable. This leads to non-obvious
# behavior for certain variable assignments.
-env= make-exported-value-env
-literal= make-exported-value-literal
UT_VAR= ${UNEXPANDED}
# Before 2020-10-03, the following line took the code path of .export-env,
# which was surprising behavior. Since 2020-10-03 this line tries to
# export the variable named "-env", but that is rejected because the
# variable name starts with a hyphen.
.MAKE.EXPORTED= -env
# Before 2020-10-03, if the value of .MAKE.EXPORTED started with "-literal",
# make behaved like a mixture of .export-literal and a regular .export.
#
# Since 2020-10-03, the "variable" named "-literal" is not exported anymore,
# it is just ignored since its name starts with '-'.
.MAKE.EXPORTED= -literal UT_VAR
all:
@env | sort | grep -E '^UT_|make-exported-value' || true