MAJ FINALE NORMALEMENT README

This commit is contained in:
sehl
2025-10-26 20:15:06 +01:00
parent b7b9ab0cdc
commit f34ceff95a
+40 -45
View File
@@ -1,61 +1,56 @@
# === Configuration === # === Variables globales ===
SRC_DIR := src/fr/iutfbleau/papillon MAIN_CLASS = fr.iutfbleau.papillon.Start
BUILD_DIR := build BUILD_DIR = build
DOC_DIR := doc SRC_DIR = src/fr/iutfbleau/papillon
SRC_BUILD = fr\iutfbleau\papillon
LIB_DIR := lib LIB_DIR := lib
LIB := $(LIB_DIR)/mariadb LIB := $(LIB_DIR)/mariadb
MAIN_CLASS := fr.iutfbleau.papillon.Start JAR_NAME = papillon.jar
JAR_NAME := papillon.jar
# === Commandes principales === # === Detection de l'OS ===
ifeq ($(OS),Windows_NT)
SEP = ;
RM = del /Q
else
SEP = :
RM = rm -f
endif
# Compilation du projet # === Compilation ===
compile: compile:
@echo === Compilation du projet === @echo === Compilation du projet ===
javac -encoding UTF-8 -cp "$(LIB)" -d $(BUILD_DIR) $(SRC_DIR)/*.java javac -encoding UTF-8 -cp "$(LIB_DIR)$(SEP)$(LIB_DIR)/org/mariadb/jdbc" -d $(BUILD_DIR) $(SRC_DIR)/*.java
@echo Compilation terminee ! @echo Compilation terminee
# Exécution du programme # === Creation du JAR ===
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 jar: compile
@echo === Creation du JAR autonome === @echo === Creation du JAR autonome ===
echo Main-Class: $(MAIN_CLASS) > manifest.txt echo Main-Class: $(MAIN_CLASS) > manifest.txt
jar cfm $(JAR_NAME) manifest.txt -C $(BUILD_DIR) . -C $(LIB_DIR) . jar cfm $(JAR_NAME) manifest.txt -C $(BUILD_DIR) .
@del manifest.txt 2>nul || true @$(RM) manifest.txt 2>nul || true
@echo JAR cree avec succes : $(JAR_NAME) @echo JAR cree avec succes: $(JAR_NAME)
# === Execution multiplateforme ===
# === Exécution du JAR ===
run-jar: run-jar:
@echo === Exécution du JAR === @echo === Execution du JAR ===
java -cp "papillon.jar;lib/mariadb;lib/mariadb/org/mariadb/jdbc" fr.iutfbleau.papillon.Start 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 ===
# Nettoyage du dossier build
clean: clean:
@echo === Nettoyage des fichiers compiles === @echo === Nettoyage des fichiers compiles ===
@rmdir /s /q $(BUILD_DIR) 2>nul || true ifeq ($(OS),Windows_NT)
@mkdir $(BUILD_DIR) $(RM) $(BUILD_DIR)\$(SRC_BUILD)\*.class
@echo Build nettoye. else
$(RM) $(BUILD_DIR)/fr/iutfbleau/papillon/*.class
# Nettoyage complet (build + doc) endif
reset: clean @echo Nettoyage termine
@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