recursion 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. # -*-perl-*-
  2. $description = "The following test creates a makefile to ...\n";
  3. $details = "DETAILS";
  4. open(MAKEFILE,"> $makefile");
  5. # The Contents of the MAKEFILE ...
  6. print MAKEFILE "all: \n"
  7. ."\t\$(MAKE) -f $makefile foo \n"
  8. ."foo: \n"
  9. ."\t\@echo \$(MAKE) \n"
  10. ."\t\@echo MAKELEVEL = \$(MAKELEVEL)\n"
  11. ."\t\$(MAKE) -f $makefile last \n"
  12. ."last: \n"
  13. ."\t\@echo \$(MAKE) \n"
  14. ."\t\@echo MAKELEVEL = \$(MAKELEVEL) \n"
  15. ."\t\@echo THE END\n";
  16. # END of Contents of MAKEFILE
  17. close(MAKEFILE);
  18. if ($vos)
  19. {
  20. $answer = "$make_name: Entering directory \`$pwd\'\n"
  21. ."make 'CFLAGS=-O' -f $makefile foo \n"
  22. ."make CFLAGS=-O\n"
  23. ."MAKELEVEL = 0\n"
  24. ."make 'CFLAGS=-O' -f $makefile last \n"
  25. ."make CFLAGS=-O\n"
  26. ."MAKELEVEL = 0\n"
  27. ."THE END\n"
  28. ."$make_name: Leaving directory `$pwd'\n";
  29. }
  30. else
  31. {
  32. $answer = "$make_name: Entering directory `$pwd'\n"
  33. ."$mkpath -f $makefile foo \n"
  34. ."${make_name}[1]: Entering directory `$pwd'\n"
  35. ."$mkpath\n"
  36. ."MAKELEVEL = 1\n"
  37. ."$mkpath -f $makefile last \n"
  38. ."${make_name}[2]: Entering directory `$pwd'\n"
  39. ."$mkpath\n"
  40. ."MAKELEVEL = 2\n"
  41. ."THE END\n"
  42. ."${make_name}[2]: Leaving directory `$pwd'\n"
  43. ."${make_name}[1]: Leaving directory `$pwd'\n"
  44. ."$make_name: Leaving directory `$pwd'\n";
  45. }
  46. $mkoptions = "CFLAGS=-O -w";
  47. $mkoptions .= " -j 2" if ($parallel_jobs);
  48. &run_make_with_options($makefile,$mkoptions,&get_logfile,0);
  49. &compare_output($answer,&get_logfile(1));
  50. 1;