Files
BoostAI/Makefile
MangoPig 0fdec18a15 Initial
2026-05-10 16:47:34 +01:00

39 lines
1.3 KiB
Makefile

SHELL := /bin/bash
.DEFAULT_GOAL := help
.PHONY: help guard-dev-tag down dev dev-build dev-up
FRONTEND_DIR := Frontend
FRONTEND_DIST_DIR := $(FRONTEND_DIR)/dist
BACKEND_DIR := Backend
BACKEND_TMP_DIR := $(BACKEND_DIR)/tmp
EARTHLY ?= earthly
COMPOSE ?= docker compose
help: ## Show this help message
@echo "Usage: make [target]"
@echo ""
@echo "Available targets:"
@awk 'BEGIN {FS = ":.*## "}; /^[a-zA-Z0-9_.-]+:.*## / {printf " %-12s %s\n", $$1, $$2}' $(MAKEFILE_LIST)
guard-dev-tag:
@if [ -z "$(DEV_TAG)" ]; then \
echo "Error: DEV_TAG is not set. Please provide a tag for the development image."; \
exit 1; \
fi
down: ## Stop all servers and clean up temporary files
@DEV_TAG=$${DEV_TAG:-dummy} $(COMPOSE) -f docker-compose.dev.yaml down --remove-orphans
@rm -rf "$(BACKEND_TMP_DIR)" "$(FRONTEND_DIST_DIR)"
dev: guard-dev-tag ## Start the development server
@$(MAKE) dev-build DEV_TAG=$(DEV_TAG)
@$(MAKE) dev-up DEV_TAG=$(DEV_TAG)
dev-build: guard-dev-tag ## Build the development image for the frontend
@cd "$(FRONTEND_DIR)" && $(EARTHLY) +dev-image --REGISTRY="registry.mangopig.tech" --IMAGE_NAME="boost-ai/demo-frontend-dev" --TAG=$(DEV_TAG)
dev-up: guard-dev-tag ## Start the development server using docker compose
@DEV_TAG=$(DEV_TAG) $(COMPOSE) -f docker-compose.dev.yaml up -d --remove-orphans --force-recreate