makefile是一个文本形式的数据库文件,其中包含一些规则告诉make编译哪些文件,怎样编译以及在什么条件下去编译.每条规则包含以下内容:
.一个"目标体"(target),即make最终需要创建的东西.
.包含一个或多个"依赖体"(dependency)的列表,依赖体通常是编译目标体需要的其他文件.
.为了从指定的依赖体创建出目标体所需执行的"命令"(command)的列表.
虽然目标体通常是程序,但它们可以是诸如文本文件,手册页面等任何东西.目标体甚至能测试和设置环境变量.类似地,也可以定义依赖体以确保编译开始前存在
某个特殊的环境变量.最后,makefile中的命令可以是编译器的命令或shell命令,它们能设置环境变量,删除文件,或者任何命令行所能完成的功
能,如从FTP站点下载文件等.GNU
make被调用后会顺序查找名为GNUmakefile,makefile或Makefile的文件.出于某种原因,可能只是习惯和长期形成的约定吧,大
多数Linux程序员使用最后一种形式Makefile.
Makefile规则有下列通用形式:
target
: dependency [dependency [...]]
command
command
[...]