Files
SAE32_2025/makefile
T

140 lines
4.5 KiB
Makefile
Raw Normal View History

2025-12-18 10:02:19 +01:00
# Outils
JAVAC = javac
JAVA = java
JAVADOC = javadoc
# 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: \
2025-12-20 00:30:14 +01:00
$(BIN)/$(PKG_PATH)/Convertisseur.class \
2025-12-18 10:02:19 +01:00
$(BIN)/$(PKG_PATH)/Viewer.class
2025-12-20 00:30:14 +01:00
# Compilation des classes main
$(BIN)/$(PKG_PATH)/Convertisseur.class: $(BIN) \
$(BIN)/$(PKG_PATH)/vconverter/ConverterWindow.class \
2025-12-27 10:20:24 +01:00
$(BIN)/$(PKG_PATH)/ConverterController.class \
2025-12-20 00:30:14 +01:00
$(SRC)/$(PKG_PATH)/Convertisseur.java
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/Convertisseur.java
$(BIN)/$(PKG_PATH)/Viewer.class: $(BIN) \
$(SRC)/$(PKG_PATH)/Viewer.java
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/Viewer.java
2025-12-18 10:02:19 +01:00
# Dossiers
$(BIN):
mkdir -p $(BIN)
$(DOC):
mkdir -p $(DOC)
2025-12-26 19:49:39 +01:00
#Compilation des classe de mhuffman
$(BIN)/$(PKG_PATH)/mhuffman/CanonicalCode.class: $(BIN) \
$(SRC)/$(PKG_PATH)/mhuffman/CanonicalCode.java
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/mhuffman/CanonicalCode.java
$(BIN)/$(PKG_PATH)/mhuffman/FrequencyTable.class: $(BIN) \
$(BIN)/$(PKG_PATH)/mimage/RGBImage.class \
$(SRC)/$(PKG_PATH)/mhuffman/FrequencyTable.java
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/mhuffman/FrequencyTable.java
$(BIN)/$(PKG_PATH)/mhuffman/HuffmanTree.class: $(BIN) \
$(BIN)/$(PKG_PATH)/mhuffman/HuffmanNode.class \
$(BIN)/$(PKG_PATH)/mhuffman/HuffmanTree.java
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/mhuffman/HuffmanTree.java
$(BIN)/$(PKG_PATH)/mhuffman/HuffmanNode.class: $(BIN) \
$(SRC)/$(PKG_PATH)/mhuffman/HuffmanNode.java
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/mhuffman/HuffmanNode.java
# Compilation des classe mimages
$(BIN)/$(PKG_PATH)/mimage/RGBImage.class: $(BIN) \
$(BIN)/$(PKG_PATH)/mimage/Pixel.class \
2025-12-27 10:20:24 +01:00
$(SRC)/$(PKG_PATH)/mimage/RGBImage.java
2025-12-26 19:49:39 +01:00
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/mimage/RGBImage.java
$(BIN)/$(PKG_PATH)/mimage/Pixel.class: $(BIN) \
$(SRC)/$(PKG_PATH)/mimage/Pixel.java
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/mimage/Pixel.java
2025-12-20 00:30:14 +01:00
#Compilation de l'interface graphique je compile converterWindow
$(BIN)/$(PKG_PATH)/vconverter/ConverterWindow.class: $(BIN) \
$(BIN)/$(PKG_PATH)/vconverter/ImagePreviewPanel.class \
$(BIN)/$(PKG_PATH)/vconverter/FrequencyTablePanel.class \
$(BIN)/$(PKG_PATH)/vconverter/CodeTablePanel.class \
$(SRC)/$(PKG_PATH)/vconverter/ConverterWindow.java
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/vconverter/ConverterWindow.java
# ConverterWindow dépend des autres classes je les compile aussi
$(BIN)/$(PKG_PATH)/vconverter/ImagePreviewPanel.class: $(BIN) \
$(SRC)/$(PKG_PATH)/vconverter/ImagePreviewPanel.java
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/vconverter/ImagePreviewPanel.java
$(BIN)/$(PKG_PATH)/vconverter/FrequencyTablePanel.class: $(BIN) \
$(SRC)/$(PKG_PATH)/vconverter/FrequencyTablePanel.java
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/vconverter/FrequencyTablePanel.java
$(BIN)/$(PKG_PATH)/vconverter/CodeTablePanel.class: $(BIN) \
$(SRC)/$(PKG_PATH)/vconverter/CodeTablePanel.java
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/vconverter/CodeTablePanel.java
2025-12-26 19:49:39 +01:00
# Compilation des classes mpif
2025-12-27 10:20:24 +01:00
# Compilation du controleur
$(BIN)/$(PKG_PATH)/ConverterController.class: $(BIN) \
$(BIN)/$(PKG_PATH)/mimage/Pixel.class \
$(BIN)/$(PKG_PATH)/mimage/RGBImage.class \
$(BIN)/$(PKG_PATH)/mhuffman/FrequencyTable.class \
$(BIN)/$(PKG_PATH)/mhuffman/CanonicalCode.class \
$(BIN)/$(PKG_PATH)/vconverter/ConverterWindow.class \
$(SRC)/$(PKG_PATH)/ConverterController.java
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/ConverterController.java
2025-12-20 00:30:14 +01:00
#Compilation des classes util
$(BIN)/$(PKG_PATH)/util/ByteUtils.class: $(BIN) \
$(SRC)/$(PKG_PATH)/util/ByteUtils.java
$(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/util/ByteUtils.java
$(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
2025-12-26 19:49:39 +01:00
2025-12-18 10:02:19 +01:00
# Exécution
run-conv: all
2025-12-20 00:30:14 +01:00
$(JAVA) -cp $(BIN) $(MAIN_CONVERTER)
2025-12-18 10:02:19 +01:00
run-view: all
2025-12-20 00:30:14 +01:00
$(JAVA) -cp $(BIN) $(MAIN_VIEWER)
2025-12-18 10:02:19 +01:00
# Documentation
doc: $(DOC)
$(JAVADOC) -d $(DOC) $(SRC)/fr/iutfbleau/sae/**/*.java
# Nettoyage
clean:
rm -rf $(BIN) $(DOC)