# -*-perl-*- $description = "Test the and & or functions.\n"; $details = "Try various uses of and & or to ensure they all give the correct results.\n"; # TEST #0 # For $(and ...), it will either be empty or the last value run_make_test(' NEQ = $(subst $1,,$2) f = t = true all: @echo 1 $(and ,$t) @echo 2 $(and $t) @echo 3 $(and $t,) @echo 4 $(and z,true,$f,false) @echo 5 $(and $t,$f,$(info bad short-circuit)) @echo 6 $(and $(call NEQ,a,b),true) @echo 7 $(and $(call NEQ,a,a),true) @echo 8 $(and z,true,fal,se) hi @echo 9 $(and ,true,fal,se)there @echo 10 $(and $(e) ,$t)', '', "1\n2 true\n3\n4\n5\n6 true\n7\n8 se hi\n9 there\n10\n"); # TEST #1 # For $(or ...), it will either be empty or the first true value run_make_test(' NEQ = $(subst $1,,$2) f = t = true all: @echo 1 $(or , ) @echo 2 $(or $t) @echo 3 $(or ,$t) @echo 4 $(or z,true,$f,false) @echo 5 $(or $t,$(info bad short-circuit)) @echo 6 $(or $(info short-circuit),$t) @echo 7 $(or $(call NEQ,a,b),true) @echo 8 $(or $(call NEQ,a,a),true) @echo 9 $(or z,true,fal,se) hi @echo 10 $(or ,true,fal,se)there @echo 11 $(or $(e) ,$f)', '', "short-circuit\n1\n2 true\n3 true\n4 z\n5 true\n6 true\n7 b\n8 true\n9 z hi\n10 truethere\n11\n"); 1;