linux - make:从依赖项中提取元素
问题描述
我有一个表单的目标,target: DEP1 DEP2
其中DEP1
和DEP2
是项目列表。说DEP1 = A B C
,DEP2 = D E F
。我需要从中提取一些元素DEP2
,即
target: $(DEP1) $(DEP2)
# echo E from DEP2 without explicitly using $(DEP2)
有没有办法我可以做到这一点?我已经看到了$(word 2, $^)
提取第二个依赖项的用法,但我不确定如何从依赖项中提取元素。
谢谢。
编辑:修复了一个语法错误并试图澄清
解决方案
没有办法做你所要求的。Make 将在读入 makefile 时扩展先决条件列表中的所有变量,因此在 make 甚至开始解析该行之前,任何关于哪个变量可能已包含哪些值的指示早已不复存在。
也就是说,仅仅通过查看先决条件列表,绝对无法区分以下任何一种结构:
DEP1 = A B C
DEP2 = D E F
target: $(DEP1) $(DEP2)
DEP1 = A
DEP2 = B C D E F
target: $(DEP1) $(DEP2)
target: A B C D E F
$^
就自动变量等的内容而言,所有这些都完全相同。
推荐阅读
- asp.net-core - 从 .net 核心中的现有数据库创建模型后无法获得 JSON 结果
- c - C 程序:将机场模拟修改为 3 条跑道
- python - Python c-api,不能重用 NUMPY
- c# - 启用放大
- javascript - 如何在“find()”的结果中找到一个元素?
- python - Python Asyncio 帮助....我这样做对吗?
- c++ - 如何在纯 c++ 环境中使用 qt 中的图像?
- python - 在 Python 中的 asyncio 任务上拦截对 __await__ 的调用
- python - Pandas 数据框列匹配和分组依据
- python - 文本数据预处理的正确步骤是什么