2026-01-03 13:08:16 +01:00
|
|
|
|
# Outils
|
|
|
|
|
|
JAVAC = javac
|
|
|
|
|
|
JAVA = java
|
|
|
|
|
|
JAVADOC = javadoc
|
|
|
|
|
|
ARGS =
|
|
|
|
|
|
|
|
|
|
|
|
# Dossiers
|
|
|
|
|
|
SRC = src
|
|
|
|
|
|
BIN = build
|
|
|
|
|
|
DOC = docjava
|
|
|
|
|
|
LIB = lib/
|
|
|
|
|
|
|
|
|
|
|
|
# Package
|
|
|
|
|
|
PKG_PATH = fr/iutfbleau/sae
|
|
|
|
|
|
|
|
|
|
|
|
# Points d’entrée
|
|
|
|
|
|
MAIN_CONVERTER = fr.iutfbleau.sae.Convertisseur
|
|
|
|
|
|
MAIN_VIEWER = fr.iutfbleau.sae.Viewer
|
|
|
|
|
|
|
|
|
|
|
|
# Séparateur classpath
|
|
|
|
|
|
ifeq ($(OS),Windows_NT)
|
|
|
|
|
|
SEP = ;
|
|
|
|
|
|
else
|
|
|
|
|
|
SEP = :
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
# Règle par défaut
|
|
|
|
|
|
all: \
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/Convertisseur.class \
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/Viewer.class
|
|
|
|
|
|
|
|
|
|
|
|
# Compilation des classes main
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/Convertisseur.class: $(BIN) \
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/ConverterController.class \
|
2026-01-05 10:19:59 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/ConverterWindow.class \
|
2026-01-03 13:08:16 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/ExportButtonListener.class \
|
|
|
|
|
|
$(SRC)/$(PKG_PATH)/Convertisseur.java
|
|
|
|
|
|
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/Convertisseur.java
|
|
|
|
|
|
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/Viewer.class: $(BIN) \
|
2026-01-05 10:19:59 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/ViewerWindow.class \
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/ViewerControleur.class \
|
2026-01-03 13:08:16 +01:00
|
|
|
|
$(SRC)/$(PKG_PATH)/Viewer.java
|
|
|
|
|
|
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/Viewer.java
|
|
|
|
|
|
|
|
|
|
|
|
# Dossiers
|
|
|
|
|
|
$(BIN):
|
|
|
|
|
|
mkdir -p $(BIN)
|
|
|
|
|
|
|
|
|
|
|
|
$(DOC):
|
|
|
|
|
|
mkdir -p $(DOC)
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-01-07 19:27:03 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/mpif/DecodeNode.class: $(BIN) \
|
|
|
|
|
|
$(SRC)/$(PKG_PATH)/mpif/DecodeNode.java
|
|
|
|
|
|
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/mpif/DecodeNode.java
|
2026-01-03 13:08:16 +01:00
|
|
|
|
|
2026-01-07 19:27:03 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/mpif/BitInputStream.class: $(BIN) \
|
|
|
|
|
|
$(SRC)/$(PKG_PATH)/mpif/BitInputStream.java
|
|
|
|
|
|
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/mpif/BitInputStream.java
|
2026-01-03 13:08:16 +01:00
|
|
|
|
|
2026-01-07 19:27:03 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/mpif/BitOutputStream.class: $(BIN) \
|
|
|
|
|
|
$(SRC)/$(PKG_PATH)/mpif/BitOutputStream.java
|
|
|
|
|
|
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/mpif/BitOutputStream.java
|
2026-01-03 13:08:16 +01:00
|
|
|
|
|
2026-01-07 19:27:03 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/GestionErreur.class: $(BIN) \
|
|
|
|
|
|
$(SRC)/$(PKG_PATH)/GestionErreur.java
|
|
|
|
|
|
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/GestionErreur.java
|
2026-01-05 10:19:59 +01:00
|
|
|
|
|
2026-01-07 19:27:03 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/mhuffman/HuffmanNode.class: $(BIN) \
|
|
|
|
|
|
$(SRC)/$(PKG_PATH)/mhuffman/HuffmanNode.java
|
|
|
|
|
|
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/mhuffman/HuffmanNode.java
|
|
|
|
|
|
|
2026-01-05 10:19:59 +01:00
|
|
|
|
|
2026-01-03 13:08:16 +01:00
|
|
|
|
|
|
|
|
|
|
# Compilation des classes mhuffman
|
2026-01-07 19:27:03 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/mhuffman/ComparateurHuffmanNode.class: $(BIN) \
|
|
|
|
|
|
$(SRC)/$(PKG_PATH)/mhuffman/ComparateurHuffmanNode.java
|
|
|
|
|
|
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/mhuffman/ComparateurHuffmanNode.java
|
|
|
|
|
|
|
2026-01-03 13:08:16 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/mhuffman/ComparateurCanonique.class: $(BIN) \
|
|
|
|
|
|
$(SRC)/$(PKG_PATH)/mhuffman/ComparateurCanonique.java
|
|
|
|
|
|
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/mhuffman/ComparateurCanonique.java
|
|
|
|
|
|
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/mhuffman/CanonicalCode.class: $(BIN) \
|
|
|
|
|
|
$(SRC)/$(PKG_PATH)/mhuffman/CanonicalCode.java \
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/mhuffman/ComparateurCanonique.class
|
|
|
|
|
|
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/mhuffman/CanonicalCode.java
|
|
|
|
|
|
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/mhuffman/FrequencyTable.class: $(BIN) \
|
2026-01-05 10:19:59 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/mpif/RGBImage.class \
|
2026-01-03 13:08:16 +01:00
|
|
|
|
$(SRC)/$(PKG_PATH)/mhuffman/FrequencyTable.java
|
|
|
|
|
|
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/mhuffman/FrequencyTable.java
|
|
|
|
|
|
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/mhuffman/HuffmanTree.class: $(BIN) \
|
2026-01-07 19:27:03 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/mhuffman/HuffmanNode.class \
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/mhuffman/ComparateurHuffmanNode.class \
|
2026-01-03 13:08:16 +01:00
|
|
|
|
$(SRC)/$(PKG_PATH)/mhuffman/HuffmanTree.java
|
|
|
|
|
|
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/mhuffman/HuffmanTree.java
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-01-05 10:19:59 +01:00
|
|
|
|
# Compilation des classe mpif
|
2026-01-05 12:03:13 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/mpif/ComparateurEntreeCanonique.class: $(BIN) \
|
|
|
|
|
|
$(SRC)/$(PKG_PATH)/mpif/ComparateurEntreeCanonique.java
|
|
|
|
|
|
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/mpif/ComparateurEntreeCanonique.java
|
|
|
|
|
|
|
2026-01-05 10:19:59 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/mpif/Pixel.class: $(BIN) \
|
|
|
|
|
|
$(SRC)/$(PKG_PATH)/mpif/Pixel.java
|
|
|
|
|
|
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/mpif/Pixel.java
|
|
|
|
|
|
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/mpif/RGBImage.class: $(BIN) \
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/mpif/Pixel.class \
|
|
|
|
|
|
$(SRC)/$(PKG_PATH)/mpif/RGBImage.java
|
|
|
|
|
|
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/mpif/RGBImage.java
|
|
|
|
|
|
|
2026-01-03 13:08:16 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/mpif/PIFWriter.class: $(BIN) \
|
2026-01-05 10:19:59 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/mpif/RGBImage.class \
|
2026-01-07 19:27:03 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/mpif/BitOutputStream.class \
|
2026-01-03 13:08:16 +01:00
|
|
|
|
$(SRC)/$(PKG_PATH)/mpif/PIFWriter.java
|
|
|
|
|
|
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/mpif/PIFWriter.java
|
|
|
|
|
|
|
2026-01-05 10:19:59 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/mpif/PIFReader.class: $(BIN) \
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/mpif/RGBImage.class \
|
2026-01-07 19:27:03 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/mpif/BitInputStream.class \
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/mpif/DecodeNode.class \
|
2026-01-05 12:03:13 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/mpif/ComparateurEntreeCanonique.class \
|
2026-01-05 10:19:59 +01:00
|
|
|
|
$(SRC)/$(PKG_PATH)/mpif/PIFReader.java
|
|
|
|
|
|
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/mpif/PIFReader.java
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-01-03 13:08:16 +01:00
|
|
|
|
|
2026-01-07 19:27:03 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Interface graphique
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/ImagePreviewPanel.class: $(BIN) \
|
|
|
|
|
|
$(SRC)/$(PKG_PATH)/ImagePreviewPanel.java
|
|
|
|
|
|
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/ImagePreviewPanel.java
|
|
|
|
|
|
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/FrequencyTablePanel.class: $(BIN) \
|
|
|
|
|
|
$(SRC)/$(PKG_PATH)/FrequencyTablePanel.java
|
|
|
|
|
|
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/FrequencyTablePanel.java
|
|
|
|
|
|
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/CodeTablePanel.class: $(BIN) \
|
|
|
|
|
|
$(SRC)/$(PKG_PATH)/CodeTablePanel.java
|
|
|
|
|
|
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/CodeTablePanel.java
|
|
|
|
|
|
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/ViewerWindow.class: $(BIN) \
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/ViewerImagePanel.class \
|
|
|
|
|
|
$(SRC)/$(PKG_PATH)/ViewerWindow.java
|
|
|
|
|
|
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/ViewerWindow.java
|
|
|
|
|
|
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/ViewerImagePanel.class: $(BIN) \
|
|
|
|
|
|
$(SRC)/$(PKG_PATH)/ViewerImagePanel.java
|
|
|
|
|
|
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/ViewerImagePanel.java
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# GROSSE compilation du listener + ConvertController + ConvertWindow car il y a une dependance cirulaire
|
2026-01-03 13:08:16 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/ConverterController.class \
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/ExportButtonListener.class \
|
2026-01-07 19:27:03 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/ThreadSauvegardePIF.class:
|
2026-01-05 10:19:59 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/ConverterWindow.class: \
|
2026-01-03 13:08:16 +01:00
|
|
|
|
$(SRC)/$(PKG_PATH)/ConverterController.java \
|
|
|
|
|
|
$(SRC)/$(PKG_PATH)/ExportButtonListener.java \
|
2026-01-07 19:27:03 +01:00
|
|
|
|
$(SRC)/$(PKG_PATH)/ThreadSauvegardePIF.java \
|
2026-01-05 10:19:59 +01:00
|
|
|
|
$(SRC)/$(PKG_PATH)/ConverterWindow.java \
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/mpif/Pixel.class \
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/mpif/RGBImage.class \
|
2026-01-03 13:08:16 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/mhuffman/FrequencyTable.class \
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/mhuffman/HuffmanTree.class \
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/mhuffman/CanonicalCode.class \
|
2026-01-05 10:19:59 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/ImagePreviewPanel.class \
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/FrequencyTablePanel.class \
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/CodeTablePanel.class \
|
2026-01-07 19:27:03 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/ThreadSauvegardePIF.class \
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/GestionErreur.class \
|
2026-01-03 13:08:16 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/mpif/PIFWriter.class | $(BIN)
|
|
|
|
|
|
@$(JAVAC) -cp $(BIN) -d $(BIN) \
|
|
|
|
|
|
$(SRC)/$(PKG_PATH)/ConverterController.java \
|
|
|
|
|
|
$(SRC)/$(PKG_PATH)/ExportButtonListener.java \
|
2026-01-07 19:27:03 +01:00
|
|
|
|
$(SRC)/$(PKG_PATH)/ThreadSauvegardePIF.java \
|
2026-01-05 10:19:59 +01:00
|
|
|
|
$(SRC)/$(PKG_PATH)/ConverterWindow.java
|
|
|
|
|
|
|
|
|
|
|
|
#Controleur de viewer
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/ViewerControleur.class: $(BIN) \
|
|
|
|
|
|
$(BIN)/$(PKG_PATH)/mpif/RGBImage.class \
|
2026-01-07 19:27:03 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/GestionErreur.class \
|
2026-01-05 10:19:59 +01:00
|
|
|
|
$(BIN)/$(PKG_PATH)/mpif/PIFReader.class \
|
|
|
|
|
|
$(SRC)/$(PKG_PATH)/ViewerControleur.java
|
|
|
|
|
|
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/ViewerControleur.java
|
|
|
|
|
|
|
2026-01-03 13:08:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
2026-01-07 19:27:03 +01:00
|
|
|
|
|
|
|
|
|
|
# Exécution sans JAR
|
|
|
|
|
|
runnotjar-conv: $(BIN)/$(PKG_PATH)/Convertisseur.class
|
2026-01-03 13:08:16 +01:00
|
|
|
|
$(JAVA) -cp $(BIN) $(MAIN_CONVERTER) $(ARGS)
|
|
|
|
|
|
|
2026-01-07 19:27:03 +01:00
|
|
|
|
runnotjar-view: $(BIN)/$(PKG_PATH)/Viewer.class
|
2026-01-05 10:19:59 +01:00
|
|
|
|
$(JAVA) -cp $(BIN) $(MAIN_VIEWER) $(ARGS)
|
2026-01-03 13:08:16 +01:00
|
|
|
|
|
2026-01-07 19:27:03 +01:00
|
|
|
|
# Création des JAR
|
|
|
|
|
|
jar-conv: $(BIN)/$(PKG_PATH)/Convertisseur.class
|
|
|
|
|
|
jar cfe convertisseur.jar $(MAIN_CONVERTER) -C $(BIN) .
|
|
|
|
|
|
|
|
|
|
|
|
jar-view: $(BIN)/$(PKG_PATH)/Viewer.class
|
|
|
|
|
|
jar cfe viewer.jar $(MAIN_VIEWER) -C $(BIN) .
|
|
|
|
|
|
|
|
|
|
|
|
jar: jar-conv jar-view
|
|
|
|
|
|
|
|
|
|
|
|
# Exécution des JAR
|
|
|
|
|
|
run-conv: jar-conv
|
|
|
|
|
|
$(JAVA) -jar convertisseur.jar $(ARGS)
|
|
|
|
|
|
|
|
|
|
|
|
run-view: jar-view
|
|
|
|
|
|
$(JAVA) -jar viewer.jar $(ARGS)
|
|
|
|
|
|
|
2026-01-03 13:08:16 +01:00
|
|
|
|
# Documentation
|
|
|
|
|
|
doc: $(DOC)
|
2026-01-07 19:27:03 +01:00
|
|
|
|
@echo "Generation de la documentation en cours..."
|
|
|
|
|
|
@$(JAVADOC) -Xdoclint:none -encoding UTF-8 -d $(DOC) -sourcepath $(SRC) -subpackages fr.iutfbleau.sae > /dev/null 2>&1
|
|
|
|
|
|
@echo "Termine ! Documentation disponible : $(DOC)/index.html"
|
|
|
|
|
|
|
2026-01-03 13:08:16 +01:00
|
|
|
|
|
|
|
|
|
|
# Nettoyage
|
|
|
|
|
|
clean:
|
2026-01-07 19:27:03 +01:00
|
|
|
|
rm -rf $(BIN) $(DOC) *.jar
|