PARTS := $(patsubst %/Makefile,%,$(wildcard */Makefile)) .PHONY: env recreate rebuild restart logs down deploy fmt check build pre-deploy post-deploy env: @test -f .env || awk 'FNR == 1 && NR > 1 { print "" } 1' .env.example $(addsuffix /.env.example,$(PARTS)) > .env @for part in $(PARTS); do test -f $$part/docker-compose.override.yml || cp $$part/docker-compose.override.yml.example $$part/docker-compose.override.yml; done recreate: docker compose up -d --force-recreate rebuild: build docker compose up -d restart: docker compose restart logs: docker compose logs -f --tail=100 down: docker compose down deploy: pre-deploy docker compose up -d $(MAKE) post-deploy fmt check build pre-deploy post-deploy: @for part in $(PARTS); do $(MAKE) -C $$part $@ || exit 1; done