Files
SAE32_2025/makefile
T

199 lines
6.6 KiB
Makefile
Raw Normal View History

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 dentré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)
# Compilation des classes util
2026-01-05 10:19:59 +01:00
$(BIN)/$(PKG_PATH)/util/DecodeNode.class: $(BIN) \
$(SRC)/$(PKG_PATH)/util/DecodeNode.java
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/util/DecodeNode.java
2026-01-03 13:08:16 +01:00
$(BIN)/$(PKG_PATH)/util/BitInputStream.class: $(BIN) \
$(SRC)/$(PKG_PATH)/util/BitInputStream.java
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/util/BitInputStream.java
$(BIN)/$(PKG_PATH)/util/BitOutputStream.class: $(BIN) \
$(SRC)/$(PKG_PATH)/util/BitOutputStream.java
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/util/BitOutputStream.java
2026-01-05 10:19:59 +01:00
$(BIN)/$(PKG_PATH)/util/GestionErreur.class: $(BIN) \
$(SRC)/$(PKG_PATH)/util/GestionErreur.java
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/util/GestionErreur.java
$(BIN)/$(PKG_PATH)/util/HuffmanNode.class: $(BIN) \
$(SRC)/$(PKG_PATH)/util/HuffmanNode.java
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/util/HuffmanNode.java
2026-01-03 13:08:16 +01:00
# Compilation des classes mhuffman
$(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-05 10:19:59 +01:00
$(BIN)/$(PKG_PATH)/util/HuffmanNode.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
# Interface graphique
2026-01-05 10:19:59 +01:00
$(BIN)/$(PKG_PATH)/ImagePreviewPanel.class: $(BIN) \
$(SRC)/$(PKG_PATH)/ImagePreviewPanel.java
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/ImagePreviewPanel.java
2026-01-03 13:08:16 +01:00
2026-01-05 10:19:59 +01:00
$(BIN)/$(PKG_PATH)/FrequencyTablePanel.class: $(BIN) \
$(SRC)/$(PKG_PATH)/FrequencyTablePanel.java
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/FrequencyTablePanel.java
2026-01-03 13:08:16 +01:00
2026-01-05 10:19:59 +01:00
$(BIN)/$(PKG_PATH)/CodeTablePanel.class: $(BIN) \
$(SRC)/$(PKG_PATH)/CodeTablePanel.java
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/CodeTablePanel.java
2026-01-03 13:08:16 +01:00
2026-01-05 10:19:59 +01:00
$(BIN)/$(PKG_PATH)/ViewerWindow.class: $(BIN) \
$(SRC)/$(PKG_PATH)/ViewerWindow.java
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/ViewerWindow.java
2026-01-03 13:08:16 +01:00
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-03 13:08:16 +01:00
$(BIN)/$(PKG_PATH)/util/BitOutputStream.class \
$(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 \
$(BIN)/$(PKG_PATH)/util/BitInputStream.class \
$(BIN)/$(PKG_PATH)/util/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
# GROSSE compilation du listener + ConvertController + ConvertWindow + PIFSaverTask car il y a une dependance cirulaire
$(BIN)/$(PKG_PATH)/ConverterController.class \
$(BIN)/$(PKG_PATH)/ExportButtonListener.class \
$(BIN)/$(PKG_PATH)/PIFSaveTask.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 \
$(SRC)/$(PKG_PATH)/PIFSaveTask.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 \
$(BIN)/$(PKG_PATH)/util/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 \
$(SRC)/$(PKG_PATH)/PIFSaveTask.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 \
$(BIN)/$(PKG_PATH)/util/GestionErreur.class \
$(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
# Exécution
2026-01-05 16:25:53 +01:00
run-conv: $(BIN)/$(PKG_PATH)/Convertisseur.class
2026-01-03 13:08:16 +01:00
$(JAVA) -cp $(BIN) $(MAIN_CONVERTER) $(ARGS)
2026-01-05 10:19:59 +01:00
run-view: $(BIN)/$(PKG_PATH)/Viewer.class
$(JAVA) -cp $(BIN) $(MAIN_VIEWER) $(ARGS)
2026-01-03 13:08:16 +01:00
# Documentation
doc: $(DOC)
$(JAVADOC) -d $(DOC) $(SRC)/fr/iutfbleau/sae/**/*.java
# Nettoyage
clean:
rm -rf $(BIN) $(DOC)