57 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
		
		
			
		
	
	
			57 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| 
								 | 
							
								# Variables
							 | 
						||
| 
								 | 
							
								JC = javac
							 | 
						||
| 
								 | 
							
								JVM = java
							 | 
						||
| 
								 | 
							
								SRCDIR = src
							 | 
						||
| 
								 | 
							
								BINDIR = bin
							 | 
						||
| 
								 | 
							
								MAINCLASS1 = MainJeu
							 | 
						||
| 
								 | 
							
								MAINCLASS2 = MainCreation
							 | 
						||
| 
								 | 
							
								SRCFILES := $(wildcard $(SRCDIR)/*.java)
							 | 
						||
| 
								 | 
							
								CLASSFILES := $(patsubst $(SRCDIR)/%.java,$(BINDIR)/%.class,$(SRCFILES))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Règles de compilation pour les fichiers Java dans le répertoire src
							 | 
						||
| 
								 | 
							
								$(BINDIR)/%.class: $(SRCDIR)/%.java | $(BINDIR)
							 | 
						||
| 
								 | 
							
									$(JC) -d $(BINDIR) $<
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Crée le répertoire bin s'il n'existe pas
							 | 
						||
| 
								 | 
							
								$(BINDIR):
							 | 
						||
| 
								 | 
							
									mkdir -p $(BINDIR)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Règle pour exécuter le premier programme
							 | 
						||
| 
								 | 
							
								runJeu: $(CLASSFILES)
							 | 
						||
| 
								 | 
							
									$(JVM) -cp $(BINDIR) $(MAINCLASS1)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Règle pour exécuter le deuxième programme
							 | 
						||
| 
								 | 
							
								runCreation: $(CLASSFILES)
							 | 
						||
| 
								 | 
							
									$(JVM) -cp $(BINDIR) $(MAINCLASS2)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Règle pour nettoyer les fichiers compilés
							 | 
						||
| 
								 | 
							
								clean:
							 | 
						||
| 
								 | 
							
									rm -rf $(BINDIR)/*
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Règle pour créer la documentation
							 | 
						||
| 
								 | 
							
								doc:
							 | 
						||
| 
								 | 
							
									javadoc -d docs $(SRCDIR)/*.java
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Règle pour visualiser la documentation
							 | 
						||
| 
								 | 
							
								seedoc:
							 | 
						||
| 
								 | 
							
									firefox docs/index.html &
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Définir les cibles factices
							 | 
						||
| 
								 | 
							
								.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) $<
							 | 
						||
| 
								 | 
							
								
							 |