diff --git a/xelatex/labs/Makefile b/xelatex/labs/Makefile
new file mode 100644
index 0000000..a9ac81f
--- /dev/null
+++ b/xelatex/labs/Makefile
@@ -0,0 +1,38 @@
+## Quick usage ##
+
+# Generate everything:
+# >make
+
+# Generate just the raw presentation (no page numbers)
+# >make quick
+
+# Clean rubbish (leaving PDFs)
+# >make clean
+
+# Clean everything (including PDFs)
+# >make nuke
+
+# Compile in continuous mode
+# >make continuous
+
+SOURCE=$(basename $(or $(wildcard lab*.tex), $(wildcard test*.tex), $(wildcard outline.tex), $(wildcard project*.tex),$(wildcard *exercises.tex),$(wildcard *report.tex),$(wildcard phase*.tex),$(wildcard lec*.tex)))
+RUBBISH=*.tmp *.xdv *.log *.up*
+.PHONY=clean nuke continuous quick presentation slides handout all
+
+default: ${SOURCE}.pdf
+
+${SOURCE}.pdf: ${SOURCE}.tex
+	latexmk -xelatex ${SOURCE}.tex
+
+continuous:
+	latexmk -xelatex -pvc -pv- -interaction=nonstopmode ${SOURCE}.tex
+
+2up: ${SOURCE}.pdf
+	pdfnup --frame true --a4paper --suffix 2up ${SOURCE}.pdf
+
+clean:
+	latexmk -c
+	rm -f $(RUBBISH)
+
+nuke: clean
+	latexmk -C