🔧 nettoyage et fix du projet

This commit is contained in:
2024-06-06 20:26:49 +02:00
parent 91a0b1e536
commit 91906e2afb
5 changed files with 51 additions and 92 deletions

View File

@@ -1,47 +1,36 @@
# 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
JAVAC = javac
JAVA = java
JAVADOC = javadoc
MAIN = com.charpentierbalocchi.dorfjavatik.view.FenetreDemarrage
# Règles
.PHONY: all clean jar run
# Compilation flags
JFLAGS = -d $(BIN_DIR) -sourcepath $(SRC_DIR)
all: classes
# Default rule
all: compile
# Compilation des fichiers .class
classes:
@echo "Compilation des fichiers .java en .class..."
# Rule to compile the java files
compile:
@echo "Compiling Java source files..."
@mkdir -p $(BIN_DIR)
$(JAVAC) -d $(BIN_DIR) -encoding UTF-8 $(shell find $(SRC_DIR) -name "*.java")
@echo "Compilation terminée."
@$(JAVAC) $(JFLAGS) $(SRC_DIR)/com/charpentierbalocchi/dorfjavatik/**/*.java
# 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)"
# Rule to run the application
run: compile
@echo "Running the application..."
@$(JAVA) -cp $(BIN_DIR) $(MAIN)
# Nettoyage des fichiers compilés et du JAR
# Rule to generate Javadoc
javadoc:
@echo "Generating Javadoc..."
@$(JAVADOC) -d $(BIN_DIR)/docs -sourcepath $(SRC_DIR) -subpackages com.charpentierbalocchi.dorfjavatik
# Rule to clean the project
clean:
@echo "Nettoyage des fichiers compilés..."
@rm -rf $(BIN_DIR)/*
@rm -f $(JAR_FILE)
@echo "Nettoyage terminé."
@echo "Cleaning up..."
@rm -rf $(BIN_DIR)
# 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)
.PHONY: all compile run javadoc clean