GNU Make 标准库实用功能与使用技巧详解
1. 关联数组与 defined 函数
在处理关联数组时,我们常常需要判断某个键是否存在。这时可以使用 defined 函数,其使用方法如下:
defined
Arguments: 1: Name of associative array
2: The key to test
Returns: $(true) if the key is defined (i.e., not empty)
该函数返回一个布尔值,用于指示键是否已定义。例如,我们可以通过调用 $(defined array_name, key_name) 来检查 array_name 关联数组中是否存在 key_name 键。
2. 命名栈
栈是一种有序的字符串列表(字符串中不能包含空格)。在 GNU Make 标准库(GMSL)中,栈有内部存储机制,并且和关联数组一样可以有名称。下面是一个使用栈遍历目录树的示例:
traverse-tree = $(foreach d,$(patsubst %/.,%,$(wildcard $1/*/.)), \
$(call push,dirs,$d)$(call traverse-tree,$d))
$(call traverse-tree,so
超级会员免费看
订阅专栏 解锁全文
2227

被折叠的 条评论
为什么被折叠?



