Amélioration du makefile
This commit is contained in:
189
Makefile
189
Makefile
@@ -1,7 +1,7 @@
|
||||
# Définition des variables
|
||||
JC = javac
|
||||
JVM = java
|
||||
JCFLAGS = -d build -classpath "libs/mariadb-client.jar" -sourcepath src -encoding UTF-8
|
||||
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
|
||||
@@ -9,86 +9,181 @@ 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}/Main.class ${PACKAGE}/controller/GameModeController.class: ${SRC}/Main.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}/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}/controller/GameModeController.java
|
||||
|
||||
${PACKAGE}/Options.class: ${SRC}/Options.java
|
||||
${JC} ${JCFLAGS} ${SRC}/Options.java
|
||||
|
||||
${PACKAGE}/Options.class ${PACKAGE}/gui/MainMenu.class ${PACKAGE}/controller/MainMenuMouseController.class ${PACKAGE}/gui/ButtonPanel.class ${PACKAGE}/gui/ButtonHoverAnimator.class ${PACKAGE}/utils/MusicPlayer.class: ${SRC}/Options.java ${SRC}/gui/MainMenu.java ${SRC}/controller/MainMenuMouseController.java ${SRC}/gui/ButtonPanel.java ${SRC}/gui/ButtonHoverAnimator.java ${SRC}/utils/MusicPlayer.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}/utils/MusicPlayer.java
|
||||
|
||||
|
||||
################################
|
||||
# Compilation des composants
|
||||
${PACKAGE}/components/Button.class: ${SRC}/components/Button.java
|
||||
${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}/components/Title.class: ${SRC}/components/Title.java ${PACKAGE}/utils/FontManager.class
|
||||
${JC} ${JCFLAGS} ${SRC}/components/Title.java
|
||||
|
||||
# Compilation des contrôleurs
|
||||
${PACKAGE}/controller/ButtonHoverAnimationListener.class: ${SRC}/controller/ButtonHoverAnimationListener.java
|
||||
${JC} ${JCFLAGS} ${SRC}/controller/ButtonHoverAnimationListener.java
|
||||
################################
|
||||
# -----------------------------#
|
||||
################################
|
||||
# Compilation des enums
|
||||
|
||||
${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}/enums/Images.class: ${SRC}/enums/Images.java
|
||||
${JC} ${JCFLAGS} ${SRC}/enums/Images.java
|
||||
|
||||
${PACKAGE}/game/Board.class: ${SRC}/game/Board.java
|
||||
${JC} ${JCFLAGS} ${SRC}/game/Board.java
|
||||
${PACKAGE}/enums/Musics.class: ${SRC}/enums/Musics.java
|
||||
${JC} ${JCFLAGS} ${SRC}/enums/Musics.java
|
||||
|
||||
${PACKAGE}/game/Game.class: ${SRC}/game/Game.java
|
||||
${JC} ${JCFLAGS} ${SRC}/game/Game.java
|
||||
${PACKAGE}/enums/Sounds.class: ${SRC}/enums/Sounds.java
|
||||
${JC} ${JCFLAGS} ${SRC}/enums/Sounds.java
|
||||
|
||||
# Compilation des interfaces graphiques
|
||||
${PACKAGE}/gui/ButtonPanel.class: ${SRC}/gui/ButtonPanel.java
|
||||
${JC} ${JCFLAGS} ${SRC}/gui/ButtonPanel.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 GUI
|
||||
|
||||
${PACKAGE}/gui/TutorialPanel.class: ${SRC}/gui/TutorialPanel.java ${PACKAGE}/components/Title.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
|
||||
${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
|
||||
|
||||
# Compilation des listeners
|
||||
${PACKAGE}/listeners/CloseButtonListener.class: ${SRC}/listeners/CloseButtonListener.java
|
||||
${JC} ${JCFLAGS} ${SRC}/listeners/CloseButtonListener.java
|
||||
${PACKAGE}/gui/GameOver.class: ${SRC}/gui/GameOver.java ${PACKAGE}/utils/Database.class ${PACKAGE}/Options.class ${PACKAGE}/enums/Fonts.class ${PACKAGE}/gui/MainMenu.class ${PACKAGE}/gui/BarChartPanel.class
|
||||
${JC} ${JCFLAGS} ${SRC}/gui/GameOver.java
|
||||
|
||||
${PACKAGE}/listeners/GameArrowKeyListener.class: ${SRC}/listeners/GameArrowKeyListener.java
|
||||
${JC} ${JCFLAGS} ${SRC}/listeners/GameArrowKeyListener.java
|
||||
${PACKAGE}/gui/GameModeSelectionPanel.class: ${SRC}/gui/GameModeSelectionPanel.java ${PACKAGE}/components/Title.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}/game/Board.class
|
||||
${JC} ${JCFLAGS} ${SRC}/game/TilePanningTransition.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}/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}/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}/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
|
||||
|
||||
# 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
|
||||
rm -rf docs
|
||||
|
||||
# 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
|
||||
jar cvfm ${JARNAME} Manifest.MF -C build/ . -C libs/ . ./ressources
|
||||
|
||||
# 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
|
||||
javadoc -d docs -sourcepath src -subpackages fr.monkhanny.dorfromantik -classpath libs/mariadb-client.jar
|
||||
|
||||
|
Reference in New Issue
Block a user