Ответ 1
define \n
endef
$(error Here is a message${\n}with embedded${\n}newlines.${\n}${\n}hooray!)
Вы можете использовать ${\n}
в таких вещах, как $(subst...)
.
Можно ли вставить новую строку, которая будет выполнена в цикле foreach
в Makefile?
В настоящее время у меня есть следующее:
$(foreach my_lib,$(MY_LIBS),$(call my_func,results,boxer,$(my_lib)))
Теперь, если у меня есть:
MY_LIBS = lib1 \
lib2
Вышеупомянутый цикл foreach
будет оценивать:
lib1 lib2
Я бы хотел, чтобы это оценивалось:
lib1
lib2
Можно ли вставить новую строку в цикле foreach
, чтобы выполнить это?
Спасибо.
define \n
endef
$(error Here is a message${\n}with embedded${\n}newlines.${\n}${\n}hooray!)
Вы можете использовать ${\n}
в таких вещах, как $(subst...)
.
Вы можете сделать это, используя
define MY_LIBS
lib1
lib2
endef
В более сложных случаях, когда вы хотите генерировать многострочные команды makefile из цикла, вам нужно будет использовать функцию eval
.