_010_makefile

=================================

makefile 是项目的管理工具,管理源代码用的,这是我们自己创建的,不是第三方工具

所以我们们直接创建一个文件夹就叫Makefile,文件里面有一个makefile的文件以及源代码

Makefile规则


  目标,依赖,命令

  目标: 依赖条件    这是第一行内容

    命令    这是第二个行,目标和命令必须要缩进

1 app:main.c add.c2     
2     gcc main.c add.c -o app
规则例子

  然后直接make,就会调用本目录下的makefile文件

  

  有一种情况,那就是修改某一个.c文件,再次编译的时候,难道还要再调用一次上面的规则吗,如果很多.c

每次修改都编译全部,明显效率很低

  所以可以写成如下的规则

1 app:main.o add.o
2     gcc main.o add.o -o app
3 
4 main.o:main.c
5     gcc -c main.c
6 
7 add.o:add.c
8     gcc -c add.c
修改后的规则

  这样,app是终极目标,make之后,去读取第一行,首先依赖,因为我们没有main.o(还没编译),所以会去找下面的规则

main.o:main.c 所以就先执行这个命令,然后依次这样下次gcc main.o add.o -o app这条命令是生成可执行文件的命令

具体看_008_gcc_静态&动态库

  这样的话make便会一个一个来编译,这样make会自动判断文件是否修改了,如果修改了才会再次进行编译

  当然上面这些只是初级的修改,我们发现有很多代码是重复的,只要修改一小部分就可以再用,所以可以使用变量和模式来解决

  使用变量

  

  

 

猜你喜欢

转载自www.cnblogs.com/huangtiandi/p/9161855.html