将参数传递给“ make run”

我使用Makefiles。


我有一个run运行该构建目标的目标。简化后,它看起来如下所示:


prog: ....

  ...


run: prog

  ./prog

坐下来 我知道这很巧妙,但不需要站着鼓掌。


现在,我的问题是-有什么方法可以传递参数?以便


make run asdf --> ./prog asdf

make run the dog kicked the cat --> ./prog the dog kicked the cat

谢谢!


开心每一天1111
浏览 929回答 3
3回答

哔哔one

我不知道完全按照自己的意愿做事的方法,但是一种解决方法可能是:run: ./prog    ./prog ${ARGS}然后:make ARGS="asdf" run

千巷猫影

您可以将变量传递给Makefile,如下所示:run:    @echo ./prog $$FOO用法:$ make run FOO="the dog kicked the cat"./prog the dog kicked the cat要么:$ FOO="the dog kicked the cat" make run./prog the dog kicked the cat或者使用Beta提供的解决方案:run:    @echo ./prog $(filter-out $@,$(MAKECMDGOALS))%:    @:%:-与任何任务名称匹配的规则; @:-空配方=不执行任何操作用法:$ make run the dog kicked the cat./prog the dog kicked the cat
打开App,查看更多内容
随时随地看视频慕课网APP