-PREREQ_PACKAGES:=$(patsubst %,%-prereq,$(prereq-y) $(prereq-m))
-DOWNLOAD_PACKAGES:=$(patsubst %,%-download,$(package-y) $(package-m))
-COMPILE_PACKAGES:=$(patsubst %,%-compile,$(package-m))
-INSTALL_PACKAGES:=$(patsubst %,%-install,$(package-y))
+-include $(TMP_DIR)/.packagedeps
+$(curdir)/builddirs:=$(sort $(package-) $(package-y) $(package-m))
+$(curdir)/builddirs-install:=.
+$(curdir)/builddirs-default:=. $(sort $(package-y) $(package-m))
+$(curdir)/builddirs-prereq:=. $(sort $(prereq-y) $(prereq-m))
+ifneq ($(IGNORE_ERRORS),)
+ package-y-filter := $(package-y)
+ package-m-filter := $(filter-out $(package-y),$(package-m))
+ package-n-filter := $(filter-out $(package-y) $(package-m),$(package-))
+ package-ignore-errors := $(filter n m y,$(IGNORE_ERRORS))
+ package-ignore-errors := $(if $(package-ignore-errors),$(package-ignore-errors),n m)
+ package-ignore-subdirs := $(sort $(foreach m,$(package-ignore-errors),$(package-$(m)-filter)))
+ $(curdir)/builddirs-ignore-download := $(package-ignore-subdirs)
+ $(curdir)/builddirs-ignore-compile := $(package-ignore-subdirs)
+ $(curdir)/builddirs-ignore-host-download := $(package-ignore-subdirs)
+ $(curdir)/builddirs-ignore-host-compile := $(package-ignore-subdirs)
+endif