12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- # -*-perl-*-
- $description = "Tests VPATH+/GPATH functionality.";
- $details = "";
- $VP = "$workdir$pathsep";
- open(MAKEFILE,"> $makefile");
- # The Contents of the MAKEFILE ...
- print MAKEFILE "VPATH = $VP\n";
- print MAKEFILE <<'EOMAKE';
- GPATH = $(VPATH)
- .SUFFIXES: .a .b .c .d
- .PHONY: general rename notarget intermediate
- %.a:
- %.b:
- %.c:
- %.d:
- %.a : %.b ; cat $^ > $@
- %.b : %.c ; cat $^ > $@
- %.c :: %.d ; cat $^ > $@
- # General testing info:
- general: foo.b
- foo.b: foo.c bar.c
- EOMAKE
- close(MAKEFILE);
- @touchedfiles = ();
- sub touchfiles {
- foreach (@_) {
- ($f = $_) =~ s,VP/,$VP,g;
- &touch($f);
- push(@touchedfiles, $f);
- sleep(1);
- }
- }
- # Run the general-case test
- &touchfiles("VP/foo.d", "VP/bar.d", "VP/foo.c", "VP/bar.c", "foo.b", "bar.d");
- &run_make_with_options($makefile,"general",&get_logfile());
- push(@touchedfiles, "bar.c");
- $answer = "$make_name: Nothing to be done for `general'.\n";
- &compare_output($answer,&get_logfile(1));
- unlink(@touchedfiles) unless $keep;
- 1;
|