| # -*-perl-*- | |
| $description = "The following test creates a makefile to test the | |
| simple functionality of make. It is the same as | |
| general_test1 except that this one tests the | |
| definition of a variable to hold the object filenames."; | |
| open(MAKEFILE,"> $makefile"); | |
| # The contents of the Makefile ... | |
| print MAKEFILE <<EOF; | |
| VPATH = work | |
| objects = main.o kbd.o commands.o display.o insert.o | |
| edit: \$(objects) | |
| \t\@echo cc -o edit \$(objects) | |
| main.o : main.c defs.h | |
| \t\@echo cc -c main.c | |
| kbd.o : kbd.c defs.h command.h | |
| \t\@echo cc -c kbd.c | |
| commands.o : command.c defs.h command.h | |
| \t\@echo cc -c commands.c | |
| display.o : display.c defs.h buffer.h | |
| \t\@echo cc -c display.c | |
| insert.o : insert.c defs.h buffer.h | |
| \t\@echo cc -c insert.c | |
| EOF | |
| close(MAKEFILE); | |
| mkdir('work'); | |
| @files_to_touch = ("work${pathsep}main.c","work${pathsep}defs.h", | |
| "work${pathsep}kbd.c","work${pathsep}command.h", | |
| "work${pathsep}commands.c","work${pathsep}display.c", | |
| "work${pathsep}buffer.h","work${pathsep}insert.c", | |
| "work${pathsep}command.c"); | |
| &touch(@files_to_touch); | |
| &run_make_with_options($makefile,"",&get_logfile); | |
| # Create the answer to what should be produced by this Makefile | |
| $answer = "cc -c main.c\ncc -c kbd.c\ncc -c commands.c\ncc -c display.c | |
| cc -c insert.c\ncc -o edit main.o kbd.o commands.o display.o insert.o\n"; | |
| if (&compare_output($answer,&get_logfile(1))) { | |
| unlink @files_to_touch; | |
| } | |
| 1; |