#                                                                    -*-perl-*-
$description = "Test the addsuffix function.";

$details = "";


open(MAKEFILE,"> $makefile");

# The Contents of the MAKEFILE ...

print MAKEFILE <<EOMAKE;
string := \$(addsuffix .c,src${pathsep}a.b.z.foo hacks)
one: ; \@echo \$(string)

two: ; \@echo \$(addsuffix foo,)
EOMAKE

close(MAKEFILE);


# TEST 0

&run_make_with_options($makefile, "", &get_logfile);
$answer = "src${pathsep}a.b.z.foo.c hacks.c\n";
&compare_output($answer,&get_logfile(1));


# TEST 1

&run_make_with_options($makefile, "two", &get_logfile);
$answer = "\n";
&compare_output($answer,&get_logfile(1));


# This tells the test driver that the perl test script executed properly.
1;
