# Définition des variables JC = javac JVM = java JCFLAGS = -d build -classpath "libs/mariadb-client.jar" -sourcepath src -encoding UTF-8 JVMFLAGS = -classpath ".:libs/mariadb-client.jar:build" JARNAME = dorfromantik.jar ENTRY = fr.monkhanny.dorfromantik.Main PACKAGE = build/fr/monkhanny/dorfromantik SRC = src/fr/monkhanny/dorfromantik # Compilation des fichiers .java ${PACKAGE}/Main.class: ${SRC}/Main.java ${JC} ${JCFLAGS} ${SRC}/Main.java ${PACKAGE}/Options.class: ${SRC}/Options.java ${JC} ${JCFLAGS} ${SRC}/Options.java # Compilation des composants ${PACKAGE}/components/Button.class: ${SRC}/components/Button.java ${JC} ${JCFLAGS} ${SRC}/components/Button.java ${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: ${JVM} ${JVMFLAGS} ${ENTRY} clean: @echo "Nettoyage de build et doc" rm -rf build rm -rf doc # Génération du fichier .jar jar: @echo "Création du fichier .jar" jar cvfm ${JARNAME} Manifest.MF -C build/ . -C libs/ . # 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