Вы были на правильном пути и правильно присвоили переменную build
. Однако вы не можете просто выполнить команду типа echo
в произвольной строке в makefile
. См. 3.1 Что содержит Makefiles , чтобы понять, как выглядит makefile
.
Ниже показано, что вы можете сделать, например, используя функцию $(info ...)
. В этом случае echo
дополнительно выполняется внутри рецепта, где он используется большую часть времени.
build:=1
ifdef build
$(info build has been defined)
endif
all:
@echo build has the value $(build)
Обратите внимание на использование :=
вместо =
. Хотя в этом примере это не слишком важно, полезно понимать разницу. Вы можете найти объяснение в разделе 6.2 Два варианта переменных .
Если вы хотите научиться пользоваться make
, держите это руководство под своей подушкой. Он полон и читабелен и содержит немало примеров.