Dernières modifications

This commit is contained in:
2024-12-10 19:06:03 +01:00
parent 86ee892770
commit 8b2a3375cb

116
Makefile
View File

@@ -1,42 +1,94 @@
PACKAGE = fr.monkhanny.dorfromantik # Définition des variables
ENTRY = Main JC = javac
SOURCEDIR = ./src/fr/monkhanny/dorfromantik/ JVM = java
BUILDDIR = ./build/ JCFLAGS = -d build -classpath "libs/mariadb-client.jar" -sourcepath src -encoding UTF-8
DOCDIR = ./doc/ JVMFLAGS = -classpath ".:libs/mariadb-client.jar:build"
JARNAME = dorfromantik.jar JARNAME = dorfromantik.jar
CLASSP = ./libs/*:$(BUILDDIR) ENTRY = fr.monkhanny.dorfromantik.Main
MANIFESTPATH = Manifest.MF PACKAGE = build/fr/monkhanny/dorfromantik
SOURCEDIR = ./src/ SRC = src/fr/monkhanny/dorfromantik
SOURCES := $(shell find $(SOURCEDIR) -name '*.java') # Compilation des fichiers .java
${PACKAGE}/Main.class: ${SRC}/Main.java
${JC} ${JCFLAGS} ${SRC}/Main.java
all: ${PACKAGE}/Options.class: ${SRC}/Options.java
@make clean ${JC} ${JCFLAGS} ${SRC}/Options.java
@make compile
@make jar
@make run
compile: # Compilation des composants
@echo "Compiling..." ${PACKAGE}/components/Button.class: ${SRC}/components/Button.java
@javac -cp $(CLASSP) -d $(BUILDDIR) $(SOURCES) -Xlint:unchecked -Xlint:deprecation ${JC} ${JCFLAGS} ${SRC}/components/Button.java
@echo "Done."
${PACKAGE}/components/Title.class: ${SRC}/components/Title.java
${JC} ${JCFLAGS} ${SRC}/components/Title.java
# Compilation des contrôleurs
${PACKAGE}/controller/ButtonHoverAnimationListener.class: ${SRC}/controller/ButtonHoverAnimationListener.java
${JC} ${JCFLAGS} ${SRC}/controller/ButtonHoverAnimationListener.java
${PACKAGE}/controller/GameModeController.class: ${SRC}/controller/GameModeController.java
${JC} ${JCFLAGS} ${SRC}/controller/GameModeController.java
# Compilation des énumérations
${PACKAGE}/enums/Biome.class: ${SRC}/enums/Biome.java
${JC} ${JCFLAGS} ${SRC}/enums/Biome.java
${PACKAGE}/enums/Fonts.class: ${SRC}/enums/Fonts.java
${JC} ${JCFLAGS} ${SRC}/enums/Fonts.java
# Compilation des classes liées au jeu
${PACKAGE}/game/BarChartPanel.class: ${SRC}/game/BarChartPanel.java
${JC} ${JCFLAGS} ${SRC}/game/BarChartPanel.java
${PACKAGE}/game/Board.class: ${SRC}/game/Board.java
${JC} ${JCFLAGS} ${SRC}/game/Board.java
${PACKAGE}/game/Game.class: ${SRC}/game/Game.java
${JC} ${JCFLAGS} ${SRC}/game/Game.java
# Compilation des interfaces graphiques
${PACKAGE}/gui/ButtonPanel.class: ${SRC}/gui/ButtonPanel.java
${JC} ${JCFLAGS} ${SRC}/gui/ButtonPanel.java
${PACKAGE}/gui/Leaderboard.class: ${SRC}/gui/Leaderboard.java
${JC} ${JCFLAGS} ${SRC}/gui/Leaderboard.java
# Compilation des listeners
${PACKAGE}/listeners/CloseButtonListener.class: ${SRC}/listeners/CloseButtonListener.java
${JC} ${JCFLAGS} ${SRC}/listeners/CloseButtonListener.java
${PACKAGE}/listeners/GameArrowKeyListener.class: ${SRC}/listeners/GameArrowKeyListener.java
${JC} ${JCFLAGS} ${SRC}/listeners/GameArrowKeyListener.java
# Compilation des utils
${PACKAGE}/utils/Database.class: ${SRC}/utils/Database.java
${JC} ${JCFLAGS} ${SRC}/utils/Database.java
${PACKAGE}/utils/FontLoader.class: ${SRC}/utils/FontLoader.java
${JC} ${JCFLAGS} ${SRC}/utils/FontLoader.java
# Cibles supplémentaires
run: run:
@echo "Running..." ${JVM} ${JVMFLAGS} ${ENTRY}
@java -cp $(CLASSP):$(JARNAME) fr.monkhanny.dorfromantik.Main
@echo "Done."
clean: clean:
@echo "Cleaning up..." @echo "Nettoyage de build et doc"
@rm -rf $(BUILDDIR)* $(DOCDIR)* rm -rf build
@echo "Done." rm -rf doc
javadoc:
@echo "Generating javadoc..."
@javadoc -d $(DOCDIR) -sourcepath src -subpackages $(PACKAGE)
@echo "Done."
# Génération du fichier .jar
jar: jar:
@echo "Creating jar..." @echo "Création du fichier .jar"
@jar cfm $(JARNAME) $(MANIFESTPATH) -C $(BUILDDIR) fr/monkhanny/dorfromantik ressources jar cvfm ${JARNAME} Manifest.MF -C build/ . -C libs/ .
@echo "Done."
# Extraction des fichiers MariaDB
extract-mariadb:
rm -rf build/org
unzip -qo libs/mariadb-client.jar -d build
rm -rf build/Version.java.template
rm -rf build/META-INF
# Documentation JavaDoc
javadoc:
@echo "Génération de la documentation JavaDoc"
javadoc -d doc -sourcepath src -subpackages fr.monkhanny.dorfromantik -classpath libs/mariadb-client.jar