diff --git a/package/Makefile b/package/Makefile
index 153ca657b0283b20dd105297e2150489d9bea8c0..9b400ffeff6f2dca9274a86566def756a2743fcf 100644
--- a/package/Makefile
+++ b/package/Makefile
@@ -16,10 +16,10 @@ $(curdir)/builddirs-install:=. $(sort $(package-y))
 
 $(curdir)/install:=$(curdir)/install-cleanup
 
-$(curdir)/cleanup:
+$(curdir)/cleanup: $(TMP_DIR)/.build
 	rm -rf $(BUILD_DIR)/root
 
-$(curdir)/rootfs-prepare:
+$(curdir)/rootfs-prepare: $(TMP_DIR)/.build
 	@if [ -d $(TOPDIR)/files ]; then \
 		$(CP) $(TOPDIR)/files/. $(BUILD_DIR)/root; \
 	fi
@@ -34,6 +34,8 @@ $(curdir)/rootfs-prepare:
 	@-find $(BUILD_DIR)/root -name CVS   | $(XARGS) rm -rf
 	@-find $(BUILD_DIR)/root -name .svn  | $(XARGS) rm -rf
 	@-find $(BUILD_DIR)/root -name '.#*' | $(XARGS) rm -f
+
+$(curdir)/index: FORCE
 	@(cd $(PACKAGE_DIR); $(SCRIPT_DIR)/ipkg-make-index.sh . > Packages)
 
 $(curdir)/flags-install:= -j1