freebsd-nq/contrib/bmake/unit-tests/varname-dot-shell.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

37 lines
726 B
Makefile
Executable File

# $NetBSD: varname-dot-shell.mk,v 1.7 2021/02/04 21:42:47 rillig Exp $
#
# Tests for the special .SHELL variable, which contains the shell used for
# running the commands.
#
# This variable is read-only.
.MAKEFLAGS: -dcpv
ORIG_SHELL:= ${.SHELL}
.SHELL= overwritten
.if ${.SHELL} != ${ORIG_SHELL}
. error
.endif
# Trying to append to the variable.
# Since 2020-10-30 this is prevented.
.MAKEFLAGS: .SHELL+=appended
.if ${.SHELL} != ${ORIG_SHELL}
. error
.endif
# Trying to delete the variable.
# This has no effect since the variable is not defined in the global scope,
# but in the command-line scope.
.undef .SHELL
.SHELL= newly overwritten
.if ${.SHELL} != ${ORIG_SHELL}
. error
.endif
.MAKEFLAGS: -d0
all:
@:;