Makefile工程实践笔记

Makefile工程实践

Makefile
1. 什么是Makefile    
    Linux下面没有类型VC等开发环境,
    gcc -o hello helloworld.c 得到可执行文件 hello
    一个项目中,要编译的文件很多,不可能都手动去调用gcc来一个一个编译
    这时候Makefile用派上用场了,Makefile就定义了我们怎么去编译这个程序,描述了整个工程的编译、链接规则;
    让软件项目自动化编译。
    最简单的Makefile
hello:helloworld.c     我们称helloworld.c为依赖,hello为目标
    gcc -o hello helloworld.c    这是命令规则
clean:
    rm hello
    程序一般是先编译成目标文件,目标文件再链接成可执行文件。
    所以上面的Makefile可以改为:
hello:helloworld.o    
    gcc -o hello helloworld.o   把目标文件.o链接生成可执行文件
helloworld.o:helloworld.c
    gcc -o helloworld.o -c helloworld.c    添加目标文件.o的生成过程,当一个源文件没有修改的话,是不会重新编译的,工程中一旦源文件多可以节约大量的时间。
clean:
    rm hello    
2. Makefile的执行过程
    当我们执行make的时候,首先到当前目录下去寻找Makefile文件,
3. GUN make工具
    make是一个命令工具,它解释了Makefile中的指令(应该说是规则),Makefile中描述了工程中所有文件的编译顺序、规则。Makefile有自己的书写格式、关键字、函数。
    而且在Makefile中可以使用shell所提供的任何命令来完成你想要的工作。
    make -v查看GUN make工具的版本
    Makefile面向依赖的思维,C语言面向过程,C++面向对象,Python一切皆对象,Linux一切皆文件。

猜你喜欢

转载自blog.csdn.net/taotongning/article/details/82804733
今日推荐