为了生活努力奋斗
分类: LINUX
2007-04-06 21:16:37
目标(target)...... :先决条件(prerequisites)... 命令(command) |
注:先决条件通过目录搜寻。如果在其它目录被找到命令仍然会被执行。 |
1、"$^":表示规则的所有条件,包括目录名。 2、"$<":表示第一个先决条件。 3、"$@":表示目标对象。 |
例:
foo.o : foo.c defs.h hack.h cc -c $(CFLAGS) $< -o $@ |
其中:$<会替换成foo.c $@替换成foo.o
$(CFLAGS)为对CFLAGS标识符的引用,需加上$()。
三、隐式规则:
后缀规则(老式的隐式规则):例:
.c.s: $(CC) $(CFLAGS)\ -nostdine -Iinclude -s -o $*.s $< |
其中.c.s 即为*.c源文件与*.s目标文件
$< 即为*.c文件。
意为将*.c文件全部编译成*.s文件。