# Variables JAVAC = javac JAR = jar SRC_DIR = src BIN_DIR = bin MANIFEST = MANIFEST.MF MAIN_CLASS = com.charpentierbalocchi.dorfjavatik.view.FenetreDemarrage JAR_FILE = DorfJavaTik.jar RESOURCES_DIR = src/com/charpentierbalocchi/dorfjavatik/resources RESOURCES_BIN_DIR = bin/com/charpentierbalocchi/dorfjavatik/resources # Règles .PHONY: all clean jar run all: classes # Compilation des fichiers .class classes: @echo "Compilation des fichiers .java en .class..." @mkdir -p $(BIN_DIR) $(JAVAC) -d $(BIN_DIR) -encoding UTF-8 $(shell find $(SRC_DIR) -name "*.java") @echo "Compilation terminée." # Création du fichier JAR jar: classes @echo "Copie des ressources..." @mkdir -p $(RESOURCES_BIN_DIR) @cp -r $(RESOURCES_DIR)/* $(RESOURCES_BIN_DIR) @echo "Création du fichier JAR..." $(JAR) cfm $(JAR_FILE) $(MANIFEST) -C $(BIN_DIR) . @echo "Fichier JAR créé : $(JAR_FILE)" # Nettoyage des fichiers compilés et du JAR clean: @echo "Nettoyage des fichiers compilés..." @rm -rf $(BIN_DIR)/* @rm -f $(JAR_FILE) @echo "Nettoyage terminé." # Exécution du fichier JAR run: jar @echo "Exécution du fichier JAR..." @java -jar $(JAR_FILE) # Crée le fichier MANIFEST.MF avec la classe principale manifest: @echo "Main-Class: $(MAIN_CLASS)" > $(MANIFEST)