48 lines
1.2 KiB
Makefile
48 lines
1.2 KiB
Makefile
# 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)
|