83 lines
2.4 KiB
Makefile
83 lines
2.4 KiB
Makefile
# Variables
|
|
BINARY_NAME=FlexDXCluster.exe
|
|
FRONTEND_DIR=frontend
|
|
DIST_DIR=$(FRONTEND_DIR)/dist
|
|
GO_FILES=$(shell find . -name '*.go' -not -path "./$(FRONTEND_DIR)/*")
|
|
|
|
.PHONY: all build frontend backend run clean dev help install-deps
|
|
|
|
# Commande par défaut
|
|
all: build
|
|
|
|
## help: Affiche cette aide
|
|
help:
|
|
@echo "FlexDXCluster - Makefile"
|
|
@echo ""
|
|
@echo "Commandes disponibles:"
|
|
@echo " make build - Build complet (frontend + backend)"
|
|
@echo " make frontend - Build uniquement le frontend"
|
|
@echo " make backend - Build uniquement le backend Go"
|
|
@echo " make run - Build et lance l'application"
|
|
@echo " make dev - Lance le frontend en mode dev"
|
|
@echo " make clean - Nettoie les fichiers générés"
|
|
@echo " make install-deps - Installe toutes les dépendances"
|
|
@echo " make help - Affiche cette aide"
|
|
|
|
## install-deps: Installe les dépendances npm
|
|
install-deps:
|
|
@echo "[1/2] Installation des dependances npm..."
|
|
cd $(FRONTEND_DIR) && npm install
|
|
@echo "Dependances installees"
|
|
@echo ""
|
|
@echo "[2/2] Verification de Go..."
|
|
@go version
|
|
@echo "Go est installe"
|
|
|
|
## frontend: Build le frontend Svelte
|
|
frontend:
|
|
@echo "Building frontend..."
|
|
cd $(FRONTEND_DIR) && npm run build
|
|
@echo "Frontend built successfully"
|
|
|
|
## backend: Build le backend Go
|
|
backend: frontend
|
|
@echo "Building Go binary..."
|
|
go build -ldflags -H=windowsgui .
|
|
@echo "Backend built successfully"
|
|
|
|
## build: Build complet (frontend + backend)
|
|
build: install-deps frontend backend
|
|
@echo ""
|
|
@echo "====================================="
|
|
@echo " BUILD COMPLETE!"
|
|
@echo "====================================="
|
|
@echo ""
|
|
@echo "Run: ./$(BINARY_NAME)"
|
|
@echo ""
|
|
|
|
## run: Build et lance l'application
|
|
run: build
|
|
@echo "Starting FlexDXCluster..."
|
|
@echo ""
|
|
./$(BINARY_NAME)
|
|
|
|
## dev: Lance le frontend en mode développement (hot reload)
|
|
dev:
|
|
@echo "Starting frontend dev server..."
|
|
@echo "Frontend: http://localhost:3000"
|
|
@echo "Backend: http://localhost:8080"
|
|
@echo ""
|
|
cd $(FRONTEND_DIR) && npm run dev
|
|
|
|
## clean: Nettoie les fichiers générés
|
|
clean:
|
|
@echo "Cleaning build files..."
|
|
@if exist $(BINARY_NAME) del /f /q $(BINARY_NAME)
|
|
@if exist $(DIST_DIR) rmdir /s /q $(DIST_DIR)
|
|
@echo "Clean complete"
|
|
|
|
## watch: Build auto lors des changements (nécessite watchexec)
|
|
watch:
|
|
@echo "Watching for changes..."
|
|
@echo "Install watchexec: choco install watchexec"
|
|
watchexec -w . -e go -- make build
|