我有一个运行多个目标的 make 文件,现在我想添加将在超时后运行的新目标,我该怎么做?
例如
execbin:构建开始运行
这运行正常,但是我想添加新目标称为测试,它将在两秒后运行 (超时),我该怎么做?
execbin:构建开始运行测试
test
应在运行完成后执行,并在开始前等待 2 秒,这可能吗?
最佳答案
懒惰的解决方案是添加一个名为“sleep-2”的新目标,以及一个模式规则:
execbin: build start run sleep-2 test
sleep-%:
sleep $(@:sleep-%=%)
这会创建一个 pattern rule它采用 sleep- 目标中连字符后的值,并将其用作 sleep 时间。
I will echo @MadScientists's answer that this probably will not work if you do
make -j
, which really does require changing the targets to depend on each other.
https://stackoverflow.com/questions/61785257/
相关文章:
javascript - 在 includes() 中使用 "OR"运算符来试验字符串中是否存在任何
javascript - 如何使用 nestfastify 编写来自 nestjs 异常过滤器的响应
amazon-web-services - 如何替换 AWS Auto Scaling 组中的特定实
django - 将 Django 连接到 Microsoft SQL 数据库
java - Intellij Idea : sbt refresh FetchError$Down
google-app-engine - gcloud app deploy - 更新服务默认值失败,
javascript - web3.eth.accounts[0] 返回未定义和 app.vote(