opt-env.mk revision 1.3
11.3Srillig# $NetBSD: opt-env.mk,v 1.3 2022/01/23 16:09:38 rillig Exp $
21.1Srillig#
31.2Srillig# Tests for the -e command line option.
41.1Srillig
51.3Srillig# The variable FROM_ENV is defined in ./Makefile.
61.1Srillig
71.3Srillig.MAKEFLAGS: -e
81.3Srillig
91.3Srillig.if ${FROM_ENV} != value-from-env
101.3Srillig.  error ${FROM_ENV}
111.3Srillig.endif
121.3Srillig
131.3Srillig# Try to override the variable; this does not have any effect.
141.3SrilligFROM_ENV=	value-from-mk
151.3Srillig.if ${FROM_ENV} != value-from-env
161.3Srillig.  error ${FROM_ENV}
171.3Srillig.endif
181.3Srillig
191.3Srillig# Try to append to the variable; this also doesn't have any effect.
201.3SrilligFROM_ENV+=	appended
211.3Srillig.if ${FROM_ENV} != value-from-env
221.3Srillig.  error ${FROM_ENV}
231.3Srillig.endif
241.3Srillig
251.3Srillig# The default assignment also cannot change the variable.
261.3SrilligFROM_ENV?=	default
271.3Srillig.if ${FROM_ENV} != value-from-env
281.3Srillig.  error ${FROM_ENV}
291.3Srillig.endif
301.3Srillig
311.3Srillig# Neither can the assignment modifiers.
321.3Srillig.if ${FROM_ENV::=from-condition}
331.3Srillig.endif
341.3Srillig.if ${FROM_ENV} != value-from-env
351.3Srillig.  error ${FROM_ENV}
361.3Srillig.endif
371.3Srillig
381.3Srillig# Even .undef doesn't work since it only affects the global scope,
391.3Srillig# which is independent from the environment variables.
401.3Srillig.undef FROM_ENV
411.3Srillig.if ${FROM_ENV} != value-from-env
421.3Srillig.  error ${FROM_ENV}
431.3Srillig.endif
441.3Srillig
451.3Srilligall: .PHONY
46