diff --git a/Makefile b/Makefile
index c93bd6b3d1446b81ca178c62a8dfad444540e234..7f33dff80b70c52689e1182d8ba0db6bb292f53e 100644
--- a/Makefile
+++ b/Makefile
@@ -23,8 +23,11 @@ FONTSIZE := 20
 
 # Find the input files.
 SRC := $(basename $(shell grep -l '\\begin{document}' *.tex))
-PIC := $(basename $(shell ls *.dia))
+DIA_PIC := $(basename $(shell ls *.dia))
 GNP := $(basename $(shell ls *.gnp))
+PIC_EXT := .dot .gif .jpg .png .ppm .svg .xcf
+PIC := $(foreach I, $(PIC_EXT), $(basename $(shell ls *$I)))
+#PIC_EPS := $(addsuffix .eps, $(PIC))
 
 # Output.
 PDF := $(addsuffix .pdf, $(SRC))
@@ -33,13 +36,13 @@ DOC := $(addsuffix .docx, $(SRC))
 
 # Temporary files.
 TMP := blg log nav out snm toc dvi aux idx vrb ps glg glo ist
-PNG := $(addsuffix .png, $(PIC))
+PNG := $(addsuffix .png, $(DIA_PIC))
 TNP := $(addsuffix .tnp, $(GNP))
 
 # Semi-permanent files.
 BIB := $(addsuffix .bbl, $(SRC))
 GLS := $(addsuffix .gls, $(GLS))
-EPS := $(addsuffix .eps, $(PIC) $(GNP))
+EPS := $(addsuffix .eps, $(DIA_PIC) $(GNP) $(PIC))
 
 # Do not delete the semi-permanent files automatically.
 .PRECIOUS: $(BIB) $(GLS) $(EPS)
@@ -76,6 +79,24 @@ release: all clean
 %.eps: %.png
 	$(CONVERT) $< $@
 
+%.eps: %.dot
+	$(CONVERT) $< $@
+
+%.eps: %.gif
+	$(CONVERT) $< $@
+
+%.eps: %.jpg
+	$(CONVERT) $< $@
+
+%.eps: %.ppm
+	$(CONVERT) $< $@
+
+%.eps: %.svg
+	$(CONVERT) $< $@
+
+%.eps: %.xcf
+	$(CONVERT) $< $@
+
 %.tnp: %.gnp $(DEP)
 	echo "set terminal postscript color eps font \"default,$(FONTSIZE)\"" > $@ ;\
 	cat $< >> $@