У меня Makefile определен свободно следующим образом:
pre_build:
cp build/Dockerfile .
post_build:
echo "complete"
rm Dockerfile
build_docker:
echo "do something with the Dockerfile"
build: pre_build build_docker post_build
Но моя сборка всегда дает сбой, жалуясь на то, что Dockerfile
не может быть найдено. Тем не менее, фактическая pre_build и фактическая копия Dockerfile работает. И если я удаляю часть post_build, после завершения сборки я могу увидеть Dockerfile в директории. У меня всегда было впечатление, что в цепочечных целях Makefile порядок поддерживается. Но похоже, что происходит нечто странное с порядком неявных параллельных сборок для целей.
Я пробовал несколько способов навести порядок, но ничего не получалось.
upd: я пробовал в Mac и Linux, такое же поведение