f20
Archive Members as Targets
Contents|Index|Previous|Next
Archive Members as Targets
An individual member of an archive file can be used as a target or dependency
in make. You specify the member named member in archive file, archive, as follows:
archive(member)
This construct is available only in targets and dependencies, not in commands!
Most programs that you might use in commands do not support this syntax and
cannot act directly on archive members. Only ar and other programs specifically designed to operate on archives can do so.
Therefore, valid commands to update an archive member target probably must use ar. For instance, this rule says to create a member, hack.o, in archive, foolib, by copying the file, hack.o as in the following.
foolib(hack.o) : hack.o
ar cr foolib hack.o
In fact, nearly all archive member targets are updated in just this way and
there is an implicit rule to do it for you.
Note:
The
c flag to ar is required if the archive file does not already exist.
To specify several members in the same archive, write all the member names
together between the parentheses, as in the following example.
foolib(hack.o kludge.o)
The previous statement is equivalent to the following statement.
foolib(hack.o) foolib(kludge.o)
You can also use shell-style wildcards in an archive member reference. See Using Wildcard Characters in File Names. For example, foolib(*.o) expands to all existing members of the foolib archive whose names end in .o; perhaps foolib(hack.o) foolib(kludge.o).
0