【记录】Makefile

来源:互联网 发布:java求100之内的素数 编辑:程序博客网 时间:2024/04/30 03:13

Makefile简介
在执行make之前,需要一个命名为Makefile的特殊文件来告诉make需要做什么,该怎么做。通常,make工具主要被用来进行工程的编译和程序的连接。
当使用make工具进行编译时,工程中以下几种文件在执行make时将被编译或重新编译:
1.所有的源文件都没有被编译过,则对所有的C文件进行编译和链接,生成最后的可执行程序。
2.每一个在上次执行make之后修改过的C源文件,在本次执行make时将被重新编译。
3.若头文件在上一次执行过make后被修改,那么所有包含此头文件的C源文件,将在本次执行make时被重新编译。

Makefile规则介绍
其规则简单描述如下:
traget:prerequisites
command


target:规则的目标。
prerequisites:规则依赖的文件
command:规则的命令(所有shell命令都可以)

自动推导规则
再使用make编译.c源文件时,编译.c源文件规则的命令可以不用明确给出。这是因为make本身存在一个默认的规则,能够自动完成对.c文件的编译并生成对应的.o文件或可执行文件。
Example:编写hello.c的Makefile

(1)hello.o: 这么写的话,可以直接生成hello.o文件

(2)hello: 这么写的话,可以直接生成hello可执行文件

0 0