diff --git a/Makefile b/Makefile
index dbfdb8e82e6c23d693ed725bb0538087a31f7029..b798f723c82565a4792620519c989eab0b2fa253 100644
--- a/Makefile
+++ b/Makefile
@@ -147,11 +147,11 @@ distclean: dirclean config-clean symlinkclean docclean
 help:
 	cat README
 
-doc:
-	$(MAKE) -C docs/ openwrt.pdf
+docs docs/compile: FORCE
+	$(MAKE) -C docs compile
 
-docclean:
-	$(MAKE) -C docs/ clean
+docs/clean: FORCE
+	$(MAKE) -C docs clean
 
 symlinkclean:
 	-find package -type l | xargs rm -f
diff --git a/docs/Makefile b/docs/Makefile
index 82381e316995724968ef83b8ec1001a8d2535cd3..ffc5bbb062a331f799c9135a1872ced603f3e49b 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -2,13 +2,15 @@ ifeq ($(TOPDIR),)
   TOPDIR:=${CURDIR}/..
 endif
 
+all: compile
+
 include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/prereq.mk
 
 MAIN = openwrt.tex
 DEPS = $(MAIN) Makefile config.tex network.tex network-scripts.tex network-scripts.tex wireless.tex build.tex adding.tex bugs.tex $(TMP_DIR)/.prereq-docs
 
-all:
+compile:
 	$(NO_TRACE_MAKE) cleanup
 	latex $(MAIN)
 	$(NO_TRACE_MAKE) openwrt.pdf openwrt.html