X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/d415d5f3e6790f5c5ddb2183c2e705d0dcac44d4..561a7c4c00d330400688a58b47ba08265189d311:/tools/Makefile 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)