Кто-нибудь знает, как заменить все пробелы в строке на новую строку в Makefile (GNU make)
Заменить пробелы новой строкой в make файле
Ответ 1
text := hello a b c
null :=
space := ${null} ${null}
${space} := ${space}# ${ } is a space. Neat huh?
define \n
endef
$(error [$(subst ${ },${\n},${text})])
Ответ 2
Скорее всего, проще и эффективнее использовать функцию GNU Make shell
с sed
, чтобы выполнить замену, а не пытаться сделать это целиком в пределах make
.
STRING := foo bar baz
SPLIT := $(shell echo "${STRING}" | sed -e 's/ /\n/g')
Или немного лучше, если ваша оболочка bash
вместо стандартного sh
:
STRING := foo bar baz
SPLIT := $(shell sed -e 's/ /\n/g' <<< ${STRING})