diff --git a/Makefile b/Makefile
index 1b8a54908ce2d07cfaed8a237b88bf9b221c8803..53acb51e38434dc79ecfff09f6ef5dd203bc557e 100644
--- a/Makefile
+++ b/Makefile
@@ -9,14 +9,17 @@ VS := $(MODULES:%=$(SRC)/%.v)
 LIB := CoMoProj #TODO
 HTML := public #TODO Ggf. anpassen
 
-.PHONY: all html coq clean clean_html clean_all
+.PHONY: all $(SRC) html coq clean clean_html clean_all
 
 all: coq html _CoqProject
 
+$(SRC):
+	mkdir -p $(SRC)
+
 _CoqProject: Makefile
 	echo "-R $(SRC) $(LIB)\n\n$(SRC)" > _CoqProject
 
-html: coq
+html: coq $(SRC)
 	mkdir -p public
 	coqdoc -R $(SRC) $(LIB) $(VS) -d $(HTML) \
 		-utf8 --lib-name File --toc
@@ -25,7 +28,7 @@ html: coq
 coq: Makefile.coq
 	$(MAKE) -f Makefile.coq all
 
-clean:
+clean: $(SRC)
 	rm -f $(SRC)/*.vo
 	rm -f $(SRC)/*.vok
 	rm -f $(SRC)/*.vos
@@ -41,6 +44,6 @@ clean_html: clean
 
 clean_all: clean clean_html
 
-Makefile.coq: Makefile $(VS)
+Makefile.coq: Makefile $(VS) $(SRC)
 	@coq_makefile -o Makefile.coq -R $(SRC) $(LIB) $(VS)