#                                                                    -*-perl-*-

$description = "Test the origin function.";

$details = "This is a test of the origin function in gnu make.
This function will report on where a variable was
defined per the following list:

'undefined'            never defined
'default'              default definition
'environment'          environment var without -e
'environment override' environment var with    -e
'file'                 defined in makefile
'command line'         defined on the command line
'override'             defined by override in makefile
'automatic'            Automatic variable\n";

# Set an environment variable
$extraENV{MAKETEST} = 1;

run_make_test('
foo := bletch garf
auto_var = undefined CC MAKETEST MAKE foo CFLAGS WHITE @
av = $(foreach var, $(auto_var), $(origin $(var)) )
override WHITE := BLACK
all: auto
	@echo $(origin undefined)
	@echo $(origin CC)
	@echo $(origin MAKETEST)
	@echo $(origin MAKE)
	@echo $(origin foo)
	@echo $(origin CFLAGS)
	@echo $(origin WHITE)
	@echo $(origin @)
auto :
	@echo $(av)',
	      '-e WHITE=WHITE CFLAGS=',
	      'undefined default environment default file command line override automatic
undefined
default
environment
default
file
command line
override
automatic');

# Reset an environment variable
delete $extraENV{MAKETEST};

1;
