makefile编译.o文件
时间: 2023-08-05 20:35:39 浏览: 102
makefile文件编写
makefile是一个用来管理程序编译的工具,其中一个常见的任务就是编译.o文件。
下面是一个简单的makefile示例,用来编译一个名为main的程序,该程序由main.o和util.o两个目标文件组成:
```
CC=gcc
CFLAGS=-Wall -g
main: main.o util.o
$(CC) $(CFLAGS) $^ -o $@
main.o: main.c
$(CC) $(CFLAGS) -c $< -o $@
util.o: util.c
$(CC) $(CFLAGS) -c $< -o $@
clean:
rm -f main *.o
```
在这个makefile中,我们定义了三个变量:CC表示编译器,CFLAGS表示编译选项,main表示最终的可执行文件。
然后我们定义了三个规则,每个规则都包含了一个目标和依赖关系,其中规则名与目标名相同,依赖关系表示该目标需要哪些文件才能生成。
最后我们定义了一个clean规则,用来清除编译生成的文件。
当我们运行make命令时,make会自动根据依赖关系来编译目标文件,如果某个目标文件已经存在且最后修改时间比依赖文件的最后修改时间还要晚,make就会跳过该目标文件的编译,以提高编译效率。
阅读全文