Почему не работает пример substr makefile
Я пытаюсь запустить под ubuntu пример makefile c функцией substr. Этот пример
comma:= ,
empty:=
space:= $(empty) $(empty)
foo:= a b c
bar:= $(subst $(space),$(comma),$(foo))
# bar is now `a,b,c'.
В своём makefile записал таким образом
all:
comma:= ,
empty:=
space:= $(empty) $(empty)
foo:= a b c
bar:= $(subst $(space),$(comma),$(foo))
# bar is now `a,b,c'.
При запуске выходит такая ошибка:
elvin@ubuntu:~$ make all
comma:= ,
/bin/sh: 1: comma:=: not found
makefile:2: recipe for target 'all' failed
make: *** [all] Error 127
Что я делаю не так в этом примере и как избавиться от этой ошибки?
Ответы (1 шт):
Автор решения: Ainar-G
→ Ссылка
Определения макросов находятся вне рецептов.
comma := ,
empty :=
space := $(empty) $(empty)
foo := a b c
bar := $(subst $(space),$(comma),$(foo))
all:
echo $(bar)