# -*-perl-*- $description = "Test the -C option to GNU make."; $details = "\ This test is similar to the clean test except that this test creates the file to delete in the work directory instead of the current directory. Make is called from another directory using the -C workdir option so that it can both find the makefile and the file to delete in the work directory."; $example = $workdir . $pathsep . "EXAMPLE"; open(MAKEFILE,"> $makefile"); print MAKEFILE <<EOF; all: ; \@echo This makefile did not clean the dir ... good clean: ; $delete_command EXAMPLE\$(ext) EOF close(MAKEFILE); # TEST #1 # ------- &touch($example); &run_make_with_options("${testname}.mk", "-C $workdir clean", &get_logfile); chdir $workdir; $wpath = &get_this_pwd; chdir $pwd; if (-f $example) { $test_passed = 0; } # Create the answer to what should be produced by this Makefile $answer = "$make_name: Entering directory `$wpath'\n" . "$delete_command EXAMPLE\n" . "$make_name: Leaving directory `$wpath'\n"; &compare_output($answer,&get_logfile(1)); # TEST #2 # ------- # Do it again with trailing "/"; this should work the same $example .= "slash"; &touch($example); &run_make_with_options("${testname}.mk", "-C $workdir/ clean ext=slash", &get_logfile); chdir $workdir; $wpath = &get_this_pwd; chdir $pwd; if (-f $example) { $test_passed = 0; } # Create the answer to what should be produced by this Makefile $answer = "$make_name: Entering directory `$wpath'\n" . "$delete_command EXAMPLEslash\n" . "$make_name: Leaving directory `$wpath'\n"; &compare_output($answer,&get_logfile(1)); 1; |