| $description = "The following test creates a makefile to test static \n" |
| ."pattern rules. Static pattern rules are rules which \n" |
| ."specify multiple targets and construct the dependency \n" |
| ."names for each target based on the target name. "; |
| |
| $details = "The makefile created in this test has three targets. The \n" |
| ."filter command is used to get those target names ending in \n" |
| .".o and statically creates a compile command with the target\n" |
| ."name and the target name with .c. It also does the same thing\n" |
| ."for another target filtered with .elc and creates a command\n" |
| ."to emacs a .el file"; |
| |
| open(MAKEFILE,"> $makefile"); |
| |
| # The Contents of the MAKEFILE ... |
| |
| print MAKEFILE "files := \$(filter-out %.o, foo.elc bar.o lose.o) \n" |
| ."all: \n" |
| ."\t\@echo \$(files) \n"; |
| |
| # END of Contents of MAKEFILE |
| |
| close(MAKEFILE); |
| |
| &run_make_with_options($makefile, |
| "", |
| &get_logfile, |
| 0); |
| |
| # Create the answer to what should be produced by this Makefile |
| $answer = "foo.elc\n"; |
| |
| &compare_output($answer,&get_logfile(1)); |
| |
| 1; |