Makefile Reference Run make help to see all targets with descriptions.
Setup Target What it does make setup Full first-time setup: fix-path + install-ef + migrate + seed + mock + backend + smoke make fix-path Adds DOTNET_ROOT to ~/.zshrc make install-ef Installs dotnet-ef 6.0 global tool make check Shows live health of backend, mock API, and database
Build & test Target What it does make build dotnet build — compile the solution make test dotnet test — run all 95 unit tests make smoke Runs scripts/smoke-test.sh — 10 integration assertions against live stack
Database Target What it does make migrate Runs scripts/migrate.sh — applies pending migrations for both contexts make migrate-status Shows applied vs pending migrations make seed Runs scripts/seed-test-data.sh — upserts API_Base_URL + 5 test AWBs make db-shell Opens psql to dms-layered make db-status Shows table row counts + migration summary
Services Target What it does make dev Start mock API + backend (background) + smoke tests make dev-stop Stop backend + mock API make mock Start mock API in background (logs → /tmp/dms-mock.log) make mock-stop pkill -f mock_meesho_server.py make backend Start backend in foreground (Ctrl+C to stop) make backend-bg Start backend in background (logs → /tmp/dms-backend.log); polls health for 30 s make backend-stop pkill -9 -f dotnet.*distribution-management
Logs Target What it does make logs-backend tail -f /tmp/dms-backend.log make logs-mock tail -f /tmp/dms-mock.log
Docker Target What it does make docker-up docker compose up -d --build — build all images + start stack make docker-down docker compose down — stop (preserves DB volume) make docker-clean docker compose down -v — stop + delete DB volume make docker-smoke Smoke tests against Docker stack make docker-logs docker compose logs -f — stream all logs make docker-shell-db docker compose exec postgres psql ...
Environment variables used by Makefile Variable Default Purpose DOTNET $(HOME)/.dotnet/dotnet Path to .NET SDK binary EF $(HOME)/.dotnet/tools/dotnet-ef Path to dotnet-ef tool PG_BIN /Library/PostgreSQL/16/bin Path to PostgreSQL binaries PG_PASS 3edc#EDC PostgreSQL password (local dev only) BACKEND_URL http://localhost:5269 Backend health check URL MOCK_URL http://localhost:5000 Mock API health check URL
The # in the password
3edc#EDC contains a # which starts a comment in Makefiles. The Makefile uses HASH := \# to escape this. If you override PG_PASS, quote the value in shell invocations: make migrate PG_PASS='your#pass'.