.PHONY: check build prod-build publish build: $(MAKE) -C evening_detective_server build-linux npm --prefix evening_detective_frontend run build prod-build: rm -rf prod/backend prod/frontend/dist prod/migrations mkdir -p prod/backend prod/frontend/dist prod/migrations $(MAKE) -C evening_detective_server build-linux cp evening_detective_server/bin/evening_detective_server prod/backend/evening_detective_server rm -rf evening_detective_server/bin npm --prefix evening_detective_frontend run build cp -R evening_detective_frontend/dist/. prod/frontend/dist/ rm -rf evening_detective_frontend/dist cp evening_detective_server/migrations/*.sql prod/migrations/ publish: @test -n "$(MSG)" || (echo 'Usage: make publish MSG="commit message"' >&2; exit 1) @$(MAKE) build @set -e; \ for repo in . evening_detective_server evening_detective_frontend; do \ git -C "$$repo" add -A; \ if git -C "$$repo" diff --cached --quiet; then \ echo "$$repo: no changes"; \ continue; \ fi; \ git -C "$$repo" commit -m "$(MSG)"; \ git -C "$$repo" push; \ done check: $(MAKE) -C evening_detective_server test npm --prefix evening_detective_frontend run type-check npm --prefix evening_detective_frontend run lint npm --prefix evening_detective_frontend run lint:css