GNU make manual 翻译( 一百一十八)

继续翻译

   `%' characters in pattern rules can be quoted with preceding

backslashes (`\').  Backslashes that would otherwise quote `%'

characters can be quoted with more backslashes.  Backslashes that quote

`%' characters or other backslashes are removed from the pattern before

it is compared to file names or has a stem substituted into it.

Backslashes that are not in danger of quoting `%' characters go

unmolested.  For example, the pattern `the\%weird\\%pattern\\' has

`the%weird\' preceding the operative `%' character, and `pattern\\'

following it.  The final two backslashes are left alone because they

cannot affect any `%' character.



   Here is an example, which compiles each of `foo.o' and `bar.o' from

the corresponding `.c' file:



     objects = foo.o bar.o



     all: $(objects)



     $(objects): %.o: %.c

             $(CC) -c $(CFLAGS) $< -o $@



Here `$<' is the automatic variable that holds the name of the

prerequisite and `$@' is the automatic variable that holds the name of

the target; see *note Automatic Variables::.

在模式规则中的%符号可以通过反斜线被引用。反斜线也可以通过反斜线被引用。在开始比较文件名或者由一个枝干用于替换前,引用%符号的反斜线或者引用反斜线的反斜线会被模式移出。和引用 % 符号无关的反斜线被忽略。例如,模式 'the\%weird\\%pattern\\' 在 操作性的%符号前有一个前置的 'the%weird\', 后面有一个 'pattern\\', 最后的两个反斜线就留在那里,因为它们对 %符号没有影响。 

Here is an example, which compiles each of `foo.o' and `bar.o' from
the corresponding `.c' file:

这里有一个例子,从相应的.c 文件中,编译每一个 foo.o 和 bar.o 文件。

objects = foo.o bar.o

all: $(objects)

$(objects): %.o: %.c
$(CC) -c $(CFLAGS) $< -o $@

这里,$< 是自动变量,其保存着前提条件的名字,$@是自动变量,其保留着目的的名字。

参见 *note Automatic Variables::

后文待续

你可能感兴趣的:(Make)