TARGETS-y:=kernel-headers
TARGETS-$(CONFIG_GDB) += gdb
-TARGETS-$(CONFIG_CCACHE) += ccache
ifeq ($(CONFIG_NATIVE_TOOLCHAIN),)
TARGETS-y+=binutils gcc uClibc
endif
TARGETS_DOWNLOAD:=$(patsubst %,%-download,$(TARGETS-y))
+TARGETS_PREPARE:=$(patsubst %,%-prepare,$(TARGETS-y))
TARGETS_COMPILE:=$(patsubst %,%-compile,$(TARGETS-y))
TARGETS_INSTALL:=$(patsubst %,%-install,$(TARGETS-y))
TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS-y))
$(STAMP): $(TARGETS_INSTALL)
endif
-ifeq ($(CONFIG_CCACHE),y)
- uClibc-prepare: ccache-install
-endif
uClibc-prepare: kernel-headers-prepare
ifeq ($(CONFIG_NATIVE_TOOLCHAIN),)
binutils-prepare: uClibc-prepare
$(TOOLCHAIN_BUILD_DIR):
@mkdir -p $@
-$(eval $(call default_subtargets,$(STAGING_DIR)/$(REAL_GNU_TARGET_NAME) $(TOOLCHAIN_BUILD_DIR)))
+%-prereq %-download %-clean %-refresh %-update: FORCE
+ $(MAKE) -C $* $(patsubst $*-%,%,$@)
+
+%-prepare: $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME) $(TOOLCHAIN_BUILD_DIR)
+ $(MAKE) -C $* $(patsubst $*-%,%,$@)
+%-compile: %-prepare FORCE
+ $(MAKE) -C $* $(patsubst $*-%,%,$@)
+
+%-install: %-compile FORCE
+ $(MAKE) -C $* $(patsubst $*-%,%,$@)