-ifeq ($(MAKECMDGOALS),install-targets)
-MAKEFLAGS:=$(MAKEFLAGS) -j$(CONFIG_JLEVEL)
-else
-.NOTPARALLEL:
-endif
+endef
+
+$(eval $(call PrepareCommand,find,gfind find))
+$(eval $(call PrepareCommand,md5sum,md5sum $(SCRIPT_DIR)/md5sum))
+$(eval $(call PrepareCommand,cp,gcp cp))
+$(eval $(call PrepareCommand,stat,gstat stat))
+
+$(curdir)/cmddeps = $(patsubst %,$(STAGING_DIR_HOST)/bin/%,find md5sum cp stat)
+$(curdir)//prepare = $(STAGING_DIR)/.prepared $(STAGING_DIR_HOST)/.prepared $($(curdir)/cmddeps)
+$(curdir)//compile = $(STAGING_DIR)/.prepared $(STAGING_DIR_HOST)/.prepared $($(curdir)/cmddeps)
+
+# prerequisites for the individual targets
+$(curdir)/ := .config prereq
+$(curdir)//install = $(1)/compile
+
+$(eval $(call stampfile,$(curdir),tools,install,,CONFIG_CCACHE CONFIG_powerpc CONFIG_GCC_VERSION_4_3 CONFIG_GCC_USE_GRAPHITE))
+$(eval $(call subdir,$(curdir)))