# Définition des variables JC = javac JVM = java JCFLAGS = -d build -classpath "libs/mariadb-client.jar:build" -sourcepath src 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 ${PACKAGE}/listeners/GameModeFilterButtonActionListener.class ${PACKAGE}/listeners/GameMainMenuButtonListener.class ${PACKAGE}/controller/GameModeController.class: ${SRC}/Main.java ${SRC}/listeners/GameModeFilterButtonActionListener.java ${SRC}/listeners/GameMainMenuButtonListener.java ${SRC}/controller/GameModeController.java ${PACKAGE}/Options.class ${PACKAGE}/utils/MusicPlayer.class ${PACKAGE}/controller/MainMenuResizeController.class ${PACKAGE}/controller/MainMenuButtonController.class ${PACKAGE}/enums/Musics.class ${PACKAGE}/listeners/CloseWindowListener.class ${PACKAGE}/gui/SettingsPanel.class ${PACKAGE}/controller/TutorialController.class ${PACKAGE}/gui/GameModeSelectionPanel.class ${PACKAGE}/utils/Database.class ${PACKAGE}/game/Board.class ${PACKAGE}/gui/MainMenu.class ${PACKAGE}/gui/GameModeSelectionPanel.class ${JC} ${JCFLAGS} ${SRC}/Main.java ${SRC}/listeners/GameModeFilterButtonActionListener.java ${SRC}/listeners/GameMainMenuButtonListener.java ${SRC}/controller/GameModeController.java ${PACKAGE}/Options.class ${PACKAGE}/gui/MainMenu.class ${PACKAGE}/controller/MainMenuMouseController.class ${PACKAGE}/gui/ButtonPanel.class ${PACKAGE}/gui/ButtonHoverAnimator.class ${PACKAGE}/controller/ButtonHoverAnimationListener.class ${PACKAGE}/utils/MusicPlayer.class ${PACKAGE}/controller/ButtonHoverListener.class: ${SRC}/Options.java ${SRC}/gui/MainMenu.java ${SRC}/controller/MainMenuMouseController.java ${SRC}/gui/ButtonPanel.java ${SRC}/gui/ButtonHoverAnimator.java ${SRC}/controller/ButtonHoverAnimationListener.java ${SRC}/utils/MusicPlayer.java ${SRC}/controller/ButtonHoverListener.java ${PACKAGE}/utils/FontManager.class ${PACKAGE}/utils/ImageLoader.class ${PACKAGE}/enums/Fonts.class ${PACKAGE}/components/Title.class ${PACKAGE}/gui/Leaderboard.class ${PACKAGE}/gui/LeaderboardWorldWide.class ${PACKAGE}/components/Button.class ${PACKAGE}/enums/Musics.class ${PACKAGE}/enums/Sounds.class ${PACKAGE}/utils/SoundLoader.class ${JC} ${JCFLAGS} ${SRC}/Options.java ${SRC}/gui/MainMenu.java ${SRC}/controller/MainMenuMouseController.java ${SRC}/gui/ButtonPanel.java ${SRC}/gui/ButtonHoverAnimator.java ${SRC}/controller/ButtonHoverAnimationListener.java ${SRC}/utils/MusicPlayer.java ${SRC}/controller/ButtonHoverListener.java ################################ # Compilation des composants ${PACKAGE}/components/Button.class: ${SRC}/components/Button.java ${PACKAGE}/utils/FontManager.class ${JC} ${JCFLAGS} ${SRC}/components/Button.java ${PACKAGE}/components/Title.class: ${SRC}/components/Title.java ${PACKAGE}/utils/FontManager.class ${JC} ${JCFLAGS} ${SRC}/components/Title.java ################################ # -----------------------------# ################################ # Compilation des enums ${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 ${PACKAGE}/enums/Images.class: ${SRC}/enums/Images.java ${JC} ${JCFLAGS} ${SRC}/enums/Images.java ${PACKAGE}/enums/Musics.class: ${SRC}/enums/Musics.java ${JC} ${JCFLAGS} ${SRC}/enums/Musics.java ${PACKAGE}/enums/Sounds.class: ${SRC}/enums/Sounds.java ${JC} ${JCFLAGS} ${SRC}/enums/Sounds.java ${PACKAGE}/enums/TileOrientation.class: ${SRC}/enums/TileOrientation.java ${JC} ${JCFLAGS} ${SRC}/enums/TileOrientation.java ################################ # -----------------------------# ################################ # Compilation des utilitaires ${PACKAGE}/utils/SoundLoader.class: ${SRC}/utils/SoundLoader.java ${JC} ${JCFLAGS} ${SRC}/utils/SoundLoader.java ${PACKAGE}/utils/PlayerScore.class: ${SRC}/utils/PlayerScore.java ${JC} ${JCFLAGS} ${SRC}/utils/PlayerScore.java ${PACKAGE}/utils/ImageLoader.class: ${SRC}/utils/ImageLoader.java ${JC} ${JCFLAGS} ${SRC}/utils/ImageLoader.java ${PACKAGE}/utils/Hexagon.class: ${SRC}/utils/Hexagon.java ${JC} ${JCFLAGS} ${SRC}/utils/Hexagon.java ${PACKAGE}/utils/FontManager.class: ${SRC}/utils/FontManager.java ${PACKAGE}/enums/Fonts.class ${PACKAGE}/utils/FontLoader.class ${JC} ${JCFLAGS} ${SRC}/utils/FontManager.java ${PACKAGE}/utils/FontLoader.class: ${SRC}/utils/FontLoader.java ${PACKAGE}/enums/Fonts.class ${JC} ${JCFLAGS} ${SRC}/utils/FontLoader.java ${PACKAGE}/utils/Database.class: ${SRC}/utils/Database.java ${PACKAGE}/utils/PlayerScore.class ${JC} ${JCFLAGS} ${SRC}/utils/Database.java ################################ # -----------------------------# ################################ # Compilation des listeners ${PACKAGE}/listeners/TutorialButtonHoverListener.class: ${SRC}/listeners/TutorialButtonHoverListener.java ${JC} ${JCFLAGS} ${SRC}/listeners/TutorialButtonHoverListener.java ${PACKAGE}/listeners/TilePanningActionListener.class: ${SRC}/listeners/TilePanningActionListener.java ${PACKAGE}/game/Board.class ${JC} ${JCFLAGS} ${SRC}/listeners/TilePanningActionListener.java ${PACKAGE}/listeners/SoundsVolumeChangeListener.class: ${SRC}/listeners/SoundsVolumeChangeListener.java ${PACKAGE}/utils/MusicPlayer.class ${PACKAGE}/Options.class ${JC} ${JCFLAGS} ${SRC}/listeners/SoundsVolumeChangeListener.java ${PACKAGE}/listeners/MuteCheckBoxListener.class: ${SRC}/listeners/MuteCheckBoxListener.java ${PACKAGE}/utils/MusicPlayer.class ${PACKAGE}/Options.class ${JC} ${JCFLAGS} ${SRC}/listeners/MuteCheckBoxListener.java ${PACKAGE}/listeners/MusicVolumeChangeListener.class: ${SRC}/listeners/MusicVolumeChangeListener.java ${PACKAGE}/utils/MusicPlayer.class ${PACKAGE}/Options.class ${JC} ${JCFLAGS} ${SRC}/listeners/MusicVolumeChangeListener.java ${PACKAGE}/listeners/GameSettingsWindowListener.class: ${SRC}/listeners/GameSettingsWindowListener.java ${JC} ${JCFLAGS} ${SRC}/listeners/GameSettingsWindowListener.java ${PACKAGE}/listeners/GameSettingsButtonListener.class: ${SRC}/listeners/GameSettingsButtonListener.java ${PACKAGE}/Options.class ${PACKAGE}/game/EscapeMenu.class ${PACKAGE}/gui/SettingsPanel.class ${JC} ${JCFLAGS} ${SRC}/listeners/GameSettingsButtonListener.java ${PACKAGE}/listeners/GameResumeButtonListener.class: ${SRC}/listeners/GameResumeButtonListener.java ${PACKAGE}/Options.class ${PACKAGE}/game/EscapeMenu.class ${JC} ${JCFLAGS} ${SRC}/listeners/GameResumeButtonListener.java ${PACKAGE}/listeners/GameQuitButtonListener.class: ${SRC}/listeners/GameQuitButtonListener.java ${JC} ${JCFLAGS} ${SRC}/listeners/GameQuitButtonListener.java ${PACKAGE}/listeners/GameModePrevButtonActionListener.class: ${SRC}/listeners/GameModePrevButtonActionListener.java ${PACKAGE}/gui/GameModeSelectionPanel.class ${JC} ${JCFLAGS} ${SRC}/listeners/GameModePrevButtonActionListener.java ${PACKAGE}/listeners/GameModeNextButtonActionListener.class: ${SRC}/listeners/GameModeNextButtonActionListener.java ${PACKAGE}/gui/GameModeSelectionPanel.class ${JC} ${JCFLAGS} ${SRC}/listeners/GameModeNextButtonActionListener.java ${PACKAGE}/listeners/GameModeHoverEffectMouseListener.class: ${SRC}/listeners/GameModeHoverEffectMouseListener.java ${PACKAGE}/enums/Sounds.class ${PACKAGE}/utils/MusicPlayer.class ${JC} ${JCFLAGS} ${SRC}/listeners/GameModeHoverEffectMouseListener.java ${PACKAGE}/listeners/EscapeMenuCloseListener.class: ${SRC}/listeners/EscapeMenuCloseListener.java ${PACKAGE}/Options.class ${JC} ${JCFLAGS} ${SRC}/listeners/EscapeMenuCloseListener.java ${PACKAGE}/listeners/CloseWindowListener.class: ${SRC}/listeners/CloseWindowListener.java ${PACKAGE}/gui/MainMenu.class ${JC} ${JCFLAGS} ${SRC}/listeners/CloseWindowListener.java ${PACKAGE}/listeners/CloseButtonListener.class: ${SRC}/listeners/CloseButtonListener.java ${PACKAGE}/gui/MainMenu.class ${JC} ${JCFLAGS} ${SRC}/listeners/CloseButtonListener.java ################################ # -----------------------------# ################################ # Compilation des GUI ${PACKAGE}/gui/TutorialPanel.class: ${SRC}/gui/TutorialPanel.java ${PACKAGE}/components/Title.class ${PACKAGE}/listeners/CloseButtonListener.class ${PACKAGE}/listeners/TutorialButtonHoverListener.class ${PACKAGE}/enums/Images.class ${PACKAGE}/gui/Step.class ${JC} ${JCFLAGS} ${SRC}/gui/TutorialPanel.java ${PACKAGE}/gui/Step.class: ${SRC}/gui/Step.java ${JC} ${JCFLAGS} ${SRC}/gui/Step.java ${PACKAGE}/gui/SettingsPanel.class: ${SRC}/gui/SettingsPanel.java ${PACKAGE}/enums/Images.class ${PACKAGE}/components/Title.class ${PACKAGE}/Options.class ${PACKAGE}/listeners/MusicVolumeChangeListener.class ${PACKAGE}/listeners/SoundsVolumeChangeListener.class ${PACKAGE}/listeners/MuteCheckBoxListener.class ${PACKAGE}/listeners/CloseButtonListener.class ${JC} ${JCFLAGS} ${SRC}/gui/SettingsPanel.java ${PACKAGE}/gui/Reward.class: ${SRC}/gui/Reward.java ${JC} ${JCFLAGS} ${SRC}/gui/Reward.java ${PACKAGE}/gui/LeaderboardWorldWide.class: ${SRC}/gui/LeaderboardWorldWide.java ${PACKAGE}/utils/Database.class ${PACKAGE}/utils/PlayerScore.class ${PACKAGE}/gui/Leaderboard.class ${JC} ${JCFLAGS} ${SRC}/gui/LeaderboardWorldWide.java ${PACKAGE}/gui/LeaderboardByTier.class: ${SRC}/gui/LeaderboardByTier.java ${PACKAGE}/gui/Leaderboard.class ${JC} ${JCFLAGS} ${SRC}/gui/LeaderboardByTier.java ${PACKAGE}/gui/LeaderboardBarChartPanel.class: ${SRC}/gui/LeaderboardBarChartPanel.java ${JC} ${JCFLAGS} ${SRC}/gui/LeaderboardBarChartPanel.java ${PACKAGE}/gui/Leaderboard.class: ${SRC}/gui/Leaderboard.java ${JC} ${JCFLAGS} ${SRC}/gui/Leaderboard.java ${PACKAGE}/gui/GameOver.class: ${SRC}/gui/GameOver.java ${PACKAGE}/utils/Database.class ${PACKAGE}/listeners/GameMainMenuButtonListener.class ${PACKAGE}/Options.class ${PACKAGE}/enums/Fonts.class ${PACKAGE}/gui/MainMenu.class ${PACKAGE}/gui/BarChartPanel.class ${PACKAGE}/listeners/GameMainMenuButtonListener.class ${JC} ${JCFLAGS} ${SRC}/gui/GameOver.java ${PACKAGE}/gui/GameModeSelectionPanel.class: ${SRC}/gui/GameModeSelectionPanel.java ${PACKAGE}/components/Title.class ${PACKAGE}/listeners/CloseButtonListener.class ${PACKAGE}/listeners/GameModeFilterButtonActionListener.class ${PACKAGE}/listeners/GameModeHoverEffectMouseListener.class ${PACKAGE}/listeners/GameModeNextButtonActionListener.class ${PACKAGE}/listeners/GameModePrevButtonActionListener.class ${PACKAGE}/utils/Database.class ${PACKAGE}/gui/MainMenu.class ${JC} ${JCFLAGS} ${SRC}/gui/GameModeSelectionPanel.java ${PACKAGE}/gui/GameControlsMenu.class: ${SRC}/gui/GameControlsMenu.java ${JC} ${JCFLAGS} ${SRC}/gui/GameControlsMenu.java ${PACKAGE}/gui/BarChartPanel.class: ${SRC}/gui/BarChartPanel.java ${JC} ${JCFLAGS} ${SRC}/gui/BarChartPanel.java ################################ # -----------------------------# ################################ # Compilation des game ${PACKAGE}/game/TilePanningTransition.class: ${SRC}/game/TilePanningTransition.java ${PACKAGE}/listeners/TilePanningActionListener.class ${PACKAGE}/game/Board.class ${JC} ${JCFLAGS} ${SRC}/game/TilePanningTransition.java ${PACKAGE}/listeners/GameMouseClickListener.class ${PACKAGE}/listeners/GameMouseWheelListener.class ${SRC}/listeners/GameSpaceKeyListener.class ${SRC}/listeners/GameArrowKeyListener.java ${SRC}/listeners/GameZoomListener.java ${PACKAGE}/game/ScoreManager.class ${PACKAGE}/game/Tile.class ${PACKAGE}/utils/HexagonDrawer.class ${PACKAGE}/game/Pocket.class ${PACKAGE}/game/Board.class ${PACKAGE}/game/Cell.class: ${SRC}/listeners/GameMouseClickListener.java ${SRC}/listeners/GameMouseWheelListener.java ${SRC}/listeners/GameSpaceKeyListener.java ${SRC}/listeners/GameArrowKeyListener.java ${SRC}/listeners/GameZoomListener.java ${SRC}/game/ScoreManager.java ${SRC}/game/Tile.java ${SRC}/utils/HexagonDrawer.java ${SRC}/game/Pocket.java ${SRC}/game/Board.java ${SRC}/game/Cell.java ${PACKAGE}/enums/Biome.class ${PACKAGE}/enums/TileOrientation.class ${PACKAGE}/utils/Hexagon.class ${PACKAGE}/game/Game.class ${PACKAGE}/utils/Database.class ${PACKAGE}/game/RemainingTilesIndicator.class ${PACKAGE}/gui/GameControlsMenu.class ${PACKAGE}/game/ScoreDisplay.class ${PACKAGE}/Options.class ${PACKAGE}/enums/Fonts.class ${PACKAGE}/gui/GameOver.class ${JC} ${JCFLAGS} ${SRC}/listeners/GameMouseClickListener.java ${SRC}/listeners/GameMouseWheelListener.java ${SRC}/listeners/GameSpaceKeyListener.java ${SRC}/listeners/GameArrowKeyListener.java ${SRC}/listeners/GameZoomListener.java ${SRC}/game/ScoreManager.java ${SRC}/game/Tile.java ${SRC}/utils/HexagonDrawer.java ${SRC}/game/Pocket.java ${SRC}/game/Board.java ${SRC}/game/Cell.java ${PACKAGE}/game/ScoreDisplay.class: ${SRC}/game/ScoreDisplay.java ${JC} ${JCFLAGS} ${SRC}/game/ScoreDisplay.java ${PACKAGE}/game/RemainingTilesIndicator.class: ${SRC}/game/RemainingTilesIndicator.java ${JC} ${JCFLAGS} ${SRC}/game/RemainingTilesIndicator.java ${PACKAGE}/game/PauseGame.class: ${SRC}/game/PauseGame.java ${PACKAGE}/Options.class ${PACKAGE}/listeners/EscapeMenuCloseListener.class ${PACKAGE}/listeners/GameQuitButtonListener.class ${PACKAGE}/listeners/GameResumeButtonListener.class ${PACKAGE}/listeners/GameSettingsButtonListener.class ${PACKAGE}/game/EscapeMenu.class ${JC} ${JCFLAGS} ${SRC}/game/PauseGame.java ${PACKAGE}/game/Game.class: ${SRC}/game/Game.java ${JC} ${JCFLAGS} ${SRC}/game/Game.java ${PACKAGE}/game/EscapeMenu.class: ${SRC}/game/EscapeMenu.java ${PACKAGE}/components/Title.class ${JC} ${JCFLAGS} ${SRC}/game/EscapeMenu.java ${PACKAGE}/game/CustomMouseMotionAdapter.class: ${SRC}/game/CustomMouseMotionAdapter.java ${PACKAGE}/game/Board.class ${JC} ${JCFLAGS} ${SRC}/game/CustomMouseMotionAdapter.java ${PACKAGE}/game/CustomKeyAdapter.class: ${SRC}/game/CustomKeyAdapter.java ${PACKAGE}/game/Board.class ${JC} ${JCFLAGS} ${SRC}/game/CustomKeyAdapter.java ################################ # -----------------------------# ################################ # Compilation des controllers ${PACKAGE}/controller/TutorialController.class: ${SRC}/controller/TutorialController.java ${PACKAGE}/gui/TutorialPanel.class ${PACKAGE}/gui/Step.class ${PACKAGE}/enums/Images.class ${PACKAGE}/gui/MainMenu.class ${PACKAGE}/gui/TutorialPanel.class ${PACKAGE}/gui/MainMenu.class ${JC} ${JCFLAGS} ${SRC}/controller/TutorialController.java ${PACKAGE}/controller/MainMenuResizeHandler.class: ${SRC}/controller/MainMenuResizeHandler.java ${PACKAGE}/gui/MainMenu.class ${PACKAGE}/Options.class ${PACKAGE}/gui/ButtonHoverAnimator.class ${JC} ${JCFLAGS} ${SRC}/controller/MainMenuResizeHandler.java ${PACKAGE}/controller/MainMenuResizeController.class: ${SRC}/controller/MainMenuResizeController.java ${PACKAGE}/gui/MainMenu.class ${PACKAGE}/controller/MainMenuResizeHandler.class ${JC} ${JCFLAGS} ${SRC}/controller/MainMenuResizeController.java ${PACKAGE}/controller/MainMenuButtonController.class: ${SRC}/controller/MainMenuButtonController.java ${PACKAGE}/gui/MainMenu.class ${PACKAGE}/gui/ButtonPanel.class ${JC} ${JCFLAGS} ${SRC}/controller/MainMenuButtonController.java # Cibles supplémentaires run: ${JVM} ${JVMFLAGS} ${ENTRY} clean: rm -rf build rm -rf docs # Génération du fichier .jar 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: javadoc -d docs -sourcepath src -subpackages fr.monkhanny.dorfromantik -classpath libs/mariadb-client.jar