Перебор списка в Makefile и получение значений и индексов - PullRequest
4 голосов
/ 12 марта 2012

В GNU Makefile у вас есть список элементов:

OBJECTS = foo bar baz

Вы хотите перебирать элементы, и вас интересует как индекс, так и значение каждого элемента (foo =>1, bar => 2, baz => 3).Какой идиоматический способ сделать это в Makefile?

1 Ответ

6 голосов
/ 13 марта 2012

Есть несколько способов сделать это, ни один из них не очень чистый (что является сильным намеком на то, что вы пытаетесь сделать что-то, что на самом деле не подходит для создания), и ваш конкретный случай может потребовать специальной обработки, ноздесь идет:

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)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...