版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/happiness_llz/article/details/82215363

一、makefile的编写:一个规则   两个函数  三个变量
1. 一个规则
        三要素: 目标, 依赖, 命令
        目标:依赖
            命令
        1) 第一条规则是用来生成终极目标的规则
                1>. 如果规则中的依赖不存在, 向下寻找其他的规则,
                2>. 更新机制: 比较的是目标文件和依赖文件的时间        
2. 两个函数
        1) 查找指定目录下, 指定类型的文件
                src=$(wildcard ~/aa/*.c)
        2)匹配替换函数
                obj=$(patsubst %.c, %.o, $(src))
3. 三个自动变量
        1)$<: 规则中的第一个依赖
        2) $^: 规则中的所有依赖
        3)$@: 规则中的目标
        只能在规则中的命令中使用
4. 模式规则
        %.o:%.c
            gcc -c $< -o $@


                子目标和终极目标的关系:
                更新目标的原则:

3、makefile中变量的使用

例如:

app:main.o sub.o mul.o
          gcc main.o sub.o mul.o -o app
          gcc $^ -o $@
        
      %.o:%.c 
          gcc -c $< -o $@

makefile中的自动变量
      $<: 规则中的第一个依赖
      $@: 规则中的目标
      $^: 规则中的所有依赖
      只能在规则的命令中使用

Linux中makefile项目管理相关推荐

  1. linux make项目管理器,Linux中makefile项目管理

    一.整体大纲 二.makefile的编写 一个规则   两个函数  三个变量 1. 一个规则 三要素: 目标, 依赖, 命令 目标:依赖 命令 1) 第一条规则是用来生成终极目标的规则 a. 如果规则 ...

  2. linux中makefile高级用法--makefile调用makefile

    一.介绍 在大型项目中,makefile调用makefile很常见,也很方便,这里给出调用方法 二.实例 1.代码树 app_top下,有顶层makefile和编译工具的设置文件Rules.make, ...

  3. linux下Makefile中包含有shared library动态链接库文件时候的简单例子

    如果不知道什么是makefile,可以首先看我的另一篇博客: linux下Makefile的简单例子及解释 http://www.cnblogs.com/lihaozy/archive/2012/08 ...

  4. 在Linux中制作实用程序(MakeFile)

    Hey folks, have you ever used IDEs? Most probably, yes. So what's your favorite one? Geany, CodeBloc ...

  5. 如何在Linux kernel Makefile中添加宏定义

    如何在Linux kernel Makefile中添加宏定义: CFLAGS_object.o += -DMACRO_NAME 在编译object.o时定义宏MACRO_NAME,在kernel中添加 ...

  6. Linux内核中makefile有什么作用?深入解析makefile工作过程和原理

    Table of Contents Makefile 中的变量 常用的变量有以下几类: 1) 版本信息 2) CPU 体系结构:ARCH 3) 路径信息:TOPDIR, SUBDIRS 4) 内核组成 ...

  7. linux未找到make命令,linux中无make命令的问题(make: *** 没有指明目标并且找不到 makefile及make命令安装方法)...

    linux中无make命令的问题(make: *** 没有指明目标并且找不到 makefile及make命令安装方法) 发布时间:2020-09-15 04:09:36 来源:脚本之家 阅读:375 ...

  8. linux中的makefile文件

    Linux里Makefile是什么?它是如何工作的? 一篇关于makefile是什么及其工作原理的文章,很受用. 原文链接:https://www.jb51.net/article/147793.ht ...

  9. Linux中源码包的管理

    什么是开放源码,编译程序和可执行文件     开放源码:就是程序代码,写给人类看的程序语言,但机器不认识,所以无法执行:     编译程序:将程序代码转译成为机器看得懂的语言:     可执行文件:经 ...

最新文章

  1. pypy解释器提高python的效率之安装pypy
  2. php 挂机,用php实现qq挂机
  3. 关于java自动生成一个tostring-json,解决hibernate框架,每次全属性输出,的数据动态且限制对象的属性书写到前端,使用模板!
  4. iphone安装Deb文件
  5. kmeans算法中的sse_聚类算法入门:k-means
  6. Win10系列:VC++ 定时器
  7. 重大变动:OpenCV拟更改授权协议!
  8. 维特比算法Viterbi Algorithm
  9. 浅谈TCP/IP网络编程中socket的行为
  10. 中控智慧指纹采集器live20R用C二次开发,导入开发包时报错“HANDLE未定义”之类的错误
  11. 福州船政计算机专业多少钱,福建船政交通职业学院怎么样排名多少?特色专业?录取分数线及收费...
  12. 天天打排位,你知道王者荣耀的皮肤怎么测试吗?
  13. 我们应如何度过自己的大学生活?
  14. Tensorflow 2.X h5转pb
  15. JVM:JVM常见参数配置
  16. 【Python】文件操作(创建 | 读写 | 保存 | 文件名)
  17. php 自动关键词,php实现自动获取生成关键词功能
  18. 如何解决PS“不能完成请求,因为意外的遇到文件尾”?
  19. 曾国藩:人最大的差距,是见识和格局
  20. 大数据开发之Hive篇18-Hive的回收站

热门文章

  1. Java 调用http接口(基于OkHttp的Http工具类方法示例)
  2. PMP考试的形式和试题分布
  3. 20181102 T1 相遇
  4. MongoDB之python简单交互(三)
  5. 每天一个 Linux 命令(13):less 命令
  6. Struts+Spring+Hibernate整合入门详解
  7. 如何让自己的收件箱只收到自己订阅的邮件服务商
  8. IT职场新人第一课:我的吐槽+我学到的
  9. PowerShell-4.API调用以及DLL调用
  10. 虚拟桌面模拟查找点击自绘控件