export.mk revision 1.7 1 # $Id: export.mk,v 1.7 2020/10/17 16:53:26 rillig Exp $
2
3 UT_TEST=export
4 UT_FOO=foo${BAR}
5 UT_FU=fubar
6 UT_ZOO=hoopie
7 UT_NO=all
8 # believe it or not, we expect this one to come out with $UT_FU unexpanded.
9 UT_DOLLAR= This is $$UT_FU
10
11 .export UT_FU UT_FOO
12 .export UT_DOLLAR
13
14 .if !defined(.MAKE.PID)
15 .error .MAKE.PID must be defined
16 .endif
17 @= at
18 %= percent
19 *= asterisk
20 ${:U!}= exclamation # A direct != would try to run "exclamation"
21 # as a shell command and assign its output
22 # to the empty variable.
23 &= ampersand
24
25 # This is ignored because it is internal.
26 .export .MAKE.PID
27 # These are ignored because they are local to the target.
28 .export @
29 .export %
30 .export *
31 .export !
32 # This is exported (see the .rawout file) but not displayed since the dash
33 # shell filters it out. To reach consistent output for each shell, the
34 # ampersand is filtered out already by FILTER_CMD.
35 .export &
36 # This is ignored because it is undefined.
37 .export UNDEFINED
38
39 BAR=bar is ${UT_FU}
40
41 .MAKE.EXPORTED+= UT_ZOO UT_TEST
42
43 FILTER_CMD?= egrep -v '^(MAKEFLAGS|MALLOC_OPTIONS|PATH|PWD|SHLVL|_|&)='
44
45 all:
46 @env | ${FILTER_CMD} | sort
47