# === Variables globales === MAIN_CLASS = fr.iutfbleau.papillon.Start BUILD_DIR = build SRC_DIR = src/fr/iutfbleau/papillon SRC_BUILD = fr\iutfbleau\papillon LIB_DIR := lib LIB := $(LIB_DIR)/mariadb JAR_NAME = papillon.jar # === Detection de l'OS === ifeq ($(OS),Windows_NT) SEP = ; RM = del /Q else SEP = : RM = rm -f endif # === Compilation === compile: @echo === Compilation du projet === javac -encoding UTF-8 -cp "$(LIB_DIR)$(SEP)$(LIB)/org/mariadb/jdbc" -d $(BUILD_DIR) $(SRC_DIR)/*.java @echo Compilation terminee # Exécution du programme run: compile @echo === Execution du programme === java -cp "$(BUILD_DIR)$(SEP)$(LIB)" $(MAIN_CLASS) # === Creation du JAR === jar: compile @echo === Creation du JAR autonome === echo Main-Class: $(MAIN_CLASS) > manifest.txt jar cfm $(JAR_NAME) manifest.txt -C $(BUILD_DIR) . @$(RM) manifest.txt 2>nul || true @echo JAR cree avec succes: $(JAR_NAME) # === Execution multiplateforme === run-jar: @echo === Execution du JAR === ifeq ($(OS),Windows_NT) java -cp "$(JAR_NAME);$(LIB_DIR);$(LIB_DIR)/mariadb;$(LIB_DIR)/mariadb/org/mariadb/jdbc" $(MAIN_CLASS) else java -cp "$(JAR_NAME):$(LIB_DIR):$(LIB_DIR)/mariadb:$(LIB_DIR)/mariadb/org/mariadb/jdbc" $(MAIN_CLASS) endif # === Generation de la documentation === doc: @echo === Generation de la documentation Javadoc === javadoc -d doc -encoding UTF-8 -cp "$(LIB_DIR)$(SEP)$(LIB_DIR)/org/mariadb/jdbc" $(SRC_DIR)/*.java @echo Documentation generee dans le dossier doc/ # === Nettoyage === clean: @echo === Nettoyage des fichiers compiles === ifeq ($(OS),Windows_NT) $(RM) $(BUILD_DIR)\$(SRC_BUILD)\*.class else $(RM) $(BUILD_DIR)/fr/iutfbleau/papillon/*.class endif @echo Nettoyage termine