我如何在 Makefile 中使用 heredoc?
How do I use heredoc in a Makefile?
如何在 Makefile 中使用 heredoc?
此 Makefile 不起作用:
EXECUTABLE=server
build:
docker build -t $(EXECUTABLE) - << EOF \
FROM scratch \
ADD bin/$(EXECUTABLE) /bin/$(EXECUTABLE) \
CMD ["/bin/$(EXECUTABLE)"] \
EOF
看起来在 Makefile 中使用 heredocs 来检查文件解决了一半的问题:
build: Dockerfile
docker build -t $(EXECUTABLE) .
rm Dockerfile
.ONESHELL:
Dockerfile:
cat <<- EOF > $@
FROM scratch
ADD bin/$(EXECUTABLE) /bin/$(EXECUTABLE)
CMD ["/bin/$(EXECUTABLE)"]
EOF
不过,如果能全部内联就好了。
如何在 Makefile 中使用 heredoc? 此 Makefile 不起作用:
EXECUTABLE=server
build:
docker build -t $(EXECUTABLE) - << EOF \
FROM scratch \
ADD bin/$(EXECUTABLE) /bin/$(EXECUTABLE) \
CMD ["/bin/$(EXECUTABLE)"] \
EOF
看起来在 Makefile 中使用 heredocs 来检查文件解决了一半的问题:
build: Dockerfile
docker build -t $(EXECUTABLE) .
rm Dockerfile
.ONESHELL:
Dockerfile:
cat <<- EOF > $@
FROM scratch
ADD bin/$(EXECUTABLE) /bin/$(EXECUTABLE)
CMD ["/bin/$(EXECUTABLE)"]
EOF
不过,如果能全部内联就好了。