如何从命令行将参数传递给 Makefile?

2023-11-30

如何从命令行将参数传递给 Makefile?

我明白我能做到

$ make action VAR="value"
$ value

with Makefile

VAR = "default"
action:
    @echo $(VAR)

我如何获得以下行为?

$ make action value
value

怎么样

$make action value1 value2
value1 value2

你可能不应该这样做;你正在打破 Make 工作的基本模式。但这里是:

action:
        @echo action $(filter-out $@,$(MAKECMDGOALS))

%:      # thanks to chakrit
    @:    # thanks to William Pursell

EDIT:
为了解释第一个命令,

$(MAKECMDGOALS)是命令行上拼写的“目标”列表,例如“动作值1值2”。

$@ is an 自动变量规则目标的名称,在本例中为“action”。

filter-out是一个从列表中删除一些元素的函数。所以$(filter-out bar, foo bar baz)回报foo baz(它可以更微妙,但我们在这里不需要微妙)。

把这些放在一起,然后$(filter-out $@,$(MAKECMDGOALS))返回在命令行上指定的目标列表,而不是“action”,它可能是“value1 value2”。

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

如何从命令行将参数传递给 Makefile? 的相关文章

  • $ 之间的区别?和 PowerShell 中的 $LastExitCode

    在 PowerShell 中 有什么区别 and LastExitCode I read 关于自动变量 http technet microsoft com en us library dd347675 aspx 它说 Contains t
  • Rails 3:使用 AJAX 请求更新 URL 参数

    我有一个过滤器和一个产品列表 id 名称 创建日期 我可以按 ID 名称或创建日期进行过滤 通过 AJAX 请求 我更新了内容 div 但显然 URL 没有改变 如何将参数附加到 URL 例如 localhost 3000 dashboar
  • 如何在 Swift 方法中将字典作为参数传递?

    我在代码中创建了以下方法 func SignIn objDictionary Dictionary
  • 为什么 make 会删除我的临时文件?

    我有一个简单的 Makefile PHONY clean PROGRAMS patsubst main cpp example wildcard main cpp all PROGRAMS GCCVERSION shell gcc dump
  • 如何使用命令行参数执行jar [重复]

    这个问题在这里已经有答案了 可能的重复 将 Java 解释器所需的参数传递给 JAR https stackoverflow com questions 5536476 passing arguments to jar which is r
  • 通过引用传递参数到指针问题

    每次我尝试编译代码时都会收到错误 cannot convert parameter 1 from int to int 测试代码如下所示 void set int val val 10 int main int myVal int pMyV
  • 共享来自单独命令/进程的属性

    我提供带有多个命令和子命令的命令行工具 我使用cobra https github com spf13 cobra命令行 我有两个单独的命令首先是前提条件e 给其他人 例如第一个命令是通过创建临时文件夹并验证某些文件来首选环境 第二个命令应
  • 当访问 /tmp/ 被拒绝时在哪里创建临时文件?

    我编写了一个简短的 bash 脚本来完成一项任务 该任务涉及创建临时目录并在其中存储各种文件并对其执行各种操作 在我的第一遍中 我刚刚在 tmp script 创建了临时目录 但后来我在没有 tmp 写入权限的计算机上测试了该脚本 我想采取
  • Jenkins 文本参数 - 特殊字符乱码(不需要的变量替换)

    我在 Jenkins Linux 下 有一份工作构建参数 https wiki jenkins ci org display JENKINS Parameterized Build类型为 文本 我使用参数来形成在构建过程中使用的文件的内容
  • 传递给命令 WPF 的多个参数[重复]

    这个问题在这里已经有答案了 我有以下层次结构 abstract class TicketBase public DateTime PublishedDate get set class TicketTypeA TicketBase publ
  • extern "C" 默认参数是否有效?

    From Here https stackoverflow com questions 1472138 c default argumentsC 似乎不支持默认参数 我在导出的库中有以下方法 extern C declspec dllexp
  • 从 makefile 内部传递命令行参数

    我有一个 makefile 我试图从中调用一个可执行文件 该可执行文件需要 5 个参数 我如何从 makefile 传递这些参数 这样做不起作用 run exe arg1 somevalue arg2 somevalue arg3 some
  • 如何通过 DOS 批处理命令发送电子邮件?

    我在 DOS 中有一个批处理文件 可以进行一些检查 完成后我需要发送一封电子邮件 我在 interwebz 上找到了一些解决方案 但大多数都是第三方的 或者只是在 Outlook 中打开新邮件 我需要命令来发送完整的电子邮件 而无需任何人工
  • 如何在 Angular @Input 中仅接受预定义值

    我的问题是 我在 a 中收到一个字符串值作为组件的参数 但我想限制可以用作参数的值 就像enum I use Input type string 但是在组件中 一切都可以引入type正如我之前所说 我需要将其限制为 3 个选项 例如Enum
  • 如何让 Makefile 目标被多次调用?

    在下面的简单示例中 我想做一个make dist并拥有distclean之前执行的目标distdebug and distrelease PHONY distclean dist distdebug distrelease echo in
  • 从命令行运行 R 代码 (Windows)

    我在名为 analysis r 的文件中有一些 R 代码 我希望能够从命令行 CMD 运行该文件中的代码 而无需通过 R 终端 并且我还希望能够传递参数并在我的代码中使用这些参数 例如就像下面的伪代码 C gt execute r scri
  • 找不到包“gdk-pixbuf-2.0”

    我正在尝试在 Amazon Linux 发行版实例上构建 librsvg 我已经通过 yum 安装了大部分依赖项 其中一些在实例上启用的默认 yum 存储库中不可用 因此必须从头开始构建它们 我已经走了很远 但还停留在最后一点 跑步时sud
  • 使用 Makefile 项目在 Visual Studio 中自定义调试命令

    我在 Visual Studio 2010 中有一个由 Makefile 支持的项目 实际上使用 NAnt 但这不是重点 构建过程的输出是一个 elf 文件 我有一个单独的非 VStudio 调试器 可以在该 elf 文件上运行来调试它 构
  • 使用带有关键字参数的 map() 函数

    这是我尝试使用的循环map功能于 volume ids 1 2 3 4 5 ip 172 12 13 122 for volume id in volume ids my function volume id ip ip 我有办法做到这一点
  • 从命令行添加 Xcode 开发者帐户

    我正在尝试使用xcodebuild allowProvisioningUpdates在我只能通过命令行访问的计算机 Azure Devops macOS 托管计算机 上 不幸的是 根据man xcodebuild为了使用 allowProv

随机推荐

  • 如何:实现 BatchMessageListenerContainer 以批量使用 JMS 队列

    我最近在 Spring Integration 中遇到了对 JMS 使用者的需求 能够消耗大量的突发数据 而不会给我的目标 Oracle 数据库带来过多的提交压力 DefaultMessageListenerContainer 似乎不支持除
  • 预声明所有私有/局部变量?

    这可能是一个基本问题 但它让我想了很长一段时间 我应该将所有私有 局部变量声明为私有吗 或者这仅对 重要 变量是必要的 例如 我有计算的 临时 结果 我应该预先声明这个变量吗 希望有人能指出这一点 既然你说的是private protect
  • Google App Engine 自动随机重启

    我们在 GAE 上运行节点服务器 由于某种原因 我们的服务器每天会离线几次 有时可能需要几分钟才能恢复在线 全天的请求都是相同的 也没有例外会导致重新启动 没有请求激增或任何可能导致这种情况的特殊请求 发生时记录 2020 04 18T23
  • 从泽西岛的 URI 获取处理程序?

    里面一个ContainerResponseFilter我想得到 处理程序 即所在的班级 Path和 GET PUT 带注释的方法与我将提供的 URL 匹配 Example someJerseyVariable getHandlerForUR
  • 计算div标签的平均高度和平均宽度

    我需要获取 html 文档的平均 div 高度和宽度 我已经尝试过这个解决方案 但它不起作用 import numpy as np average width np mean div attrs width for div in my do
  • UITextField 格式为 xx-xx-xxx

    我正在使用 UITextField 我希望它应该采用 xx xx xxx 数字格式的字符 有什么帮助吗 需要对具有可变格式的电话号码很好地做到这一点 这就是我写的 随意重用 首先 我有一种过滤格式化字符串的方法 其中 是数字 任何其他字符都
  • 虚拟化 ItemControl?

    我有一个ItemsControl但是包含我想要虚拟化的数据列表VirtualizingStackPanel IsVirtualizing True 似乎不适用于ItemsControl 确实是这样吗 还是有另一种我不知道的方法可以做到这一点
  • 使用委托在视图控制器之间进行通信

    在提出一些问题后 我学会了如何将订单从一个视图控制器发送到另一个视图控制器 并设法编写其工作代码 但没有任何反应 在我的项目中 我有两个视图控制器 名为sayfa1 and sayfa23 当按钮位于sayfa1单击它将打开sayfa23并
  • 如何使用dom解析器java解析xml中的同名标签?

    如何使用dom解析器java解析xml中的相同名称标签 我有以下 xml 文件 我想使用 java 中的 dom 解析器来解析该文件
  • scanf("%c") 自动读取 10

    void main int cnt 1 char i while cnt lt 4 printf nenter the character scanf c i if i gt 64 i lt 91 printf ncharacter is
  • 用于标记代码的 Eclipse 插件

    有没有Eclipse插件可以标记代码 就像用荧光笔一样 有人知道这是否可能吗 您可以用书签标记要突出显示的行 然后设置背景颜色以突出显示书签 你必须进去 preferences gt General gt Editors gt Text E
  • TypeORM 查找 where 条件 AND OR 链接

    我正在尝试使用存储库查找来编写查询 但似乎没有找到适合我的查询的解决方案 我知道这可以通过查询生成器或 Raw 条件实现 但如果可能的话 我想使用存储库查找 我想要达到的条件是字段1 字符串 AND 字段2为空OR字段2 gt 日期 目前唯
  • 合并两个相同类型的案例类,除了某些字段

    如果您有这样的案例类 case class Foo x String y String z String 你有两个实例 例如 Foo x1 y1 z1 Foo x2 y2 z2 是否可以将实例 1 合并到实例 2 中 除了字段 z 之外 结
  • 在 Android 中使用 cURL

    我想在我的 android 应用程序中以本机代码使用 cURL 库 使用最新的 NDK r5b 经过在线研究后 似乎在 android 中使用 cURL 的唯一方法是构建包含curl 的整个 android 源代码树 并且以某种方式生成 c
  • iDevice for Dummies:一台设备可以分配多个配置(个人/企业)吗? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 是否可以为一个 iDevice 分配多个规定 老实说
  • 触发器从另一个表更新总和 MySQL

    我有一个数据库 用于跟踪我所在联赛的统计数据和平均值 我有一个结果表和一个排名表 我将结果中的 分数 添加到排名中的总体 分数 中 我目前有一个查询 它成功地将结果中的分数添加到积分表中 但是 当我添加新结果时 排名不会更新 这是我的查询
  • C / C++ / C#:如何执行“mount -a”

    问题 在 C C C 中 我需要 C 但 C 和 C 也可以 如何在 Linux 上执行 mount a 我的意思是 以编程方式 without开始一个像这样的过程 system mount a Edit 注意 a 我的问题实际上不是关于如
  • Express.JS:将 cookie 附加到静态提供的内容

    我使用 Express JS 来提供静态内容 express use express static When index html服务完成后 我想在响应旁边发送一个 cookie 指示用户是否已登录 通常应该使用res cookie 但我不
  • 如何将厨师食谱中的一种资源的价值传递到另一种资源?

    我正在尝试更改一个资源中的属性 并希望在另一资源中使用更新后的值 但更新后的值未反映在另一资源中 请帮我 Code node oracle asm disks each key do disk Chef Log info I am in c
  • 如何从命令行将参数传递给 Makefile?

    如何从命令行将参数传递给 Makefile 我明白我能做到 make action VAR value value with Makefile VAR default action echo VAR 我如何获得以下行为 make actio