diff --git a/Makefile b/Makefile
index 973359eaa0efdc127a354e88c5aedd4e80dd5a80..ecbca055b44dbbcd2e4f02b3df4e6daf289dcdcf 100644
--- a/Makefile
+++ b/Makefile
@@ -11,6 +11,5 @@ clean:
 	rm -rf build
 
 SRC_DIR ?= .
-# XXX: cannot add true dependencies because some file names contain spaces.
-$(BUILD_DIR):
+$(BUILD_DIR): $(filter-out README.rst contributing/project.rst experimental/%,$(shell find $(SRC_DIR) -name '*.rst'))
 	sphinx-build -W $(SRC_DIR) $(BUILD_DIR)