| 1 | # -*-perl-*-
|
|---|
| 2 |
|
|---|
| 3 | $description = "Test the -C option to GNU make.";
|
|---|
| 4 |
|
|---|
| 5 | $details = "\
|
|---|
| 6 | This test is similar to the clean test except that this test creates the file
|
|---|
| 7 | to delete in the work directory instead of the current directory. Make is
|
|---|
| 8 | called from another directory using the -C workdir option so that it can both
|
|---|
| 9 | find the makefile and the file to delete in the work directory.";
|
|---|
| 10 |
|
|---|
| 11 | $example = $workdir . $pathsep . "EXAMPLE";
|
|---|
| 12 |
|
|---|
| 13 | open(MAKEFILE,"> $makefile");
|
|---|
| 14 | print MAKEFILE <<EOF;
|
|---|
| 15 | all: ; \@echo This makefile did not clean the dir ... good
|
|---|
| 16 | clean: ; $delete_command EXAMPLE\$(ext)
|
|---|
| 17 | EOF
|
|---|
| 18 | close(MAKEFILE);
|
|---|
| 19 |
|
|---|
| 20 | # TEST #1
|
|---|
| 21 | # -------
|
|---|
| 22 | &touch($example);
|
|---|
| 23 |
|
|---|
| 24 | &run_make_with_options("${testname}.mk",
|
|---|
| 25 | "-C $workdir clean",
|
|---|
| 26 | &get_logfile);
|
|---|
| 27 |
|
|---|
| 28 | chdir $workdir;
|
|---|
| 29 | $wpath = &get_this_pwd;
|
|---|
| 30 | chdir $pwd;
|
|---|
| 31 |
|
|---|
| 32 | if (-f $example) {
|
|---|
| 33 | $test_passed = 0;
|
|---|
| 34 | }
|
|---|
| 35 |
|
|---|
| 36 | # Create the answer to what should be produced by this Makefile
|
|---|
| 37 | $answer = "$make_name: Entering directory '$wpath'\n"
|
|---|
| 38 | . "$delete_command EXAMPLE\n"
|
|---|
| 39 | . "$make_name: Leaving directory '$wpath'\n";
|
|---|
| 40 |
|
|---|
| 41 | &compare_output($answer,&get_logfile(1));
|
|---|
| 42 |
|
|---|
| 43 |
|
|---|
| 44 | # TEST #2
|
|---|
| 45 | # -------
|
|---|
| 46 | # Do it again with trailing "/"; this should work the same
|
|---|
| 47 |
|
|---|
| 48 | $example .= "slash";
|
|---|
| 49 |
|
|---|
| 50 | &touch($example);
|
|---|
| 51 |
|
|---|
| 52 | &run_make_with_options("${testname}.mk",
|
|---|
| 53 | "-C $workdir/ clean ext=slash",
|
|---|
| 54 | &get_logfile);
|
|---|
| 55 |
|
|---|
| 56 | chdir $workdir;
|
|---|
| 57 | $wpath = &get_this_pwd;
|
|---|
| 58 | chdir $pwd;
|
|---|
| 59 |
|
|---|
| 60 | if (-f $example) {
|
|---|
| 61 | $test_passed = 0;
|
|---|
| 62 | }
|
|---|
| 63 |
|
|---|
| 64 | # Create the answer to what should be produced by this Makefile
|
|---|
| 65 | $answer = "$make_name: Entering directory '$wpath'\n"
|
|---|
| 66 | . "$delete_command EXAMPLEslash\n"
|
|---|
| 67 | . "$make_name: Leaving directory '$wpath'\n";
|
|---|
| 68 |
|
|---|
| 69 | &compare_output($answer,&get_logfile(1));
|
|---|
| 70 |
|
|---|
| 71 | 1;
|
|---|