- Enhance .POSIX to set -e when invoking shells, as demanded by a
[make.git] / tests / scripts / functions / origin
blobf7b7eb84823b70d2a8b74d99918f293b0b1e9a13
1 #                                                                    -*-perl-*-
3 $description = "Test the origin function.";
5 $details = "This is a test of the origin function in gnu make.
6 This function will report on where a variable was
7 defined per the following list:
9 'undefined'            never defined
10 'default'              default definition
11 'environment'          environment var without -e
12 'environment override' environment var with    -e
13 'file'                 defined in makefile
14 'command line'         defined on the command line
15 'override'             defined by override in makefile
16 'automatic'            Automatic variable\n";
18 # Set an environment variable
19 $extraENV{MAKETEST} = 1;
21 run_make_test('
22 foo := bletch garf
23 auto_var = undefined CC MAKETEST MAKE foo CFLAGS WHITE @
24 av = $(foreach var, $(auto_var), $(origin $(var)) )
25 override WHITE := BLACK
26 all: auto
27         @echo $(origin undefined)
28         @echo $(origin CC)
29         @echo $(origin MAKETEST)
30         @echo $(origin MAKE)
31         @echo $(origin foo)
32         @echo $(origin CFLAGS)
33         @echo $(origin WHITE)
34         @echo $(origin @)
35 auto :
36         @echo $(av)',
37               '-e WHITE=WHITE CFLAGS=',
38               'undefined default environment default file command line override automatic
39 undefined
40 default
41 environment
42 default
43 file
44 command line
45 override
46 automatic');
48 # Reset an environment variable
49 delete $extraENV{MAKETEST};