Подтвердить что ты не робот

Печать переменной из Makefile

У меня есть следующий код в моем make файле:

S_RES=$(shell cat output)

echo -e "Serial result = \t" $(S_RES)

В принципе, я хочу сохранить вывод команды оболочки cat output в переменной S_RES, а затем повторить эту переменную на экране (с некоторым пояснительным текстом перед ним). Я также хочу иметь возможность использовать эту переменную позже в моей программе. Я думал, что я выполнил инструкции, заданные в различных вопросах StackOverflow, но, похоже, не работает.

4b9b3361

Ответ 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