Imported Upstream version 3.82
[platform/upstream/make.git] / tests / scripts / functions / suffix
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
14 open(MAKEFILE,"> $makefile");
15
16 # The Contents of the MAKEFILE ...
17
18 print 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
32 close(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.
51 1;
52
53
54
55
56
57