diff options
Diffstat (limited to 'tests/scripts/functions/call')
-rw-r--r-- | tests/scripts/functions/call | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/scripts/functions/call b/tests/scripts/functions/call new file mode 100644 index 0000000..3303d5b --- /dev/null +++ b/tests/scripts/functions/call @@ -0,0 +1,38 @@ +# -*-perl-*- +$description = "Test the call function.\n"; + +$details = "Try various uses of call and ensure they all give the correct +results.\n"; + +open(MAKEFILE, "> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE <<'EOMAKE'; +# Simple, just reverse something +# +reverse = $2 $1 + +# A complex `map' function, using recursive `call'. +# +map = $(foreach a,$2,$(call $1,$a)) + +# Test using a builtin; this is silly as it's simpler to do without call +# +my-notdir = $(call notdir,$(1)) + +all: ; @echo '$(call reverse,bar,foo)'; \ + echo '$(call map,origin,MAKE reverse map)'; \ + echo '$(call my-notdir,a/b c/d e/f)' + +EOMAKE + +# END of Contents of MAKEFILE + +close(MAKEFILE); + +&run_make_with_options($makefile, "", &get_logfile); +$answer = "foo bar\ndefault file file\nb d f\n"; +&compare_output($answer, &get_logfile(1)); + +1; |