Похоже, что просмотр файла с использованием heredocs внутри Makefile решает половину проблемы:
build: Dockerfile
docker build -t $(EXECUTABLE) .
rm Dockerfile
.ONESHELL:
Dockerfile:
cat <<- EOF > $@
FROM scratch
ADD bin/$(EXECUTABLE) /bin/$(EXECUTABLE)
CMD ["/bin/$(EXECUTABLE)"]
EOF
Тем не менее, было бы неплохо, чтобы все это было встроено.