前言

  • 阅读Makefile 文件时,常遇到subst的使用,这个subst 到底起了什么作用呢?
  • 通过查看 gnu make 的手册:可以清楚这个 subst 作用就是:替换,把一个字符串替换成另一个字符串

语法

  • 这个参考 gnu make 手册:手册官方的下载地址为:
    https://www.gnu.org/software/make/manual/,可以下载pdf格式,方便后面慢慢查看
  • subst 的官方解释比较的简单:就是使用 to 替换 from,官方的示例:
  • $(subst ee,EE,feet on the street) 执行完后为:fEEt on the strEEt,也就是使用EE 全部替换了ee,类似于replace

测试一下

  • 这里编写一个简单的Makefile
CROSS_COMPILE := CONFIG_CROSS_COMPILER_PREFIX=arm-linux-gnueabi-
CROSS_COMPILE := $(subst CONFIG_CROSS_COMPILER_PREFIX=,,$(CROSS_COMPILE))all :@echo $(CROSS_COMPILE)
  • make 运行(Cygwin64 Terminal )效果
$ make
arm-linux-gnueabi-
  • 发现把 CONFIG_CROSS_COMPILER_PREFIX= 替换为 空字符串口了,也就是获取到了=后面的字符串:arm-linux-gnueabi-

小结

  • subst 主要用于字符串的替换,返回 替换后的字符串
  • Makefile 的验证很简单,编写Makefile文件,可以使用 【Cygwin64 】运行 make即可验证效果

Makefile 零基础学习笔记:subst 的用法相关推荐

  1. Makefile 零基础学习笔记:if 的用法

    前言 Makefile 在嵌入式开发中比较的常见,尤其是Linux.Android开发中,这是工程构建的标配 可以通过熟悉一个Makefile,并实际验证,了解常见的Makefile的语法格式与编写技 ...

  2. SQL零基础学习笔记(一)

    真的不知道我写了这么多不同的的学习笔记又没用..开始SQL零基础学习笔记 百度百科:SQL(Structured Query Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取 ...

  3. 【Java】Java零基础学习笔记

    文章目录 前言 思维导图 前期准备 卸载JDK 安装JDK Hello,world 可能遇到情况 java程序运行机制 IDEA的安装 java基础部分 基础语法 运算符 包机制 javaDoc文档手 ...

  4. Docker零基础学习笔记

    零基础学习Docker Docker官方文档 基础语法 docker pull: 从DockerHub上拉取镜像 $ docker pull ngnix Using default tag: late ...

  5. 零基础学习笔记 - ADF4159

    目录 1.准备工作 1.1.前言 1.2.资料 1.3.介绍 1.4.应用 1.5.应用电路 2.ADF4159 2.1.功能框图 2.2.通信协议时序 2.2.寄存器 2.2.0.注意 2.2.1. ...

  6. HTML+CSS零基础学习笔记(五)— 模拟淘宝首页(静态)

    内容概览 模拟淘宝首页(静态) 一.项目重难点 二.效果图及源码 模拟淘宝首页(静态) 一.项目重难点 样式重置:在实际开发过程中,我们往往会新建一个单独的CSS文件(reset.css),用于对应H ...

  7. (Java零基础学习笔记)第二章 Java中的基本语法

    前言: 大家好! 我是BA unravel .如果你想和我一起学习JAVA,欢迎大家一起来学习这个世界上最好的语言! 学习目标: 一周掌握 Java 入门知识 学习内容: 1. 搭建 Java 开发环 ...

  8. 古月居《ROS入门21讲》零基础学习笔记

    文章目录 前言 1.课程简介 2.Linux系统介绍及安装 3.Linux基础操作(操作集) 命令结构 常用命令 快捷操作 4.cpp&python极简基础(操作集) 简单对比 安装编译器 编 ...

  9. web零基础学习笔记

    常见编码有:ANSI .GBK .GB2312. UTF-8. GB18030 .UNICODE:一般用UTF-8,<meta charset="UTF-8" /> 内 ...

最新文章

  1. 5年Python功力,总结了10个开发技巧
  2. Windows下Rtools环境安装
  3. 变速后没有声音_CVT不仅平顺省油还是运动型变速箱?
  4. 翻译-Salt与Ansible全方位比较
  5. 0421 版本适配和本地化
  6. 每个Java应用容器都要包含tomcat_部署一个不依赖tomcat容器的应用
  7. 机器学习中的随机过程_机器学习过程
  8. 【C语言简单说】十三:变量的生命周期
  9. FileStream功能被禁用
  10. Java基础:什么是返回对象
  11. 概率论与数理统计图解
  12. 30岁软件测试转产品_补水抗皱紧致护肤产品盘点 护肤品排行榜前十名适合30-40岁...
  13. mysql limti_MYSQL分页 limint
  14. udp java 检测连接_java创建udp连接 java udp怎样测试是否连接
  15. 超链接 qq群一键添加
  16. 从存活了1441年的企业,我们能学到什么?
  17. 「自动搬运+CDN」FFmpeg + x264 t_mod + x265 yuuki
  18. 聚合支付的清算风险有哪些?
  19. JavaScript中的数据类型判断
  20. python中,Microsoft Visual C++ 14.0 or greater is required问题解决方案

热门文章

  1. 【解决方案】智慧工地中安全帽识别原理和系统应用
  2. 怎么下载在阿里云平台注册域名的域名证书
  3. 易经入门:《易经》概述
  4. php网站源码安装教程
  5. 基于SpringBoot与iOS(Swift)的电商平台设计
  6. python通信工程定额_通信建设工程预算定额
  7. Welcome Vc
  8. ubuntu安装QQ2013
  9. Access数据库是什么
  10. 网络营销之百度问答平台