MakeJeu+CreationComplet

This commit is contained in:
Adrien DICK 2024-05-02 17:48:39 +02:00
parent b8267b23ae
commit 56b1837f4f
29 changed files with 48 additions and 40 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Grilles/GrilMakeTest Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,56 +1,64 @@
# Variables # If the first argument is "jeu"...
ifeq (jeu,$(firstword $(MAKECMDGOALS)))
# use the rest as arguments for "jeu"
RUN_ARGS := $(wordlist 2,$(words $(MAKECMDGOALS)),$(MAKECMDGOALS))
# ...and turn them into do-nothing targets
$(eval $(RUN_ARGS):;@:)
endif
### VARIABLES ###
JC = javac JC = javac
JCFLAGS = -encoding UTF-8 -implicit:none
JVM = java JVM = java
SRCDIR = src JVMFLAGS =
BINDIR = bin
MAINCLASS1 = MainJeu SRCDIR = ./src
MAINCLASS2 = MainCreation OUTDIR = ./out
DOCDIR = ./doc
### LISTE DES FICHIERS SOURCE ###
SRCFILES := $(wildcard $(SRCDIR)/*.java) SRCFILES := $(wildcard $(SRCDIR)/*.java)
CLASSFILES := $(patsubst $(SRCDIR)/%.java,$(BINDIR)/%.class,$(SRCFILES))
# Règles de compilation pour les fichiers Java dans le répertoire src ### LISTE DES FICHIERS OBJET ###
$(BINDIR)/%.class: $(SRCDIR)/%.java | $(BINDIR)
$(JC) -d $(BINDIR) $<
# Crée le répertoire bin s'il n'existe pas CLASSFILES := $(patsubst $(SRCDIR)/%.java,$(OUTDIR)/%.class,$(SRCFILES))
$(BINDIR):
mkdir -p $(BINDIR)
# Règle pour exécuter le premier programme ### REGLES ESSENTIELLES ###
runJeu: $(CLASSFILES)
$(JVM) -cp $(BINDIR) $(MAINCLASS1)
# Règle pour exécuter le deuxième programme # Compilation de tous les fichiers source
runCreation: $(CLASSFILES) $(OUTDIR)/%.class : $(SRCDIR)/%.java | $(OUTDIR)
$(JVM) -cp $(BINDIR) $(MAINCLASS2) @mkdir -p $(OUTDIR)
$(JC) $(JCFLAGS) -cp $(SRCDIR) -d $(OUTDIR) $<
# Règle pour nettoyer les fichiers compilés # Crée le répertoire de sortie s'il n'existe pas
clean: $(OUTDIR):
rm -rf $(BINDIR)/* mkdir -p $(OUTDIR)
# Règle pour créer la documentation # La classe Main dépend de tous les fichiers compilés
doc: $(OUTDIR)/MainJeu.class : $(CLASSFILES)
javadoc -d docs $(SRCDIR)/*.java
# Règle pour visualiser la documentation ### REGLES OPTIONNELLES ###
seedoc:
firefox docs/index.html &
# Définir les cibles factices # Règle pour lancer le programme
.PHONY: build runJeu runCreation clean doc seedoc jeu : $(OUTDIR)/MainJeu.class
$(JVM) $(JVMFLAGS) -cp $(OUTDIR) MainJeu $(RUN_ARGS)
# Règle par défaut # Nettoyage des fichiers générés
.DEFAULT_GOAL := build clean :
-rm -rf $(OUTDIR)
-rm -rf $(DOCDIR)
# Règle pour compiler AutomatiqueActionListener avec ses dépendances # Nettoyage et suppression des fichiers générés, y compris la classe Main
$(BINDIR)/AutomatiqueActionListener.class: $(SRCDIR)/AutomatiqueActionListener.java $(BINDIR)/GenerateurSudoku.class $(BINDIR)/FenetrePrincipale.class $(BINDIR)/Resolveur.class mrproper : clean
$(JC) -d $(BINDIR) $<
# Règle pour compiler FenetrePrincipale avec ses dépendances # Génération de la documentation
$(BINDIR)/FenetrePrincipale.class: $(SRCDIR)/FenetrePrincipale.java $(BINDIR)/SaisieGrille.class $(BINDIR)/ReinitialiserActionListener.class doc :
$(JC) -d $(BINDIR) $< javadoc -d $(DOCDIR) $(SRCDIR)/*.java
# Règle pour compiler SaisieGrille avec ses dépendances ### BUTS FACTICES ###
$(BINDIR)/SaisieGrille.class: $(SRCDIR)/SaisieGrille.java $(BINDIR)/CaseMouseListener.class $(BINDIR)/GrillePainter.class
$(JC) -d $(BINDIR) $<
.PHONY : jeu clean mrproper doc
### FIN ###

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.