diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 14511c9b9c6d209ef784068a308fce666beaf85b..e06b366c615f203d8cf37abc020ff0a966137bb5 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,16 +2,10 @@ image: omalaspinas/archlinux-pandoc:thirdtry
 
 build_only:
   script:
-    - cd figs
-    - ./convert.sh
-    - cd ..
     - make
 
 build_artifacts:
   script:
-    - cd figs
-    - ./convert.sh
-    - cd ..
     - make
   artifacts:
     paths:
diff --git a/Makefile b/Makefile
index 49517caa49be85c0f8386bf1849b57b9bdaf2e52..880cbce712d5512d23b2d3fa6a90c96c08496507 100644
--- a/Makefile
+++ b/Makefile
@@ -26,8 +26,13 @@ REVEALOPRIONS += --highlight-style espresso
 REVEALOPRIONS += --self-contained
 # REVEALOPRIONS += --include-in-header=reveal.js/left_just.css
 
+SVG=$(wildcard figs/*.svg)
+PNG=$(SVG:%.svg=%.png)
 
-all: intro.html variables.html
+all: $(PNG) intro.html variables.html
+
+figs/%.png: figs/%.svg
+	convert \-flatten $< $@
 
 intro.html: intro.md Makefile
 	pandoc -s $(REVEALOPRIONS) -o $@ $<
@@ -36,4 +41,4 @@ variables.html: variables.md Makefile
 	pandoc -s $(REVEALOPRIONS) -o $@ $<
 
 clean:
-	rm -rf intro.html variables.html
\ No newline at end of file
+	rm -rf intro.html variables.html