X-Git-Url: http://git.ozo.com/?a=blobdiff_plain;f=tools%2FMakefile;h=513ecccb5197db32c2867b8cecbb12ad4636c7b1;hb=8bfda76892a39c033b5abf2c17035a444fffad08;hp=d03ab38ee38343a86f6c61dc4451a5c8874ffa8e;hpb=d415d5f3e6790f5c5ddb2183c2e705d0dcac44d4;p=openwrt-10.03%2F.git diff --git a/tools/Makefile b/tools/Makefile index d03ab38ee..513ecccb5 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: 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)