Я думаю, что у вас есть несколько небольших проблем:
define get_file
echo "the parameter is: $1 - this could be the filename passed in"
if [ -a ./Makefile.include ] ; then \
echo "Makefile.include present"; \
else \
curl -o Makefile.include https://www.blah.com/myfile; \
fi
endef
Если многострочным определениям не всегда требуется \
в конце, тогда нужны только отдельные многострочные команды (например, оператор if),Также я думаю, что вам нужно использовать call
, а не value
команду make - так, например, используйте подобное (я добавил пример, где вы можете передать параметр - который вам может не понадобиться / не нужен):
var := $(call get_file,some_parameter)
some_rule:
@echo $(var)