miniITCS/Makefile

86 lines
2.2 KiB
Makefile

.PHONY: help dev build docker-build docker-up docker-down clean
help:
@echo "AdminTemplate - Makefile Commands"
@echo ""
@echo "Development:"
@echo " make dev - Start development servers (backend + frontend)"
@echo " make backend - Start backend only"
@echo " make frontend - Start frontend only"
@echo ""
@echo "Docker:"
@echo " make docker-build - Build Docker images"
@echo " make docker-up - Start Docker containers"
@echo " make docker-up-db - Start with MariaDB"
@echo " make docker-down - Stop Docker containers"
@echo " make docker-logs - View Docker logs"
@echo ""
@echo "Build:"
@echo " make build - Build backend and frontend"
@echo " make build-backend - Build backend binary"
@echo " make build-frontend - Build frontend"
@echo ""
@echo "Maintenance:"
@echo " make clean - Clean build artifacts"
@echo " make init - Initialize project (install deps)"
# Development
dev:
@echo "Starting development servers..."
@make -j2 backend frontend
backend:
@echo "Starting backend..."
cd backend && go run cmd/server/main.go
frontend:
@echo "Starting frontend..."
cd frontend && npm run dev
# Build
build: build-backend build-frontend
build-backend:
@echo "Building backend..."
cd backend && go build -o server cmd/server/main.go
build-frontend:
@echo "Building frontend..."
cd frontend && npm run build
# Docker
docker-build:
@echo "Building Docker images..."
docker-compose build
docker-up:
@echo "Starting Docker containers with SQLite..."
docker-compose up -d
docker-up-db:
@echo "Starting Docker containers with MariaDB..."
docker-compose -f docker-compose.yml -f docker-compose.mariadb.yml up -d
docker-down:
@echo "Stopping Docker containers..."
docker-compose down
docker-logs:
docker-compose logs -f
# Initialize
init:
@echo "Installing backend dependencies..."
cd backend && go mod download
@echo "Installing frontend dependencies..."
cd frontend && npm install
# Clean
clean:
@echo "Cleaning build artifacts..."
rm -f backend/server
rm -rf backend/data
rm -rf frontend/dist
rm -rf frontend/node_modules
@echo "Clean complete!"