diff options
author | Paul Smith <psmith@gnu.org> | 2002-07-10 12:59:07 +0000 |
---|---|---|
committer | Paul Smith <psmith@gnu.org> | 2002-07-10 12:59:07 +0000 |
commit | 4d72c4c11e3aff65e9bb36e5fcf75f088b140049 (patch) | |
tree | 92a4ac290dd9b9f2261e60457aca9b5a951bc15b /tests/scripts | |
parent | 6c9a393f954805d49ab6c66957b46199ddd6e78e (diff) | |
download | gunmake-4d72c4c11e3aff65e9bb36e5fcf75f088b140049.tar.gz |
Implement SysV-style $$@ support. I looked at E.Parmelan's patch but
decided to implement this a different way, and didn't use it.
Diffstat (limited to 'tests/scripts')
-rw-r--r-- | tests/scripts/variables/automatic | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/tests/scripts/variables/automatic b/tests/scripts/variables/automatic index b80d478..cb17efe 100644 --- a/tests/scripts/variables/automatic +++ b/tests/scripts/variables/automatic @@ -30,9 +30,8 @@ close(MAKEFILE); # TEST #1 -- simple test # ------- -&touch(qw(foo.x baz.z)); - -sleep(1); +# Touch these into the past +&utouch(-10, qw(foo.x baz.z)); &run_make_with_options($makefile, "", &get_logfile); $answer = "touch $dir/bar.y @@ -47,4 +46,28 @@ touch $dir/foo.x\n"; unlink(qw(foo.x bar.y baz.z)); +# TEST #2 -- test the SysV emulation of $$@ etc. +# ------- + +$makefile2 = &get_tmpfile; + +open(MAKEFILE, "> $makefile2"); +print MAKEFILE "dir = $dir\n"; +print MAKEFILE <<'EOF'; +.SUFFIXES: +.DEFAULT: ; @echo '$@' + +$(dir)/foo $(dir)/bar: $@.x $$@.x $$$@.x $$$$@.x $$(@D).x $$(@F).x + +$(dir)/x.z $(dir)/y.z: $(dir)/%.z : $@.% $$@.% $$$@.% $$$$@.% $$(@D).% $$(@F).% +EOF + +&run_make_with_options($makefile2, "$dir/foo $dir/bar", &get_logfile); +$answer = ".x\n$dir/foo.x\n\$.x\n\$@.x\n$dir.x\nfoo.x\n$dir/bar.x\nbar.x\n"; +&compare_output($answer, &get_logfile(1)); + +&run_make_with_options($makefile2, "$dir/x.z $dir/y.z", &get_logfile); +$answer = ".x\n$dir/x.z.x\n\$.x\n\$@.x\n$dir.x\nx.z.x\n.y\n$dir/y.z.y\n\$.y\n\$@.y\n$dir.y\ny.z.y\n"; +&compare_output($answer, &get_logfile(1)); + 1; |