星期二, 二月 13, 2007

Makefile笔记

简单的Makefile文件含有一些规则,这些规则具有如下的形式:
目标(target):先决条件(prerequisites)
命令(command)

其中“目标”对象通常是程序生成的一个文件的名称;例如是一个可执行文件或目标文件。
“先决条件”是一个或多个文件名,是用作产生目标的输入条件。通常一个目标依赖几个文件。
而“命令”是make需要执行的操作。一个规则可以有多个命令,每个命令自成一行。
注意需要在每个命令行前键入一个Tab符。

自动变量是一种在命令行上根据具体情况能被自动替换的变量。自动变量的值是基于目标对象及其先决条件而在命令执行前设置的。例如:
"$^"的值表示规则的所有先决条件,包括它们所处目录的名称;
"$<"的值表示规则中的第一个先决条件;
"$@"表示目标对象;

没有评论: