在Makefile中无缝连接字符串

2023-11-10

今天在写Makefile时,忽然遇到了一个问题,如何把几个字符串无缝的连接起来?我自然而然的想到了使用 +=。比如:


?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
laolang@laolang:~ /code/gongda/data_java/test $ cat test .mk
      1    one:=123
      2    two:=345
      3    three:=567
      4    
      5    final+=$(one)
      6    final+=$(two)
      7    final+=$(three)
      8    
      9    list:
     10        @ echo -n "0"
     11        @ echo -n $(final)
     12        @ echo "0"
laolang@laolang:~ /code/gongda/data_java/test $
laolang@laolang:~ /code/gongda/data_java/test $ make -f test .mk
123 345 567
laolang@laolang:~ /code/gongda/data_java/test $


这显示不是我想要的结果,我想要的结果是输出:01233455670

但是它给我多了几个空格,于是我又查在shell script中如何做到这样无缝的连接字符串,于是我找到了如下例子:


?
1
2
3
4
5
[root@localhost sh] # var1=/etc/
[root@localhost sh] # var2=yum.repos.d/
[root@localhost sh] # var3=${var1}${var2}
[root@localhost sh] # echo $var3
/etc/yum .repos.d/
这个例子来自:  http://www.linuxidc.com/Linux/2011-11/47030.htm


于是我的test.mk成了:


?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
laolang@laolang:~ /code/gongda/data_java/test $ make -f test .mk
01233455670
laolang@laolang:~ /code/gongda/data_java/test $ cat test .mk
      1  one:=123
      2  two:=345
      3  three:=567
     
      5  final:=$(one)$(two)$(three)  #关键行
     
      7  list:
      8      @ echo -n "0"
      9      @ echo -n $(final)
     10      @ echo "0"
laolang@laolang:~ /code/gongda/data_java/test $ make -f test .mk
01233455670     // 现在达到了我想要的效果
laolang@laolang:~ /code/gongda/data_java/test $



这样就可以了



FROM:  http://my.oschina.net/iamhere/blog/356842

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Makefile中无缝连接字符串 的相关文章

  • cocos2d中的anchorPoint

    cocos2d中的anchorPoint 将该图片放置到屏幕左下方 CCSprite sprite CCSprite sprite Default png addChild sprite 生成的精灵放置在 0 0 也就是屏幕左下角 但是精灵
  • (springmvc)页面找不到静态资源文件Failed to load resource: the server responded with a status of 404 (Not Found)

    今天打算整理之前写的一个插件功能上传到github 新建一个java项目 项目使用的是spring mvc框架 然后再调试页面的时候发现找不到静态资源文件 如下图所示 于是我第一时间检查jsp上页面资源的路径 经过确认 发现路径是没有
  • line-height(行高)

    line height 行高 line height 行高 介绍 字体框 line height 行高 介绍 1 行高指的是文字占有的实际高度 2 通过line height来设置行高 3 行高可以直接指定一个大小 px em 4 也可以直
  • Unity WebGL三维地球

    1 支持arcgis 天地图 bingmap 谷歌地图 高德地图等影像加载 2 支持高程三维地形加载 3 支持在线 离线数据加载 4 支持unity坐标和经纬度坐标互相转换 5 支持fbx模型放置在地球上 6 支持倾斜摄影数据放置在地球上
  • C#从数据库中读取二进制流并生成文件

    下面以图片文件为例加以说明 从数据库表 图片存储 中读取ID为1的图片数据并生成图片文件 MySqlConnection conn new MySqlConnection Server localhost Database test cha
  • fff

    http www migucloud com vi0 109 3j KJ59CLFb6F9pvcJ1egcF cld450p FILENAME 54 cld450p mp4 duration 201 owner 109 path 109 3
  • linux 杀死进程失败,linux - Ubuntu关闭失败“ *杀死所有剩余进程…” - Ubuntu问答...

    问题描述 我已经重新安装了Ubuntu Server reboot 有效 但是在 Killing all remaining processes 步骤上关闭失败 我在用 sudo shutdown now 在失败之后 由 fail 指示 f
  • 【廖雪峰python入门笔记】函数

    1 函数 我们知道圆的面积计算公式为 S r 当我们知道半径r的值时 就可以根据公式计算出面积 假设我们需要计算3个不同大小的圆的面积 r1 12 34 r2 9 08 r3 73 1 s1 3 14 r1 r1 s2 3 14 r2 r2
  • 深入学习java源码之ArrayList.iterator()与ArrayList.listIterator()

    深入学习java源码之ArrayList iterator 与ArrayList listIterator 内部类的使用典型的情况是 内部类继承自某个类或实现某个接口 内部类的代码操作创建其的外层类的对象 所以你可以认为内部类提供了某种进入

随机推荐

  • php excel导入

    excel导入导出是我们做项目中经常用到的功能 那么 今天就来说说excel导入 一 类文件 二 调用代码
  • 使用 htmx 构建交互式 Web 应用

    学习目标 了解htmx的基本概念 特点和用法 并能够运用htmx来创建交互式的Web应用程序 学习内容 1 什么是htmx htmx是一种用于构建交互式Web应用程序的JavaScript库 它通过将HTML扩展为一种声明性的交互式语言 使
  • 深入webpack打包原理,loader和plugin的实现

    本文讨论的核心内容如下 webpack进行打包的基本原理 如何自己实现一个loader和plugin 注 本文使用的webpack版本是v4 43 0 webpack cli版本是v3 3 11 node版本是v12 14 1 npm版本v
  • uboot启动流程图以及boot启动linux流程图

    运行厂商u boot的前提 运行u boot 需要DDR或者DRAM 串口 SD卡驱动 EMMC NAND 这些要和厂商的开发板一致 就能直接在自己板子上运行u boot 开机流程 当把u boot bin下载到SD卡上时 由于整个u bo
  • Web Scraping指南: 使用Selenium和BeautifulSoup

    在当今信息时代 数据是无处不在的宝贵资源 对于许多企业 研究人员以及开发者来说 从互联网上获取准确且有价值的数据变得越来越重要 而Web scraping 网络爬虫 技术则成为了实现这一目标的关键工具 本篇文章将向您介绍一个高级Web Sc
  • 学习Linux第六天

    linux中命令的匹配顺序 1 别名 gt 2 命令缓存 gt 3 通过相提并论中所定义的命令文件路径开始匹配 alias 命令别名 alias 别名 命令本身 alias cc touch root www tm tm不是别名命令 通过
  • 明星漫画

    明星漫画 转载于 https www cnblogs com Dicky archive 2005 02 24 122393 html
  • 《C++编程规范:101条规则、准则与最佳实践》——1.5做代码审查

    本节书摘来自异步社区出版社 C 编程规范 101条规则 准则与最佳实践 一书中的第1章 第1 5节 作者 加 Herb Sutter 罗 Andrei 更多章节内容可以访问云栖社区 异步社区 公众号查看 1 5做代码审查 摘要审查代码 更多
  • 数组sort方法的使用

    sort 方法是数组自带的一种排序方法 数组在原数组上进行排序 不生成副本 如果调用该方法时没有使用参数 将按字母顺序对数组中的元素进行排序 说得更精确点 是按照字符编码的顺序进行排序 要实现这一点 首先应把数组的元素都转换成字符串 如有必
  • Spring_day01

    Spring day01 一 spring入门 1 什么是框架 源自于建筑学 隶属土木工程 后发展到软件工程领域 软件工程框架 经过验证的 具有一定功能的 半成品软件 经过验证 具有一定功能 半成品 2 框架的作用 3 spring是一个轻
  • C51单片机实验——LCD 1602液晶显示器

    实验名称 利用1602实现数字时钟 实验环境 普中实验系统 Keil Vision 4软件 实验目的 1 掌握1602液晶显示器的工作原理和接口方法 2 利用本课程前面所学的知识 实现数字时钟功能 硬件连线 LCD1602的RS R W 和
  • Arduino core for ESP8266 安装失败问题处理方法

    文章目录 目的 离线开发板数据包 鱼 安装最新开发板数据包 渔 总结 目的 理论上Arduino IDE安装开发板数据包是非常方便的 不过在国内的网络环境下有时候就会很纠结 另外Arduino IDE对于下载数据这块也存在问题 经常下着下着
  • 【LeetCode - 658】找到 K 个最接近的元素

    文章目录 1 题目描述 2 解题思路 3 解题代码 1 题目描述 2 解题思路 题目给定的函数返回的是 List 类型 List 有一个方法和字符串类似 为 subList a b 返回 list 区间 a b 的子序列 先把给定的 arr
  • xshell以及xftp免费版

    https www netsarang com zh free for home school
  • GdiPlus

    GDI是Graphics Device Interface的缩写 含义是图形设备接口 它的主要任务是负责系统与绘图程序之间的信息交换 处理所有Windows程序的图形输出 在Windows操作系统下 绝大多数具备图形界面的应用程序都离不开G
  • C ~ 文件读写

    一个文件 无论它是文本文件还是二进制文件 都是代表了一系列的字节 如何创建 打开 关闭文本文件或二进制文件 C 语言不仅提供了访问顶层的函数 也提供了底层 OS 调用来处理存储设备上的文件 打开文件 可以使用 fopen 函数来创建一个新的
  • 二叉树-判断另一棵树的子树(Java)

    另一棵的子树 力扣572题 题目 给你两棵二叉树 root 和 subRoot 检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树 如果存在 返回 true 否则 返回 false 二叉树 tree 的一棵子树包括 t
  • 关于qt.qpa.plugin: Could not load the Qt platform plugin “windows“ in ““ even though it was found.问题

    将如下三个文件 Anaconda3 Lib site packages PySide2 plugins platforms qminimal dll Anaconda3 Lib site packages PySide2 plugins p
  • HTML标签的语法格式

    HTML 中的标签就像关键字一样 每个标签都有自己的语义 含义 例如 p 标签代表段落 b 标签代表加粗 根据标签的不同 浏览器会使用不同的方式展示标签中的内容 在实际开发中 有时我们也将 HTML 标签称为 HTML 元素 HTML 标签
  • 在Makefile中无缝连接字符串

    今天在写Makefile时 忽然遇到了一个问题 如何把几个字符串无缝的连接起来 我自然而然的想到了使用 比如 1 2 3 4 5 6 7 8 9