DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(make) Last Resort

Info Catalog (make) Pattern Rules (make) Implicit Rules (make) Suffix Rules
 
 10.6 Defining Last-Resort Default Rules
 =======================================
 
 You can define a last-resort implicit rule by writing a terminal
 match-anything pattern rule with no prerequisites ( Match-Anything
 Rules).  This is just like any other pattern rule; the only thing
 special about it is that it will match any target.  So such a rule's
 commands are used for all targets and prerequisites that have no
 commands of their own and for which no other implicit rule applies.
 
    For example, when testing a makefile, you might not care if the
 source files contain real data, only that they exist.  Then you might
 do this:
 
      %::
              touch $@
 
 to cause all the source files needed (as prerequisites) to be created
 automatically.
 
    You can instead define commands to be used for targets for which
 there are no rules at all, even ones which don't specify commands.  You
 do this by writing a rule for the target `.DEFAULT'.  Such a rule's
 commands are used for all prerequisites which do not appear as targets
 in any explicit rule, and for which no implicit rule applies.
 Naturally, there is no `.DEFAULT' rule unless you write one.
 
    If you use `.DEFAULT' with no commands or prerequisites:
 
      .DEFAULT:
 
 the commands previously stored for `.DEFAULT' are cleared.  Then `make'
 acts as if you had never defined `.DEFAULT' at all.
 
    If you do not want a target to get the commands from a match-anything
 pattern rule or `.DEFAULT', but you also do not want any commands to be
 run for the target, you can give it empty commands ( Defining
 Empty Commands Empty Commands.).
 
    You can use a last-resort rule to override part of another makefile.
  Overriding Part of Another Makefile Overriding Makefiles.
 
Info Catalog (make) Pattern Rules (make) Implicit Rules (make) Suffix Rules
automatically generated byinfo2html