# -*-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; |