Печать переменной из Makefile
У меня есть следующий код в моем make файле:
S_RES=$(shell cat output)
echo -e "Serial result = \t" $(S_RES)
В принципе, я хочу сохранить вывод команды оболочки cat output
в переменной S_RES, а затем повторить эту переменную на экране (с некоторым пояснительным текстом перед ним). Я также хочу иметь возможность использовать эту переменную позже в моей программе. Я думал, что я выполнил инструкции, заданные в различных вопросах StackOverflow, но, похоже, не работает.
Ответы
Ответ 1
Если разрешено простое пространство вместо escape-последовательности \t
, а ваш make
GNU make
3,81 или выше, $(info)
доступно.
Например:
$(info Serial result = $(S_RES))
Если ваша версия make
равна 3,80 или ниже, $(warning)
может соответствовать
цель. Однако warning
также печатает номер строки и т.д.
EDIT:
Для вашей информации следующие выходные файлы makefile abc
на моем GNU составляют 3,81.
A := $(shell echo abc)
$(info $(A))
Ответ 2
только боковое примечание
это оценивает время использования, это столько раз, сколько используется $(A)
A = something
это оценивается во время разбора, поэтому значение оценивается один раз
A := something