# 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)/ConverterController.class \ $(BIN)/$(PKG_PATH)/vconverter/ConverterWindow.class \ $(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) \ $(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 $(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 # Compilation des classes 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/HuffmanNode.class: $(BIN) \ $(SRC)/$(PKG_PATH)/mhuffman/HuffmanNode.java $(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/mhuffman/HuffmanNode.java $(BIN)/$(PKG_PATH)/mhuffman/HuffmanTree.class: $(BIN) \ $(BIN)/$(PKG_PATH)/mhuffman/HuffmanNode.class \ $(SRC)/$(PKG_PATH)/mhuffman/HuffmanTree.java $(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/mhuffman/HuffmanTree.java # Compilation des classes mimage $(BIN)/$(PKG_PATH)/mimage/Pixel.class: $(BIN) \ $(SRC)/$(PKG_PATH)/mimage/Pixel.java $(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/mimage/Pixel.java $(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 # Interface graphique $(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 # $(BIN)/$(PKG_PATH)/vconverter/ConverterWindow.class: $(BIN) \ # $(BIN)/$(PKG_PATH)/ConverterController.class \ # $(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 # Compilation PIFWriter $(BIN)/$(PKG_PATH)/mpif/PIFWriter.class: $(BIN) \ $(BIN)/$(PKG_PATH)/mimage/RGBImage.class \ $(BIN)/$(PKG_PATH)/util/BitOutputStream.class \ $(SRC)/$(PKG_PATH)/mpif/PIFWriter.java $(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/mpif/PIFWriter.java # GROSSE compilation du listener + ConvertController + ConvertWindow car il y a une dependance cirulaire $(BIN)/$(PKG_PATH)/ConverterController.class \ $(BIN)/$(PKG_PATH)/ExportButtonListener.class \ $(BIN)/$(PKG_PATH)/vconverter/ConverterWindow.class: \ $(SRC)/$(PKG_PATH)/ConverterController.java \ $(SRC)/$(PKG_PATH)/ExportButtonListener.java \ $(SRC)/$(PKG_PATH)/vconverter/ConverterWindow.java \ $(BIN)/$(PKG_PATH)/mimage/Pixel.class \ $(BIN)/$(PKG_PATH)/mimage/RGBImage.class \ $(BIN)/$(PKG_PATH)/mhuffman/FrequencyTable.class \ $(BIN)/$(PKG_PATH)/mhuffman/HuffmanTree.class \ $(BIN)/$(PKG_PATH)/mhuffman/CanonicalCode.class \ $(BIN)/$(PKG_PATH)/vconverter/ImagePreviewPanel.class \ $(BIN)/$(PKG_PATH)/vconverter/FrequencyTablePanel.class \ $(BIN)/$(PKG_PATH)/vconverter/CodeTablePanel.class \ $(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)/vconverter/ConverterWindow.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)