# 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 \ $(BIN)/$(PKG_PATH)/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) \ $(BIN)/$(PKG_PATH)/ViewerWindow.class \ $(BIN)/$(PKG_PATH)/ViewerControleur.class \ $(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/DecodeNode.class: $(BIN) \ $(SRC)/$(PKG_PATH)/util/DecodeNode.java $(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/util/DecodeNode.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 $(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 # 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) \ $(BIN)/$(PKG_PATH)/mpif/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)/util/HuffmanNode.class \ $(SRC)/$(PKG_PATH)/mhuffman/HuffmanTree.java $(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/mhuffman/HuffmanTree.java # 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) \ $(SRC)/$(PKG_PATH)/ViewerWindow.java $(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/ViewerWindow.java # Compilation des classe mpif $(BIN)/$(PKG_PATH)/mpif/ComparateurEntreeCanonique.class: $(BIN) \ $(SRC)/$(PKG_PATH)/mpif/ComparateurEntreeCanonique.java $(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/mpif/ComparateurEntreeCanonique.java $(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 $(BIN)/$(PKG_PATH)/mpif/PIFWriter.class: $(BIN) \ $(BIN)/$(PKG_PATH)/mpif/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 $(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 \ $(BIN)/$(PKG_PATH)/mpif/ComparateurEntreeCanonique.class \ $(SRC)/$(PKG_PATH)/mpif/PIFReader.java $(JAVAC) -cp $(BIN) -d $(BIN) $(SRC)/$(PKG_PATH)/mpif/PIFReader.java # 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 \ $(BIN)/$(PKG_PATH)/ConverterWindow.class: \ $(SRC)/$(PKG_PATH)/ConverterController.java \ $(SRC)/$(PKG_PATH)/ExportButtonListener.java \ $(SRC)/$(PKG_PATH)/PIFSaveTask.java \ $(SRC)/$(PKG_PATH)/ConverterWindow.java \ $(BIN)/$(PKG_PATH)/mpif/Pixel.class \ $(BIN)/$(PKG_PATH)/mpif/RGBImage.class \ $(BIN)/$(PKG_PATH)/mhuffman/FrequencyTable.class \ $(BIN)/$(PKG_PATH)/mhuffman/HuffmanTree.class \ $(BIN)/$(PKG_PATH)/mhuffman/CanonicalCode.class \ $(BIN)/$(PKG_PATH)/ImagePreviewPanel.class \ $(BIN)/$(PKG_PATH)/FrequencyTablePanel.class \ $(BIN)/$(PKG_PATH)/CodeTablePanel.class \ $(BIN)/$(PKG_PATH)/util/GestionErreur.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)/PIFSaveTask.java \ $(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 # Exécution run-conv: $(BIN)/$(PKG_PATH)/Convertisseur.class $(JAVA) -cp $(BIN) $(MAIN_CONVERTER) $(ARGS) run-view: $(BIN)/$(PKG_PATH)/Viewer.class $(JAVA) -cp $(BIN) $(MAIN_VIEWER) $(ARGS) # Documentation doc: $(DOC) $(JAVADOC) -d $(DOC) $(SRC)/fr/iutfbleau/sae/**/*.java # Nettoyage clean: rm -rf $(BIN) $(DOC)