我需要制作一个Makefile,它应该有一个run
规则.但是,运行需要一些参数.
有没有人知道如何在Makefile中运行规则时传递参数?我希望能够run
通过键入来运行带有参数的规则make run foo bar
.
我试过这个,但它不起作用:
run:
make compile
./scripts/runTrips $1 $2 $PLACES $OUT $VERS
Run Code Online (Sandbox Code Playgroud)
我想要提供的参数是第一个和第二个.
小智 24
将参数传递给make命令时,像引用其他内部make变量一样引用它们.
如果你的makefile看起来像:
run:
script $(param1) $(param2)
Run Code Online (Sandbox Code Playgroud)
您可以使用以下语法调用它:
$> make run param1=20 param2=30
Run Code Online (Sandbox Code Playgroud)
和make应该调用脚本,如:
script 20 30
Run Code Online (Sandbox Code Playgroud)
小智 5
Make 本身不提供像脚本那样的传递参数。通常 make 按以下方式使用:配置项目而不是运行简单的“make”。可以通过运行 shell 脚本“configure”来完成配置。您可以向该脚本传递参数。例如:
./configure param1 param2
make run
Run Code Online (Sandbox Code Playgroud)
配置脚本必须解析参数并将其写入config.mk。config.mk 必须包含以下内容:
PARAM1 = val1
PARAM2 = val2
Run Code Online (Sandbox Code Playgroud)
您的 Makefile 必须包含 config.mk:
TOP = .
include $(TOP)/config.mk
run:
make compile
./scripts/runTrips $(PARAM1) $(PARAM2) $(PLACES) $(OUT) $(VERS)
Run Code Online (Sandbox Code Playgroud)
在“配置”脚本中,您还可以检查参数的正确性并进行其他检查和计算。