DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(make.info.gz) Commands/Search

Info Catalog (make.info.gz) Search Algorithm (make.info.gz) Directory Search (make.info.gz) Implicit/Search
 
 4.5.4 Writing Shell Commands with Directory Search
 --------------------------------------------------
 
 When a prerequisite is found in another directory through directory
 search, this cannot change the commands of the rule; they will execute
 as written.  Therefore, you must write the commands with care so that
 they will look for the prerequisite in the directory where `make' finds
 it.
 
    This is done with the "automatic variables" such as `$^' (
 Automatic Variables).  For instance, the value of `$^' is a list of
 all the prerequisites of the rule, including the names of the
 directories in which they were found, and the value of `$@' is the
 target.  Thus:
 
      foo.o : foo.c
              cc -c $(CFLAGS) $^ -o $@
 
 (The variable `CFLAGS' exists so you can specify flags for C
 compilation by implicit rules; we use it here for consistency so it will
 affect all C compilations uniformly;  Variables Used by Implicit
 Rules Implicit Variables.)
 
    Often the prerequisites include header files as well, which you do
 not want to mention in the commands.  The automatic variable `$<' is
 just the first prerequisite:
 
      VPATH = src:../headers
      foo.o : foo.c defs.h hack.h
              cc -c $(CFLAGS) $< -o $@
 
Info Catalog (make.info.gz) Search Algorithm (make.info.gz) Directory Search (make.info.gz) Implicit/Search
automatically generated byinfo2html