X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=blobdiff_plain;f=tools%2FMakefile;h=265c6aebf5c997b154eaf86e25656e21ad07223f;hp=d03ab38ee38343a86f6c61dc4451a5c8874ffa8e;hb=f8309731482f820fc866178798b32c10270af34a;hpb=6ee94bec6049a4cea3a0d858f88145ecc21063d8 diff --git a/tools/Makefile b/tools/Makefile index d03ab38ee3..265c6aebf5 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -8,6 +8,7 @@ # include $(TOPDIR)/rules.mk TARGETS-y:=sed sstrip ipkg-utils ext2fs squashfs mtd-utils lzma mkimage firmware-utils +TARGETS-$(CONFIG_CCACHE) += ccache TARGETS_DOWNLOAD:=$(patsubst %,%-download,$(TARGETS-y)) TARGETS_PREPARE:=$(patsubst %,%-prepare,$(TARGETS-y)) @@ -28,18 +29,29 @@ ifneq ($(shell $(SCRIPT_DIR)/timestamp.pl -p . $(STAMP)),$(STAMP)) $(STAMP): $(TARGETS_INSTALL) endif -$(STAMP): +$(STAMP): $(TOPDIR)/.config mkdir -p $(shell dirname $@) touch $@ - -$(STAGING_DIR)/include-host: - @mkdir -p $@ - @$(CP) ./include/*.h $@/ + +TOOL_HOST_INCLUDES:=$(patsubst ./include/%.h,$(STAGING_DIR)/include-host/%.h,$(wildcard ./include/*.h)) +$(TOOL_HOST_INCLUDES): $(STAGING_DIR)/include-host/%.h: ./include/%.h + @mkdir -p $(STAGING_DIR)/include-host + $(CP) $< $@ $(TOOL_BUILD_DIR): @mkdir -p $@ -$(eval $(call default_subtargets,$(STAGING_DIR)/include-host $(TOOL_BUILD_DIR))) +%-prereq %-download %-clean %-refresh: FORCE + $(MAKE) -C $* $(patsubst $*-%,%,$@) + +%-prepare: $(TOOL_HOST_INCLUDES) $(TOOL_BUILD_DIR) FORCE + $(MAKE) -C $* $(patsubst $*-%,%,$@) + +%-compile: %-prepare FORCE + $(MAKE) -C $* $(patsubst $*-%,%,$@) + +%-install: %-compile FORCE + $(MAKE) -C $* $(patsubst $*-%,%,$@) ifeq ($(MAKECMDGOALS),install-targets) MAKEFLAGS:=$(MAKEFLAGS) -j$(CONFIG_JLEVEL)