什么是makefile?为什么需要用makefile?
正常编译一个c文件,直接敲命令:
gcc hello.c -o hello就行。
root@turbo:~# ls hello.c root@turbo:~#打开Makefile,先写目标文件,就是最终要生成的二进制,冒号后面写上依赖文件,就是通过哪个文件可以生成目标文件。
hello:hello.c另起一行,先敲一下tab键,然后写编译的规则,就是我们平时敲的命令。
hello:hello.c gcc hello.c -o hello执行Makefile,只要敲make就行,然后就能顺利编译。
make再把文件增加两个。
Target=hello Object=hello.c print.c show.c $(Target):$(Object) gcc $(Object) -o $(Target)不过一般依赖文件也不写成 .c ,因为最终的可执行文件都是由汇编后的文件合成,也就是多个 .o 文件经过链接变成了可执行文件,所以这里一般写成 .o 。
Target=hello Object=hello.o print.o show.o $(Target):$(Object) gcc $(Object) -o $(Target)那 .o 文件又怎么来,下面可以继续写由 .c 生成 .o ,不过Makefile里面有隐含规则,所以这几行可以不写。
root@turbo:~# make cc -c -o hello.o hello.c cc -c -o print.o print.c cc -c -o show.o show.c gcc hello.o print.o show.o -o hello root@turbo:~#
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !