# === Global variables === 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 DOC_DIR = doc # === OS detection === ifeq ($(OS),Windows_NT) SEP = ; RM = del /Q RMDIR = rmdir /S /Q else SEP = : RM = rm -f RMDIR = rm -rf endif # === Compilation === compile: @echo === Compilation du projet === javac -encoding UTF-8 -cp "$(LIB_DIR)$(SEP)$(LIB_DIR)/org/mariadb/jdbc" -d $(BUILD_DIR) $(SRC_DIR)/*.java @echo Compilation terminee # === Run the program === run: @echo === Execution du programme === ifeq ($(OS),Windows_NT) java -cp "$(BUILD_DIR);$(LIB_DIR);$(LIB_DIR)/mariadb;$(LIB_DIR)/mariadb/org/mariadb/jdbc" $(MAIN_CLASS) else java -cp "$(BUILD_DIR):$(LIB_DIR):$(LIB_DIR)/mariadb:$(LIB_DIR)/mariadb/org/mariadb/jdbc" $(MAIN_CLASS) endif # === Create 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) # === Run from JAR === 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