您的位置:首页 > 其它

简单的Makefile编写

2017-03-08 22:08 211 查看
Makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中。

makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提⾼高了软件开发的效率。make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令。,makefile是一种在工程方面的编译方法。

比如执行test.c程序可以编写如下Makefile文件:

第一种写法:

test:test.o
gcc -o test test.o
test.o:test.s
gcc -c test.s -o test.o
test.s:test.i
gcc -S test.i -o test.s
test.i:test.c
gcc -E test.c -o test.i
.PHONY:clean
clean:
rm -f test.i test.s test.o test


保存退出后在终端输入:make

再输入:./test

即可执行test.c程序

第二种写法:

test:test.c
gcc -o test test.c
.PHONY:clean
clean:
rm -f test


用同样的方法即可执行test.c程序

当想一次执行多个.c文件时,比如执行test.c和other.c时,由于Makefile是自顶向下生成的,为使一个Makefile生成多个可执行文件就得生成伪目标,所以对应的Makefile文件编写模板如下:

.PHONY:all
all:other test
other:other.c
gcc -o other other.c
test:test.c gcc -o test test.c .PHONY:clean clean: rm -f test other
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: