opt-env.mk revision 1.4
11.4Srillig# $NetBSD: opt-env.mk,v 1.4 2022/03/26 13:32:31 rillig Exp $ 21.1Srillig# 31.4Srillig# Tests for the -e command line option, which looks up environment variables 41.4Srillig# before those from the global scope. It has no influence on variables from 51.4Srillig# the command line though. 61.4Srillig# 71.4Srillig# This option is required by POSIX. 81.1Srillig 91.3Srillig# The variable FROM_ENV is defined in ./Makefile. 101.1Srillig 111.3Srillig.MAKEFLAGS: -e 121.3Srillig 131.3Srillig.if ${FROM_ENV} != value-from-env 141.3Srillig. error ${FROM_ENV} 151.3Srillig.endif 161.3Srillig 171.3Srillig# Try to override the variable; this does not have any effect. 181.3SrilligFROM_ENV= value-from-mk 191.3Srillig.if ${FROM_ENV} != value-from-env 201.3Srillig. error ${FROM_ENV} 211.3Srillig.endif 221.3Srillig 231.3Srillig# Try to append to the variable; this also doesn't have any effect. 241.3SrilligFROM_ENV+= appended 251.3Srillig.if ${FROM_ENV} != value-from-env 261.3Srillig. error ${FROM_ENV} 271.3Srillig.endif 281.3Srillig 291.3Srillig# The default assignment also cannot change the variable. 301.3SrilligFROM_ENV?= default 311.3Srillig.if ${FROM_ENV} != value-from-env 321.3Srillig. error ${FROM_ENV} 331.3Srillig.endif 341.3Srillig 351.3Srillig# Neither can the assignment modifiers. 361.3Srillig.if ${FROM_ENV::=from-condition} 371.3Srillig.endif 381.3Srillig.if ${FROM_ENV} != value-from-env 391.3Srillig. error ${FROM_ENV} 401.3Srillig.endif 411.3Srillig 421.3Srillig# Even .undef doesn't work since it only affects the global scope, 431.3Srillig# which is independent from the environment variables. 441.3Srillig.undef FROM_ENV 451.3Srillig.if ${FROM_ENV} != value-from-env 461.3Srillig. error ${FROM_ENV} 471.3Srillig.endif 481.3Srillig 491.3Srilligall: .PHONY 50