39 lines
1.3 KiB
Makefile
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 -v
|
|
@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
|