1734_makefile学习小结_4_隐性规则自动推导

全部学习汇总: GreyZhang/g_makefile: Learn makefile from all kinds of tutorials on the web. Happy hacking and let's find an common way so we may don't need to touch makefile code any more! (github.com)

                  Makefile中有几条遗憾的默认的常用规则:

  1. C语言源文件后缀名为.c,编译生成的目标文件后缀名为.o。
  2. CFLAGS用于控制编译时的编译参数。
  3. 对于依赖文件中的目标文件,如果没有写明规则make会进行自动推导。

基于以上原则,如果目标文件中有一个source.o的文件没有在makefile中写明规则,将会进行以下处理:

         $(CC) –c  source.c $(CPPFLAGS) $(CCFLAGS)

测试:

编写如下makefile:

编译执行:

         通过以上例子可以看到,关于foo.o以及bar.o的生成规则makefile文件中并没有写明,但是通过make分析makefile进行编译的时候上述文件头得到了正常的编译。这边一隐性规则自动推导的一种表现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值