# === Configuration === SRC_DIR := src/fr/iutfbleau/papillon BUILD_DIR := build DOC_DIR := doc LIB_DIR := lib LIB := $(LIB_DIR)/mariadb MAIN_CLASS := fr.iutfbleau.papillon.Start # === Commandes principales === # Compilation du projet compile: @echo === Compilation du projet === javac -encoding UTF-8 -cp "$(LIB)" -d $(BUILD_DIR) $(SRC_DIR)/*.java @echo Compilation terminee ! # Exécution du programme run: compile @echo === Execution du programme === java -cp "$(BUILD_DIR);$(LIB)" $(MAIN_CLASS) # Génération de la documentation Javadoc doc: @echo === Generation de la documentation Javadoc === javadoc -d $(DOC_DIR) -encoding UTF-8 -cp "$(LIB)" $(SRC_DIR)/*.java @echo Documentation generee dans le dossier $(DOC_DIR) # === Création du JAR === jar: compile @echo === Creation du fichier JAR === echo Main-Class: $(MAIN_CLASS) > manifest.txt jar cfm $(JAR_FILE) manifest.txt -C $(BUILD_DIR) . @echo Archive JAR creee : $(JAR_FILE) @del manifest.txt 2>nul || true # === Exécution du JAR === run-jar: jar @echo === Execution du JAR === java -cp "$(JAR_FILE);$(LIB)" -jar $(JAR_FILE) # Nettoyage du dossier build clean: @echo === Nettoyage des fichiers compiles === @rmdir /s /q $(BUILD_DIR) 2>nul || true @mkdir $(BUILD_DIR) @echo Build nettoye. # Nettoyage complet (build + doc) reset: clean @echo === Suppression de la documentation === @rmdir /s /q $(DOC_DIR) 2>nul || true @mkdir $(DOC_DIR) @echo Tout a ete nettoye. # Compilation + exécution directe all: compile run