| # -*-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; |