# Outils JAVAC = javac JAVA = java JAVADOC = javadoc # 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)/vconverter/ConverterWindow.class \ $(BIN)/$(PKG_PATH)/ConverterController.class \ $(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 # Dossiers $(BIN): mkdir -p $(BIN) $(DOC): mkdir -p $(DOC) #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 \ $(SRC)/$(PKG_PATH)/mimage/RGBImage.java $(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 #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 \ $(BIN)/$(PKG_PATH)/util/Config.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 # Compilation des classes mpif # 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 #Compilation des classes util $(BIN)/$(PKG_PATH)/util/Config.class: $(BIN) \ $(SRC)/$(PKG_PATH)/util/Config.java $(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/util/Config.java $(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 # Exécution run-conv: all $(JAVA) -cp $(BIN) $(MAIN_CONVERTER) run-view: all $(JAVA) -cp $(BIN) $(MAIN_VIEWER) # Documentation doc: $(DOC) $(JAVADOC) -d $(DOC) $(SRC)/fr/iutfbleau/sae/**/*.java # Nettoyage clean: rm -rf $(BIN) $(DOC)