DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(make.info) Recursion

Info Catalog (make.info) Interrupts (make.info) Commands (make.info) Sequences
 
 Recursive Use of `make'
 =======================
 
    Recursive use of `make' means using `make' as a command in a
 makefile.  This technique is useful when you want separate makefiles for
 various subsystems that compose a larger system.  For example, suppose
 you have a subdirectory `subdir' which has its own makefile, and you
 would like the containing directory's makefile to run `make' on the
 subdirectory.  You can do it by writing this:
 
      subsystem:
              cd subdir && $(MAKE)
 
 or, equivalently, this ( Summary of Options Options Summary.):
 
      subsystem:
              $(MAKE) -C subdir
 
    You can write recursive `make' commands just by copying this example,
 but there are many things to know about how they work and why, and about
 how the sub-`make' relates to the top-level `make'.
 
    For your convenience, GNU `make' sets the variable `CURDIR' to the
 pathname of the current working directory for you.  If `-C' is in
 effect, it will contain the path of the new directory, not the
 original.  The value has the same precedence it would have if it were
 set in the makefile (by default, an environment variable `CURDIR' will
 not override this value).  Note that setting this variable has no
 effect on the operation of `make'
 

Menu

 
* MAKE Variable               The special effects of using `$(MAKE)'.
* Variables/Recursion         How to communicate variables to a sub-`make'.
* Options/Recursion           How to communicate options to a sub-`make'.
* -w Option                   How the `-w' or `--print-directory' option
                                  helps debug use of recursive `make' commands.
 
Info Catalog (make.info) Interrupts (make.info) Commands (make.info) Sequences
automatically generated byinfo2html