1$description = "The following test creates a makefile to test the suffix\n"
2              ."function. \n";
3
4$details = "The suffix function will return the string following the last _._\n"
5          ."the list provided. It will provide all of the unique suffixes found\n"
6          ."in the list. The long strings are sorted to remove duplicates.\n";
7
8# IF YOU NEED >1 MAKEFILE FOR THIS TEST, USE &get_tmpfile; TO GET
9# THE NAME OF THE MAKEFILE.  THIS INSURES CONSISTENCY AND KEEPS TRACK OF
10# HOW MANY MAKEFILES EXIST FOR EASY DELETION AT THE END.
11# EXAMPLE: $makefile2 = &get_tmpfile;
12
13
14open(MAKEFILE,"> $makefile");
15
16# The Contents of the MAKEFILE ...
17
18print MAKEFILE "string  := word.pl general_test2.pl1 FORCE.pl word.pl3 generic_test.perl /tmp.c/bar foo.baz/bar.c MAKEFILES_variable.c\n"
19              ."string2 := \$(string) \$(string) \$(string) \$(string) \$(string) \$(string) \$(string)\n"
20              ."string3 := \$(string2) \$(string2) \$(string2) \$(string2) \$(string2) \$(string2) \$(string2)\n"
21              ."string4 := \$(string3) \$(string3) \$(string3) \$(string3) \$(string3) \$(string3) \$(string3)\n"
22              ."all: \n"
23              ."\t\@echo \$(suffix \$(string)) \n"
24              ."\t\@echo \$(sort \$(suffix \$(string4))) \n"
25              ."\t\@echo \$(suffix \$(string) a.out) \n"
26              ."\t\@echo \$(sort \$(suffix \$(string3))) \n";
27
28
29
30# END of Contents of MAKEFILE
31
32close(MAKEFILE);
33
34&run_make_with_options($makefile,"",&get_logfile,0);
35
36# Create the answer to what should be produced by this Makefile
37
38# COMPARE RESULTS
39$answer = ".pl .pl1 .pl .pl3 .perl .c .c\n"
40         .".c .perl .pl .pl1 .pl3\n"
41         .".pl .pl1 .pl .pl3 .perl .c .c .out\n"
42         .".c .perl .pl .pl1 .pl3\n";
43
44# In this call to compare output, you should use the call &get_logfile(1)
45# to send the name of the last logfile created.  You may also use
46# the special call &get_logfile(1) which returns the same as &get_logfile(1).
47
48&compare_output($answer,&get_logfile(1));
49
50# This tells the test driver that the perl test script executed properly.
511;
52
53
54
55
56
57
58