/[make]/make/tests/scripts/features/recursion
ViewVC logotype

Diff of /make/tests/scripts/features/recursion

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by psmith, Tue Sep 14 02:03:37 1999 UTC revision 1.2 by psmith, Thu Feb 10 00:10:58 2005 UTC
# Line 1  Line 1 
1  #                                                                    -*-perl-*-  #                                                                    -*-perl-*-
2  $description = "The following test creates a makefile to ...\n";  $description = "Test recursion.";
3    
4  $details = "DETAILS";  $details = "DETAILS";
5    
6  open(MAKEFILE,"> $makefile");  # Test some basic recursion.
7    run_make_test('
8  # The Contents of the MAKEFILE ...  all:
9            $(MAKE) -f #MAKEFILE# foo
10  print MAKEFILE "all: \n"  foo:
11                ."\t\$(MAKE) -f $makefile foo \n"          @echo $(MAKE)
12                ."foo: \n"          @echo MAKELEVEL = $(MAKELEVEL)
13                ."\t\@echo \$(MAKE) \n"          $(MAKE) -f #MAKEFILE# last
14                ."\t\@echo MAKELEVEL = \$(MAKELEVEL)\n"  last:
15                ."\t\$(MAKE) -f $makefile last \n"          @echo $(MAKE)
16                ."last: \n"          @echo MAKELEVEL = $(MAKELEVEL)
17                ."\t\@echo \$(MAKE) \n"          @echo THE END
18                ."\t\@echo MAKELEVEL = \$(MAKELEVEL) \n"  ',
19                ."\t\@echo THE END\n";                ('CFLAGS=-O -w' . ($parallel_jobs ? '-j 2' : '')),
20                  ($vos
21  # END of Contents of MAKEFILE                 ? "#MAKE#: Entering directory `#PWD#'
22    make 'CFLAGS=-O' -f #MAKEFILE# foo
23  close(MAKEFILE);  make CFLAGS=-O
24    MAKELEVEL = 0
25  if ($vos)  make 'CFLAGS=-O' -f #MAKEFILE# last
26  {  make CFLAGS=-O
27     $answer = "$make_name: Entering directory \`$pwd\'\n"  MAKELEVEL = 0
28              ."make 'CFLAGS=-O' -f $makefile foo \n"  THE END
29              ."make CFLAGS=-O\n"  #MAKE#: Leaving directory `#PWD#'"
30              ."MAKELEVEL = 0\n"                 : "#MAKE#: Entering directory `#PWD#'
31              ."make 'CFLAGS=-O' -f $makefile last \n"  #MAKEPATH# -f #MAKEFILE# foo
32              ."make CFLAGS=-O\n"  #MAKE#[1]: Entering directory `#PWD#'
33              ."MAKELEVEL = 0\n"  #MAKEPATH#
34              ."THE END\n"  MAKELEVEL = 1
35              ."$make_name: Leaving directory `$pwd'\n";  #MAKEPATH# -f #MAKEFILE# last
36  }  #MAKE#[2]: Entering directory `#PWD#'
37  else  #MAKEPATH#
38  {  MAKELEVEL = 2
39     $answer = "$make_name: Entering directory `$pwd'\n"  THE END
40              ."$mkpath -f $makefile foo \n"  #MAKE#[2]: Leaving directory `#PWD#'
41              ."${make_name}[1]: Entering directory `$pwd'\n"  #MAKE#[1]: Leaving directory `#PWD#'
42              ."$mkpath\n"  #MAKE#: Leaving directory `#PWD#'"));
43              ."MAKELEVEL = 1\n"  
44              ."$mkpath -f $makefile last \n"  
45              ."${make_name}[2]: Entering directory `$pwd'\n"  # Test command line overrides.
46              ."$mkpath\n"  run_make_test('
47              ."MAKELEVEL = 2\n"  recur: all ; @$(MAKE) --no-print-directory -f #MAKEFILE# a=AA all
48              ."THE END\n"  all: ; @echo "MAKEOVERRIDES = $(MAKEOVERRIDES)"
49              ."${make_name}[2]: Leaving directory `$pwd'\n"  ',
50              ."${make_name}[1]: Leaving directory `$pwd'\n"                'a=ZZ',
51              ."$make_name: Leaving directory `$pwd'\n";                'MAKEOVERRIDES = a=ZZ
52  }  MAKEOVERRIDES = a=AA
53    ');
 $mkoptions = "CFLAGS=-O -w";  
 $mkoptions .= " -j 2" if ($parallel_jobs);  
   
 &run_make_with_options($makefile,$mkoptions,&get_logfile,0);  
   
 &compare_output($answer,&get_logfile(1));  
54    
55  1;  1;

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26