Почему моя переменная makefile не работает при использовании директивы define? - PullRequest
0 голосов
/ 15 декабря 2018

Я использую GNU Make 3.81.Следующий make-файл работает правильно:

name=lucas

all: test

.PHONY: test
test: 
    echo $(name) # outputs variable correctly

Но когда я пытаюсь определить переменную с помощью директивы define, она перестает работать:

define name =
lucas
endef

all: test

.PHONY: test
test: 
    echo $(name)

Почему эта вторая версия не работает?Спасибо.

РЕДАКТИРОВАТЬ : Найдено этой связанной темы .Похоже, это версия вещь.Знак = распознается в операторах define только с версии 3.82.

Ответы [ 2 ]

0 голосов
/ 16 декабря 2018

Найдено этой связанной темы .Похоже, это версия вещь.Знак = не распознается в операторах определения для версий до 3.82.

0 голосов
/ 15 декабря 2018

Я почти уверен, что ваша цель test не имеет '\t' до echo $(name).Когда я скопировал и вставил ваш код make-файла, я увидел это, и я не думаю, что это язык уценки, потому что я проверял другие вопросы с помощью make-файлов, и он работал там.

...