Поэтому у меня возникли проблемы с попыткой сжать кучу повторяющихся строк в make-файле формы:
dir := XXX
include dir/Makefile
VAR_1 += $(VAR2) # where VAR2 and VAR4 are defined in the included makefile
VAR_3 += $(VAR4)
К форме вида:
dir:= XXX1 XXX2 XXX3 ...
$(foreach elements,$(dir),$(eval $(call function,$(elements))))
define function
$(eval include $(1)/Makefile)
$(eval VAR_1+=$$(VAR2))
$(eval VAR_3+=$$(VAR4))
endef
Однако я получаю ошибки в том, что кажется, что makefile не может определить, как создавать файлы. Я новичок в make-файлах, и я пробовал много вариантов функции, foreach и т. д., но ничего не работает. Если я верну все обратно к каждой строке, явно прописанной, все будет хорошо. Есть ли что-то очевидное, что я делаю неправильно?