Заменить пробелы новой строкой в ​​make файле

Кто-нибудь знает, как заменить все пробелы в строке на новую строку в Makefile (GNU 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})