Как мне использовать heredoc в Makefile? - PullRequest
0 голосов
/ 17 мая 2018

Как мне использовать heredoc в Makefile?Этот Makefile не работает:

EXECUTABLE=server

build: 
     docker build -t $(EXECUTABLE) - << EOF \
         FROM scratch \
         ADD bin/$(EXECUTABLE) /bin/$(EXECUTABLE) \
         CMD ["/bin/$(EXECUTABLE)"] \
     EOF

1 Ответ

0 голосов
/ 19 мая 2018

Похоже, что просмотр файла с использованием 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

Тем не менее, было бы неплохо, чтобы все это было встроено.

...