GNU Make: как присоединиться к списку и отделить его с разделителем?
У меня есть это:
FOO = foo1 foo2 ... fooN
и хотите присоединиться ко всей этой строке и отделить ее, например, colong:
foo1:foo2:foo3:...:fooN
Как это сделать в GNU Make, без использования внешних инструментов UNIX?
Ответы
Ответ 1
См. код ниже.
# A literal space.
space :=
space +=
# Joins elements of the list in arg 2 with the given separator.
# 1. Element separator.
# 2. The list.
join-with = $(subst $(space),$1,$(strip $2))
Использование:
FOO = foo1 foo2 ... fooN
COLON_SEPARATED_FOO := $(call join-with,:,$(FOO))
Ответ 2
Вы можете просто заменить пробелы двоеточием:
EMPTY :=
SPACE := $(EMPTY) $(EMPTY)
FOO = foo1 foo2 ... fooN
FOO_LIST = $(subst $(SPACE),:,$(FOO))
FOO_LIST
foo1:foo2:...:fooN
.