makefile - 使用 % 的 makefile 目标顺序
问题描述
只是出于好奇,在makefile中执行目标的顺序是什么
${OBJ_DIR}/%.o: ${SRC_DIR}/%.cpp
我注意到它不是字典式的(如ls -l
)。它只是随机的吗?
解决方案
它们是按照 make 遍历先决条件图的顺序构建的。
在您没有并行作业(没有-j
选项)的简单情况下,如果您有如下目标:
prog: foo.o bar.o. baz.o
make 将首先尝试构建foo.o
,然后bar.o
,然后baz.o
,最后prog
。
如果您确实启用了并行作业,那么 make 仍会尝试以相同的顺序开始构建,但由于某些构建完成得比其他构建更快,您可能会同时构建不同的目标。
推荐阅读
- javascript - 测验计时器 JavaScript
- r-markdown - 如何删除我的 Kable 表的标题和实际表之间的空白/空格
- python - Mac 上的 virtualenvwrapper(使用终端):查找“virtualenvwrapper.hook_loader”的模块规范时出错
- apache-kafka - 为什么 DLT 中的消息使用 DeadLetterPublishingRecoverer base64 编码
- regex - 在最后一个空格或超过最大值后拆分长字符串
- wordpress - Cloudflare 或 WAF 用于阻止 wp-loign.php 但允许 wp-login.php?foo=bar
- html - Vs Code 打不开 html
- node.js - _read 和 read 在 Node JS 流中的作用是什么?
- javascript - 资源缺失错误:无法在 Stripe 上升级计划
- azure-devops - Azure DevOps 中服务连接的管道级访问控制 - 经典编辑器管道