mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-03-01 14:38:29 +00:00
46 lines
873 B
Text
46 lines
873 B
Text
|
# -*-perl-*-
|
||
|
|
||
|
$description = "Test the override directive on variable assignments.";
|
||
|
|
||
|
$details = "";
|
||
|
|
||
|
# TEST 0: Basic override
|
||
|
|
||
|
run_make_test('
|
||
|
X = start
|
||
|
override recur = $(X)
|
||
|
override simple := $(X)
|
||
|
X = end
|
||
|
all: ; @echo "$(recur) $(simple)"
|
||
|
',
|
||
|
'recur=I simple=J', "end start\n");
|
||
|
|
||
|
# TEST 1: Override with append
|
||
|
|
||
|
run_make_test('
|
||
|
X += X1
|
||
|
override X += X2
|
||
|
override Y += Y1
|
||
|
Y += Y2
|
||
|
all: ; @echo "$(X) $(Y)"
|
||
|
',
|
||
|
'', "X1 X2 Y1\n");
|
||
|
|
||
|
# TEST 2: Override with append to the command line
|
||
|
|
||
|
run_make_test(undef, 'X=C Y=C', "C X2 C Y1\n");
|
||
|
|
||
|
# Test override of define/endef
|
||
|
|
||
|
run_make_test('
|
||
|
override define foo
|
||
|
@echo First comes the definition.
|
||
|
@echo Then comes the override.
|
||
|
endef
|
||
|
all: ; $(foo)
|
||
|
',
|
||
|
'foo=Hello', "First comes the definition.\nThen comes the override.\n");
|
||
|
|
||
|
|
||
|
1;
|