# Build targets for comail. # # Most of the project still builds via `go build` + the existing # Gitea workflow steps. This Makefile exists to give Phase 1 of the # comail rewrite a single entrypoint for the Astro frontend so the # CI workflow and local devs agree on the build steps. .PHONY: frontend frontend-deps frontend-clean # Install Astro dependencies. `npm ci` is preferred when a lockfile # exists; we fall back to `npm install` so a fresh checkout that # hasn't generated the lockfile yet still works. frontend-deps: cd web-frontend && \ if [ -f package-lock.json ]; then npm ci; else npm install; fi # Build the static dist tree. Output lands in web-frontend/dist/ and # is served by cmd/web/static_handler.go. frontend: frontend-deps cd web-frontend && npm run build frontend-clean: rm -rf web-frontend/dist web-frontend/node_modules web-frontend/.astro