Makefile应用笔记(未完)

      旁白:想要做Linux平台下项目编程工作,之前在网上买了一本清华大学出版社出版的《Linux网络编程》便学了起来。几天过去了,在这平台上的开发还没磨合好,但是掌握了不少东西。今天死盯着Makefile这一块,算掌握了点东西,只知道现在一个脑袋两个大。但还是得记点关键的东西。

 

1、Makefile中预定义变量

      在Makefile中有一些已经定义的变量,用户可以直接使用这些变量,不用进行定义。

      Makefile的自定义变量包括:CC,RM,CFLAGS,CXXFLAGS等等,其中这些预定义变量有的默认值,有的没有默认值。如:RM的默认值为RM=rm -f,而CFLAGS没有默认值。CFLAGS有进行赋值时,使用C编译时是自动调用的。也就就是说在执行cc -o a.out *.o命令编译时,将自动变成这样 cc $(CFLAGS) -o a.out *.o 形式的命令调用。

 

2、Makefile中的自动变量

      $*:表示目标文件的名称,不包含目标文件的扩展名。

      $+:表示所有的依赖名文件,这些依赖文件之间以空格分开,按照出现的先后为顺序,其中可能包含重复的依赖文件。

      $<:表示依赖项中第一个依赖文件的名称。

      $?:依赖项中,所有的目标文件时间戳晚的依件,依赖文件之间以空格分。

      $@:目标项中目标文件的名称。

      $^:依赖项中,所有不重复的依赖文件,这些文件之间以空格分开。

 

3、Makefile自动文件路径搜索

      Makefile的目录搜索功能提供了一个指定需要搜索的目录,make会自动找到指定文件的目录并添加到文件上。使用VPATH变量可以实现此目的。VPATH变量的使用方法如下:

VPATH=path1:path2:...

      VAPTH 右边的冒号“:”分隔的路径名称,例如下面的指令:

   

     add_int.o的规则自动扩展成如下代码:

      

4、自动推导规则

     使用make编译扩展名为.c的C语言文件的时候,源文件的编译规则不用明确地给出。这是因为make进行编译的时候会使用一个默认的编译规则,按照默认规则完成对.c文件的编译,生成对应的.o文件。它执行命令cc -c来编译.c源文件。在Makefile中只需要给出需要重建的目标文件名(.o文件),make会自动为这个.o寻找合适的依赖文件(对应的.c文件),并且使用默认的命令来构建这个目标文件。

 

 

 

6、MakeFile中的函数

5、递归make

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值