# === Répertoires ===
SRC_DIR = fr
BIN_DIR = bin

# === Répertoires des ressources ===
RES_SRC = fr/iut_fbleau/Res
RES_BIN = bin/fr/iut_fbleau/Res

# === Recherche automatique des fichiers .java dans tous les sous-dossiers ===
SOURCES := $(shell find $(SRC_DIR) -name "*.java")

# === Classe principale ===
MAIN_CLASS = fr.iut_fbleau.Avalam.Main

# === Commandes Java ===
JC = javac
JCFLAGS = -d $(BIN_DIR)

JAVA = java
JAVAFLAGS = -cp $(BIN_DIR)

# === Règle par défaut ===
all: build

# === Compilation ===
build: compile resources
	@echo "✔ Compilation terminée."

compile:
	@echo "===> Compilation du projet Avalam..."
	@mkdir -p $(BIN_DIR)
	@$(JC) $(JCFLAGS) $(SOURCES)

# === Copie des ressources (.txt) dans bin ===
resources:
	@echo "===> Copie des ressources..."
	@mkdir -p $(RES_BIN)
	@cp $(RES_SRC)/* $(RES_BIN)/
	@echo "✔ Ressources copiées."

# === Exécution ===
run:
	@echo "===> Lancement du jeu Avalam..."
	@$(JAVA) $(JAVAFLAGS) $(MAIN_CLASS)

# === Nettoyage ===
clean:
	@echo "===> Suppression des fichiers compilés..."
	@rm -rf $(BIN_DIR)
	@echo "✔ Nettoyage complet."

# === Recompile + run ===
re: clean build run

# === Génération de la Javadoc ===
DOC_DIR = doc
javadoc:
	@echo "===> Génération de la Javadoc..."
	@mkdir -p $(DOC_DIR)
	@javadoc -d $(DOC_DIR) -sourcepath $(SRC_DIR) -subpackages fr.iut_fbleau.Avalam
	@echo "✔ Javadoc générée dans $(DOC_DIR)/"
