clean up stampfile mess for tools/ and toolchain/
SVN-Revision: 6357
This commit is contained in:
parent
92feed28d8
commit
ced1277147
20
rules.mk
20
rules.mk
|
@ -130,6 +130,26 @@ $(call shvar,$(1))=$$(call $(1))
|
||||||
export $(call shvar,$(1))
|
export $(call shvar,$(1))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
# Default targets for subdirectory calls
|
||||||
|
# Parameters:
|
||||||
|
# 1: dependencies for the prepare step
|
||||||
|
define default_subtargets
|
||||||
|
%-download: FORCE
|
||||||
|
$$(MAKE) -C $$(patsubst %-download,%,$$@) download
|
||||||
|
|
||||||
|
%-prepare: $(1) FORCE
|
||||||
|
$$(MAKE) -C $$(patsubst %-prepare,%,$$@) prepare
|
||||||
|
|
||||||
|
%-compile: %-prepare
|
||||||
|
$$(MAKE) -C $$(patsubst %-compile,%,$$@) compile
|
||||||
|
|
||||||
|
%-install: %-compile
|
||||||
|
$$(MAKE) -C $$(patsubst %-install,%,$$@) install
|
||||||
|
|
||||||
|
%-clean: FORCE
|
||||||
|
@$$(MAKE) -C $$(patsubst %-clean,%,$$@) clean
|
||||||
|
endef
|
||||||
|
|
||||||
|
|
||||||
all:
|
all:
|
||||||
FORCE: ;
|
FORCE: ;
|
||||||
|
|
|
@ -16,14 +16,20 @@ ifeq ($(CONFIG_NATIVE_TOOLCHAIN),)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
TARGETS_DOWNLOAD:=$(patsubst %,%-download,$(TARGETS-y))
|
TARGETS_DOWNLOAD:=$(patsubst %,%-download,$(TARGETS-y))
|
||||||
|
TARGETS_COMPILE:=$(patsubst %,%-compile,$(TARGETS-y))
|
||||||
TARGETS_INSTALL:=$(patsubst %,%-install,$(TARGETS-y))
|
TARGETS_INSTALL:=$(patsubst %,%-install,$(TARGETS-y))
|
||||||
TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS-y))
|
TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS-y))
|
||||||
|
STAMP:=$(STAGING_DIR)/stampfiles/.toolchain_installed
|
||||||
|
|
||||||
all: install
|
all: install
|
||||||
download: $(TARGETS_DOWNLOAD)
|
download: $(TARGETS_DOWNLOAD)
|
||||||
install: $(TARGETS_INSTALL)
|
compile: $(TARGETS_COMPILE)
|
||||||
|
install: $(STAMP)
|
||||||
clean: $(TARGETS_CLEAN)
|
clean: $(TARGETS_CLEAN)
|
||||||
$(TARGETS_INSTALL): $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)
|
|
||||||
|
ifneq ($(shell $(SCRIPT_DIR)/timestamp.pl -p . $(STAMP)),$(STAMP))
|
||||||
|
$(STAMP): $(TARGETS_INSTALL)
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_CCACHE),y)
|
ifeq ($(CONFIG_CCACHE),y)
|
||||||
uClibc-prepare: ccache-install
|
uClibc-prepare: ccache-install
|
||||||
|
@ -36,40 +42,16 @@ ifeq ($(CONFIG_NATIVE_TOOLCHAIN),)
|
||||||
endif
|
endif
|
||||||
gcc-install: uClibc-install
|
gcc-install: uClibc-install
|
||||||
|
|
||||||
TOOLCHAIN_STAMP_DIR:=$(STAGING_DIR)/stampfiles
|
$(STAMP):
|
||||||
|
mkdir -p $(shell dirname $@)
|
||||||
|
touch $@
|
||||||
|
|
||||||
$(STAGING_DIR)/$(REAL_GNU_TARGET_NAME):
|
$(STAGING_DIR)/$(REAL_GNU_TARGET_NAME):
|
||||||
@mkdir -p $@
|
@mkdir -p $@
|
||||||
@ln -sf ../lib $@/lib
|
@ln -sf ../lib $@/lib
|
||||||
|
|
||||||
$(TOOLCHAIN_STAMP_DIR):
|
|
||||||
mkdir -p $@
|
|
||||||
|
|
||||||
$(TOOLCHAIN_BUILD_DIR):
|
$(TOOLCHAIN_BUILD_DIR):
|
||||||
@mkdir -p $@
|
@mkdir -p $@
|
||||||
|
|
||||||
%-download: FORCE
|
$(eval $(call default_subtargets,$(STAGING_DIR)/$(REAL_GNU_TARGET_NAME) $(TOOLCHAIN_BUILD_DIR)))
|
||||||
$(MAKE) -C $(patsubst %-download,%,$@) download
|
|
||||||
|
|
||||||
%-prepare: $(TOOLCHAIN_STAMP_DIR) $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME) $(TOOLCHAIN_BUILD_DIR) FORCE
|
|
||||||
@[ -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@ ] || { \
|
|
||||||
$(MAKE) -C $(patsubst %-prepare,%,$@) prepare; \
|
|
||||||
}
|
|
||||||
@touch $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@
|
|
||||||
|
|
||||||
%-compile: %-prepare
|
|
||||||
@[ -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@ ] || { \
|
|
||||||
$(MAKE) -C $(patsubst %-compile,%,$@) compile; \
|
|
||||||
}
|
|
||||||
@touch $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@
|
|
||||||
|
|
||||||
%-install: %-compile
|
|
||||||
@[ -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@ ] || { \
|
|
||||||
$(MAKE) -C $(patsubst %-install,%,$@) install; \
|
|
||||||
}
|
|
||||||
@touch $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@
|
|
||||||
|
|
||||||
%-clean: FORCE
|
|
||||||
@$(MAKE) -C $(patsubst %-clean,%,$@) clean
|
|
||||||
@rm -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$(patsubst %-clean,%,$@)-*
|
|
||||||
|
|
||||||
|
|
|
@ -11,23 +11,27 @@ TARGETS-y:=sed sstrip ipkg-utils ext2fs squashfs mtd-utils lzma mkimage firmware
|
||||||
|
|
||||||
TARGETS_DOWNLOAD:=$(patsubst %,%-download,$(TARGETS-y))
|
TARGETS_DOWNLOAD:=$(patsubst %,%-download,$(TARGETS-y))
|
||||||
TARGETS_PREPARE:=$(patsubst %,%-prepare,$(TARGETS-y))
|
TARGETS_PREPARE:=$(patsubst %,%-prepare,$(TARGETS-y))
|
||||||
|
TARGETS_COMPILE:=$(patsubst %,%-compile,$(TARGETS-y))
|
||||||
TARGETS_INSTALL:=$(patsubst %,%-install,$(TARGETS-y))
|
TARGETS_INSTALL:=$(patsubst %,%-install,$(TARGETS-y))
|
||||||
TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS-y))
|
TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS-y))
|
||||||
|
STAMP:=$(STAGING_DIR)/stampfiles/.tools_installed
|
||||||
|
|
||||||
all: install
|
all: install
|
||||||
download: $(TARGETS_DOWNLOAD)
|
download: $(TARGETS_DOWNLOAD)
|
||||||
install:
|
compile: $(TARGETS_COMPILE)
|
||||||
$(MAKE) install-targets
|
install: $(STAMP)
|
||||||
install-targets: $(TARGETS_INSTALL)
|
|
||||||
clean: $(TARGETS_CLEAN)
|
clean: $(TARGETS_CLEAN)
|
||||||
|
|
||||||
squashfs-compile: lzma-install
|
squashfs-compile: lzma-install
|
||||||
|
|
||||||
TOOL_STAMP_DIR:=$(STAGING_DIR)/stampfiles
|
ifneq ($(shell $(SCRIPT_DIR)/timestamp.pl -p . $(STAMP)),$(STAMP))
|
||||||
|
$(STAMP): $(TARGETS_INSTALL)
|
||||||
$(TOOL_STAMP_DIR):
|
endif
|
||||||
mkdir -p $@
|
|
||||||
|
|
||||||
|
$(STAMP):
|
||||||
|
mkdir -p $(shell dirname $@)
|
||||||
|
touch $@
|
||||||
|
|
||||||
$(STAGING_DIR)/include-host:
|
$(STAGING_DIR)/include-host:
|
||||||
@mkdir -p $@
|
@mkdir -p $@
|
||||||
@$(CP) ./include/*.h $@/
|
@$(CP) ./include/*.h $@/
|
||||||
|
@ -35,30 +39,7 @@ $(STAGING_DIR)/include-host:
|
||||||
$(TOOL_BUILD_DIR):
|
$(TOOL_BUILD_DIR):
|
||||||
@mkdir -p $@
|
@mkdir -p $@
|
||||||
|
|
||||||
%-download: FORCE
|
$(eval $(call default_subtargets,$(STAGING_DIR)/include-host $(TOOL_BUILD_DIR)))
|
||||||
$(MAKE) -C $(patsubst %-download,%,$@) download
|
|
||||||
|
|
||||||
%-prepare: $(TOOL_STAMP_DIR) $(STAGING_DIR)/include-host $(TOOL_BUILD_DIR) FORCE
|
|
||||||
@[ -f $(TOOL_STAMP_DIR)/.tool_$@ ] || { \
|
|
||||||
$(MAKE) -C $(patsubst %-prepare,%,$@) prepare; \
|
|
||||||
}
|
|
||||||
@touch $(TOOL_STAMP_DIR)/.tool_$@
|
|
||||||
|
|
||||||
%-compile: %-prepare
|
|
||||||
@[ -f $(TOOL_STAMP_DIR)/.tool_$@ ] || { \
|
|
||||||
$(MAKE) -C $(patsubst %-compile,%,$@) compile; \
|
|
||||||
}
|
|
||||||
@touch $(TOOL_STAMP_DIR)/.tool_$@
|
|
||||||
|
|
||||||
%-install: %-compile
|
|
||||||
@[ -f $(TOOL_STAMP_DIR)/.tool_$@ ] || { \
|
|
||||||
$(MAKE) -C $(patsubst %-install,%,$@) install; \
|
|
||||||
}
|
|
||||||
@touch $(TOOL_STAMP_DIR)/.tool_$@
|
|
||||||
|
|
||||||
%-clean: FORCE
|
|
||||||
@$(MAKE) -C $(patsubst %-clean,%,$@) clean
|
|
||||||
@rm -f $(TOOL_STAMP_DIR)/.tool_$(patsubst %-clean,%,$@)-*
|
|
||||||
|
|
||||||
ifeq ($(MAKECMDGOALS),install-targets)
|
ifeq ($(MAKECMDGOALS),install-targets)
|
||||||
MAKEFLAGS:=$(MAKEFLAGS) -j$(CONFIG_JLEVEL)
|
MAKEFLAGS:=$(MAKEFLAGS) -j$(CONFIG_JLEVEL)
|
||||||
|
|
Loading…
Reference in New Issue