Я привязан к конкатенации переменной в цикле for в моем Makefile.
У меня есть переменная, которая содержит gcc
флаги для файлов заголовков -I
и массив имен зависимостей, которые я бы хотел добавить к переменной в цикле for.
Я не знаю, насколько я прозрачен, поэтому позвольте мне показать вам часть Makefile. (Несвязанные части удалены)Объединить переменную в цикле
IFL := -I ./inc
...
LIBS = libX libY libZ
...
libraries:
@for i in $(LIBS); do \
IFL += -I ./$(LIBD)/$$i; \ # PROBLEM ?
make -C $(LIBD)/$$i ; \
done
Я не уверен, что вы можете изменять переменные в рецептах; это никогда не работало для меня. Если вы переместите этот цикл до рецепта, он, вероятно, сработает. – Kenney
у вас возникнет проблема с выполнением 'IFL + = $ (foreach lib, $ (LIBS), -I ./$ (LIBD)/$ (lib))' вне рецепта, а затем выполнение цикла for для выполнения 'make - C'? – jepio