Add ccache if not installed/installable on the host-system
[openwrt.git] / toolchain / Makefile
index ed563f0..ceae226 100644 (file)
@@ -8,8 +8,9 @@
 #
 include $(TOPDIR)/rules.mk
 
-TARGETS-y:=kernel-headers libnotimpl
+TARGETS-y:=kernel-headers
 TARGETS-$(CONFIG_GDB) += gdb
+TARGETS-$(CONFIG_CCACHE) += ccache
 ifeq ($(CONFIG_NATIVE_TOOLCHAIN),)
   TARGETS-y+=binutils gcc uClibc
 endif
@@ -22,18 +23,22 @@ all: install
 download: $(TARGETS_DOWNLOAD)
 install: $(TARGETS_INSTALL)
 clean: $(TARGETS_CLEAN)
+$(TARGETS_INSTALL): $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)
 
-uClibc-prepare: kernel-headers-prepare
+uClibc-prepare: ccache-prepare kernel-headers-prepare
 ifeq ($(CONFIG_NATIVE_TOOLCHAIN),)
   binutils-prepare: uClibc-prepare
   gcc-prepare: binutils-install
   uClibc-compile: gcc-compile
-  libnotimpl-compile: gcc-install
 endif
 gcc-install: uClibc-install
 
 TOOLCHAIN_STAMP_DIR:=$(STAGING_DIR)/stampfiles
 
+$(STAGING_DIR)/$(REAL_GNU_TARGET_NAME):
+       @mkdir -p $@
+       @ln -sf ../lib $@/lib
+
 $(TOOLCHAIN_STAMP_DIR):
        mkdir -p $@
 
@@ -43,7 +48,7 @@ $(TOOLCHAIN_BUILD_DIR):
 %-download: FORCE
        $(MAKE) -C $(patsubst %-download,%,$@) download
 
-%-prepare: $(TOOLCHAIN_STAMP_DIR) $(STAGING_DIR) $(TOOLCHAIN_BUILD_DIR) FORCE
+%-prepare: $(TOOLCHAIN_STAMP_DIR) $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME) $(TOOLCHAIN_BUILD_DIR) FORCE
        @[ -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@ ] || { \
                $(MAKE) -C $(patsubst %-prepare,%,$@) prepare; \
        }