4
在GNU Makefile中,有一個項目清單:迭代的Makefile文件列表,並獲得兩個值和索引
OBJECTS = foo bar baz
你要遍歷的項目,你感興趣的兩個索引和每個項目的值(foo => 1,bar => 2,baz => 3)。在Makefile中做這件事的習慣用法是什麼?
在GNU Makefile中,有一個項目清單:迭代的Makefile文件列表,並獲得兩個值和索引
OBJECTS = foo bar baz
你要遍歷的項目,你感興趣的兩個索引和每個項目的值(foo => 1,bar => 2,baz => 3)。在Makefile中做這件事的習慣用法是什麼?
有幾種方法可以做到這一點,它們都不是很乾淨(這是一個強烈的暗示,你正在嘗試做一些不適合製作的東西),並且你的特殊情況可能需要特殊處理,但是這裏有:
OBJECTS = foo bar baz
NLIST = $(shell for x in {1..$(words $(OBJECTS))}; do echo $$x; done)
LIST = $(foreach x,$(NLIST), do_something_with_$(x)_and_$(word $(x),$(OBJECTS)))