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
$(OUTDIR):
mkdir -p $(OUTDIR)
# La classe Main dépend de tous les fichiers compilés
$(OUTDIR)/MainJeu.class : $(CLASSFILES)
### REGLES OPTIONNELLES ###
# Règle pour lancer le programme
jeu : $(OUTDIR)/MainJeu.class
$(JVM) $(JVMFLAGS) -cp $(OUTDIR) MainJeu $(RUN_ARGS)
# Nettoyage des fichiers générés
clean : clean :
rm -rf $(BINDIR)/* -rm -rf $(OUTDIR)
-rm -rf $(DOCDIR)
# Règle pour créer la documentation # Nettoyage et suppression des fichiers générés, y compris la classe Main
mrproper : clean
# Génération de la documentation
doc : doc :
javadoc -d docs $(SRCDIR)/*.java javadoc -d $(DOCDIR) $(SRCDIR)/*.java
# Règle pour visualiser la documentation ### BUTS FACTICES ###
seedoc:
firefox docs/index.html &
# Définir les cibles factices .PHONY : jeu clean mrproper doc
.PHONY: build runJeu runCreation clean doc seedoc
# Règle par défaut
.DEFAULT_GOAL := build
# Règle pour compiler AutomatiqueActionListener avec ses dépendances
$(BINDIR)/AutomatiqueActionListener.class: $(SRCDIR)/AutomatiqueActionListener.java $(BINDIR)/GenerateurSudoku.class $(BINDIR)/FenetrePrincipale.class $(BINDIR)/Resolveur.class
$(JC) -d $(BINDIR) $<
# Règle pour compiler FenetrePrincipale avec ses dépendances
$(BINDIR)/FenetrePrincipale.class: $(SRCDIR)/FenetrePrincipale.java $(BINDIR)/SaisieGrille.class $(BINDIR)/ReinitialiserActionListener.class
$(JC) -d $(BINDIR) $<
# Règle pour compiler SaisieGrille avec ses dépendances
$(BINDIR)/SaisieGrille.class: $(SRCDIR)/SaisieGrille.java $(BINDIR)/CaseMouseListener.class $(BINDIR)/GrillePainter.class
$(JC) -d $(BINDIR) $<
### 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.