首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Makefile中规则的参数

Makefile中规则的参数
EN

Stack Overflow用户
提问于 2011-01-24 22:25:22
回答 2查看 11.5K关注 0票数 14

我需要生成一个Makefile,它应该有一个run规则。但是,运行需要一些参数。

有人知道在Makefile中运行规则时如何传递参数吗?我希望能够通过输入make run foo bar来运行带参数的run规则。

我试过了,但不起作用:

代码语言:javascript
运行
复制
run:
    make compile
    ./scripts/runTrips $1 $2 $PLACES $OUT $VERS

我想要提供的参数是第一个和第二个。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-24 22:32:13

将参数传递给make命令时,请像引用其他内部make变量一样引用它们。

如果你的makefile看起来像这样:

代码语言:javascript
运行
复制
run:
        script $(param1) $(param2)

您可以使用以下语法调用它:

代码语言:javascript
运行
复制
$> make run param1=20 param2=30

make应该像这样调用脚本:

代码语言:javascript
运行
复制
script 20 30
票数 27
EN

Stack Overflow用户

发布于 2014-10-01 02:14:43

Make本身不像脚本那样提供传递参数。通常make的用法如下:配置项目而不是运行简单的'make‘。配置可以通过运行shell脚本'configure‘来完成。您可以将参数传递到此脚本。例如:

代码语言:javascript
运行
复制
./configure param1 param2
make run

配置脚本必须解析参数并将其写出到config.mk。config.mk必须包含以下内容:

代码语言:javascript
运行
复制
PARAM1 = val1
PARAM2 = val2

您的Makefile必须包含config.mk:

代码语言:javascript
运行
复制
TOP = .
include $(TOP)/config.mk

run:
    make compile
    ./scripts/runTrips $(PARAM1) $(PARAM2) $(PLACES) $(OUT) $(VERS)

在您的'configure‘脚本中,您还可以检查参数的正确性,并进行其他检查和计算。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4783098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档