# Projet Pendu : fichier Makefile
# Compatibilité : Linux

# Règle par défaut
all : Pendu

# Dossiers
IN = src/
OUT = bin/

# Mots-clés
JC = javac
JCFLAGS = -encoding UTF-8 -implicit:none -cp $(OUT) -d $(OUT)

CLASSFILES = Pendu.class \
	Partie.class \
	Fenetre.class \
	Dessin.class \
	Mots.class \
	Event.class \
	LetterInputFilter.class \
	MenuDifficulte.class \
	Chronometre.class \
	Score.class

# Dépendances
$(OUT)Pendu.class : $(IN)Pendu.java $(OUT)Partie.class $(OUT)Fenetre.class $(OUT)Event.class $(OUT)MenuDifficulte.class $(OUT)Score.class
	$(JC) $(JCFLAGS) $<

$(OUT)Partie.class : $(IN)Partie.java $(OUT)Mots.class
	$(JC) $(JCFLAGS) $<

$(OUT)Fenetre.class : $(IN)Fenetre.java $(OUT)Partie.class $(OUT)Dessin.class $(OUT)Chronometre.class $(OUT)Score.class
	$(JC) $(JCFLAGS) $<

$(OUT)Dessin.class : $(IN)Dessin.java
	$(JC) $(JCFLAGS) $<

$(OUT)Mots.class : $(IN)Mots.java
	$(JC) $(JCFLAGS) $<

$(OUT)Event.class : $(IN)Event.java $(OUT)Fenetre.class $(OUT)LetterInputFilter.class
	$(JC) $(JCFLAGS) $<

$(OUT)LetterInputFilter.class : $(IN)LetterInputFilter.java $(OUT)Fenetre.class
	$(JC) $(JCFLAGS) $<

$(OUT)MenuDifficulte.class : $(IN)MenuDifficulte.java
	$(JC) $(JCFLAGS) $<

$(OUT)Chronometre.class : $(IN)Chronometre.java
	$(JC) $(JCFLAGS) $<

$(OUT)Score.class : $(IN)Score.java
	$(JC) $(JCFLAGS) $<

# Commandes
Pendu : $(OUT)Pendu.class

jar : $(OUT)Pendu.class
	jar -cfe Pendu.jar Pendu -C $(OUT) .

clean :
	-rm -f $(OUT)*.class
	-rm -f Pendu.jar

help :  #(à implémenter plus tard)

# Buts factices
.PHONY : all clean  #(pour les cibles qui sont des commandes)

# Bug : gestion des chemins dans jar ?
