(make.info.gz) Archive Suffix Rules

Info Catalog (make.info.gz) Archive Pitfalls (make.info.gz) Archives
 
 11.4 Suffix Rules for Archive Files
 ===================================
 
 You can write a special kind of suffix rule for dealing with archive
 files.   Suffix Rules, for a full explanation of suffix rules.
 Archive suffix rules are obsolete in GNU `make', because pattern rules
 for archives are a more general mechanism ( Archive Update).
 But they are retained for compatibility with other `make's.
 
    To write a suffix rule for archives, you simply write a suffix rule
 using the target suffix `.a' (the usual suffix for archive files).  For
 example, here is the old-fashioned suffix rule to update a library
 archive from C source files:
 
      .c.a:
              $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $*.o
              $(AR) r $@ $*.o
              $(RM) $*.o
 
 This works just as if you had written the pattern rule:
 
      (%.o): %.c
              $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $*.o
              $(AR) r $@ $*.o
              $(RM) $*.o
 
    In fact, this is just what `make' does when it sees a suffix rule
 with `.a' as the target suffix.  Any double-suffix rule `.X.a' is
 converted to a pattern rule with the target pattern `(%.o)' and a
 prerequisite pattern of `%.X'.
 
    Since you might want to use `.a' as the suffix for some other kind
 of file, `make' also converts archive suffix rules to pattern rules in
 the normal way ( Suffix Rules).  Thus a double-suffix rule
 `.X.a' produces two pattern rules: `(%.o): %.X' and `%.a: %.X'.
 
Info Catalog (make.info.gz) Archive Pitfalls (make.info.gz) Archives
automatically generated by info2html