(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 byinfo2html