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
 |