Makefile:调用变量时如何增加变量? (bash 中的 var++)

2024-01-01

这是我的 makefile 的一部分:

LISTEINC = $(DEST)/file.inc $(DEST)/otherfile.inc $(DEST)/anotherfile.inc
compteur = 1

$(DEST)/file: $(LISTEINC)
       #action

$(DEST)/%.inc: $(DEST)/%.jpg
      ./script $< $compteur $(DEST) > $@

如何将变量 compteur 设置为 1(文件)、2(其他文件)、3(其他文件)?

$((compteur++)) 可以在 bash 脚本中工作,但在这里我真的不知道等价物是什么。我尝试了 $$ () ++ +1 等的多种组合...没有任何效果。 有人可以帮我吗?


可以用以下方法完成eval :

$(eval compteur=$(shell echo $$(($(compteur)+1))))

从手册中:

eval 函数非常特别:它允许您定义新的 makefile 结构不是恒定的;这是以下结果 评估其他变量和函数。 eval 的论证 函数被展开,然后该展开的结果被解析为 生成文件语法。扩展的结果可以定义新的 make 变量, 目标、隐含或显性规则等

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

Makefile:调用变量时如何增加变量? (bash 中的 var++) 的相关文章

  • 为什么 Visual Studio Code 在编辑 Makefile 和 "editor.insertSpaces": "auto" 时插入空格?

    make 不喜欢 Makefile 中的目标主体有空格 必须是一个标签 我将 editor insertSpaces 更改为 auto 认为这会有所帮助 事实并非如此 我必须将其设置为 false 才能使代码正常工作 现在可以通过语言特定设
  • 在 Java 中从两个不同的类设置和获取静态变量

    假设我有 3 个课程 A Data and B 我从类中传递一个变量A它将传递的变量设置为类中的私有变量Data 然后在课堂上B 我想调用已更改的特定变量 So I do Data data new Data data getVariabl
  • 批处理 - 将 dir 命令的输出存储到变量 - 目录列表中

    我需要将整个目录列表存储到一个变量中 然后将所述变量作为参数传递给另一个脚本 直接或首先将 dir 的输出存储到文本文件中 然后执行如下操作 dir path todir gt temp txt set p VAR
  • ubuntu 中的 echo -e 选项不起作用

    我的同事使用Ubuntu 我使用openSUSE 我们使用相同的makefile编译相同的源代码 我的环境运行良好 但我的同事不能 总是输出无法识别 e选项 我们检查makefile 只发现echo命令使用 e option Ubuntu的
  • Linux shell 标题大小写

    我正在编写一个 shell 脚本并有一个如下所示的变量 something that is hyphenated 我需要在脚本中的各个点使用它 如下所示 something that is hyphenated somethingthati
  • 如何将当前目录捕获为 make 变量中的绝对路径名?

    我想在 GNUmake 文件运行期间获取当前目录并将其放入 make 变量中 执行此操作的语法是什么 像这样的东西吗 DIR PWD Um no PWD有时是在您的环境中定义的 因此由 make 继承 但通常不是 你需要 CURDIR DI
  • dbt 的 dbt_project.yml 文件中的嵌套变量

    下面是我在 dbt project yml 文件中的代码 vars Variable project1 vendor ABC DEF ABC model name model123 case types name CASE1 name CA
  • 如何复制Makefile中的目录?

    我有一个目录images 我想复制到build images 从 Makefile 中 该目录可能包含多个级别的子目录 最优雅的方法是什么 我想 避免每个目录都复制完整的目录make运行 即不cp r 保证一致性 即如果文件在images
  • 挖泥机子集 (MuMIn) - 如果存在主效应,则必须包括交互作用

    我正在使用 dredge MuMIn 进行一些探索性工作 在此过程中 我想将两个变量设置为仅当它们之间存在相互作用时才允许一起出现 即它们不能仅作为主要效果一起出现 使用样本数据 我想挖掘模型 fm1 尽管它可能没有意义 如果变量 GNP
  • 变量“@{credentials}[0]”的值不是列表或类似列表

    我是一个新的机器人框架用户 当我尝试使用列表变量时 出现以下错误 真的不知道我哪里错了吗 Value of variable credentials 0 is not list or list like credentials Admin
  • 找出Pyomo模型不可行的原因

    我得到了一个包含很多变量和约束的 pyomo 具体模型 不知何故 我的模型中的变量之一违反了一个约束 这使得我的模型不可行 WARNING Loading a SolverResults object with a warning stat
  • sqoop 增量导入追加模式,带时间戳列

    有人可以帮助我了解 sqoop 增量中追加模式和最后修改模式之间的确切区别吗 当可以使用附加模式 使用 check column 作为时间戳 完成相同的操作时 lastmodified 的需要是什么 它的工作原理相同 并且也会导入更新和插入
  • make:仅针对单个目标禁用子目录中的并行构建

    我有一个相当庞大的由自动工具驱动的项目 它位于一个目录树中 该目录树由许多带有子目录的目录组成 它有一个目标check 在每个子目录以及主目录中 执行大量自动化测试 这check目标是递归构建的 并行构建和测试 通过 j选项 make 适用
  • Java中变量的默认值

    Java 中的每个类型在声明时都有一个原始值 文章原始数据类型 http docs oracle com javase tutorial java nutsandbolts datatypes html包含原始数据类型的描述 知道了这一点
  • makefile 中的预构建步骤

    如何运行必须在所有其他 makefile 命令之前执行的脚本 如果没有要构建的内容 则不执行脚本会很好 但不是强制性的 我搜索过 SO 和 Google 但找不到任何东西 我有这个解决方法 myscript bat output is em
  • 是否支持动态变量?

    我想知道Go中是否可以动态创建变量 我在下面提供了一个伪代码来说明我的意思 我将新创建的变量存储在切片中 func method slice make type for i 0 i lt 10 i var variable i i slic
  • C-为什么char c=129会转换成-127?

    如果我们分配 128到 char 变量 然后将其转换为 128因为二进制等价 10000000 first bit tells sign 二进制等价于129 is 10000001 它将转换成什么值 字符c 129 谢谢 S 实际上有几种可
  • 生成带有完整路径的 gcc 依赖项

    我有一个简单的项目 看起来像这样 build file1 o one file1 o file2 o depend Makefile src file1 cpp one file1 cpp file2 cpp Makefile 是这样的 G
  • 使用 Makefile 项目在 Visual Studio 中自定义调试命令

    我在 Visual Studio 2010 中有一个由 Makefile 支持的项目 实际上使用 NAnt 但这不是重点 构建过程的输出是一个 elf 文件 我有一个单独的非 VStudio 调试器 可以在该 elf 文件上运行来调试它 构
  • 模块函数中使用的 $_ 变量为空 (PowerShell)

    这里有一个问题要问你 我有这个功能 function Set DbFile param Parameter ValueFromPipeline true System IO FileInfo InputObject Parameter Va

随机推荐

  • Heroku 错误消息未检测到 Cedar 支持的应用程序

    因此 我在使用 heroku 和这个 Rails 教程时遇到了更多问题 我正在制作的 Rails 教程让我开发了一个超级基本的应用程序 然后他们让我创建一个比特桶帐户 之后他们让我创建了一个 Heroku 帐户 现在他们要求我推动我的起源大
  • Android Studio 2.x - 永远构建符号...

    我的 Android Studio 有问题 将 AS 更新到 2 2 后 需要很长 约 30 分钟 的时间来处理 表明它正在 构建符号 该项目相当大 并且包含 NDK 组件 使用 gradle 构建速度非常快 BUILD SUCCESSFU
  • 如何重构 XSD 以便解组不会返回 JAXBElement

    我有以下架构
  • 我可以使用 JavaScript fetch() 在 DOM 中插入内联 svg 吗?

    我有一个使用 XMLHttpRequest 在 DOM 中插入内联 svg 的函数 我想知道是否可以使用 fetch 执行相同的函数 其功能是 el document querySelector foo var request new XM
  • 使用 Boost 类型特征进行条件编译

    我有一个模板 我想根据参数的类型有条件地编译它 我只关心区分 普通旧数据 POD 即整数等或类 结构 我在 Windows 上使用 c VS2008 template
  • Testflight 无法识别新设备

    我正在尝试将用户添加到 Testflight 构建中 因此 我转到开发人员门户并添加他们的信息 UDID 和设备名称 并将他们的设备添加到配置文件中 重新下载并将其应用到项目中 然后我存档到 ipa 文件 然而 当我将 ipa 上传到 Te
  • 导轨捆绑清洁

    更新捆绑包后 您将拥有一些可能已过时的 gem 因为已安装该 gem 的较新版本 下没有这样的命令bundle可执行的 即bundle clean 如何摆脱这些过时的宝石 这是减少我的 Rails 应用程序中的 slug 大小的尝试 如果您
  • Kibana v 7.9.2 小时_分钟_秒的精确格式

    我跟着 and https www elastic co guide en elasticsearch reference current mapping date format html https www elastic co guid
  • ApplicationContext 事件从未被抛出

    我正在努力拥有ContextEventListener在所有 ContextXXXEvent 上 我为每个事件类型创建了一个侦听器 如下所示 ContextRefreshedEvent是一个例子 Component public class
  • 让一个函数“返回”超级函数?

    给出的是以下代码 function two return success function one two return fail 如果您通过调用函数 one 来测试代码 您将始终得到 失败 问题是 如何通过仅调用函数二 来在函数一 中返回
  • Textview 环绕 View [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我试图让我的水平布局充分利用可用的空间 在显示活动的信息中 我有一个 事实框 后面跟着一大框文本 我希望信息框向右浮动 类似于下图 使
  • 无需输入类名即可获取枚举?

    我注意到在 C 中 当我有一个 Enum 时 请说 class ClassObject public static Enum EventType Click Jump Etc 当我必须访问它时 我必须浏览它的主类 它非常冗长 例如 Clas
  • 将子菜单添加到 Visual Studio 项目项节点

    右键单击文件项 Visual Studio 解决方案资源管理器时如何添加菜单和子菜单项 我有一个菜单和三个子菜单项 当我右键单击解决方案资源管理器中的文件时 将显示这些菜单项 如下图所示 我尝试使用 vsct 按钮 但它将显示在上下文菜单上
  • 无法安装 MySQL-python

    我想在 python 2 7 虚拟环境中安装 MySQL python 但出现以下错误 Installing collected packages MySQL python Running setup py install for MySQ
  • 安卓:应用程序未安装

    这里是新手 我用Godot游戏引擎制作了我的第一个游戏并成功导出到android 复制到我的手机上 它安装并运行良好 几个小时后 我做了一些更改并再次导出 再次复制了 apk 但现在当我尝试安装它时 它没有完成安装 我多次尝试更改导出设置
  • 在 Android 上检测 wifi IP 地址?

    我需要确定Android设备是否连接到Wifi 如果是 则获取其Wifi IP地址 我知道如何使用 ConnectivityManager 来确定活动网络是否是 Wifi 网络 并且我知道如何使用 java net NetworkInter
  • Python 的 socket.getaddrinfo/mercurial 未使用持久 DNS 缓存

    当我通过一台调制解调器 ISP 连接时 我的 Ubuntu 机器上的 DNS 查找速度非常慢 我按照说明进行操作 例如here http aacable wordpress com 2011 06 13 ubuntu persistent
  • Swing 对话框如何工作?

    如果您在 Swing 中打开一个对话框 例如 JFileChooser 它有点类似于以下伪代码 swing event thread create dialog add listener to dialog close event retu
  • 检测到 glibc:双重释放或损坏

    我将解释我已完成的简短编码步骤以及我面临问题的区域 main cpp int main int cnt map i 1 value My question is about this char pointer key char key ch
  • Makefile:调用变量时如何增加变量? (bash 中的 var++)

    这是我的 makefile 的一部分 LISTEINC DEST file inc DEST otherfile inc DEST anotherfile inc compteur 1 DEST file LISTEINC action D