build: fix the toolchain rebuild check

- Check for changes in toolchain/ only
- Only replace the stamp file if it was changed
- Fix dependencies for staging dir prepare
- Move the stamp file to TOOLCHAIN_DIR

Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
Felix Fietkau 2017-02-16 07:43:27 +01:00
parent a11243578a
commit f44ae19e15

View file

@ -70,15 +70,15 @@ endif
endif
ifdef CONFIG_BUILDBOT
$(STAGING_DIR)/.toolchain_ver_check: $(TMP_DIR)/.build
cd "$(TOPDIR)"; git log --format=%h -1 > $(TMP_DIR)/.toolchain_ver_check
cmp -s $(TMP_DIR)/.toolchain_ver_check $@ || \
rm -rf $(BUILD_DIR) $(STAGING_DIR) $(TOOLCHAIN_DIR) $(BUILD_DIR_TOOLCHAIN)
mkdir -p $(STAGING_DIR)
mv $(TMP_DIR)/.toolchain_ver_check $@
$(TOOLCHAIN_DIR)/stamp/.ver_check: $(TMP_DIR)/.build
cd "$(TOPDIR)"; git log --format=%h -1 toolchain > $(TMP_DIR)/.ver_check
cmp -s $(TMP_DIR)/.ver_check $@ || { \
rm -rf $(BUILD_DIR) $(STAGING_DIR) $(TOOLCHAIN_DIR) $(BUILD_DIR_TOOLCHAIN); \
mkdir -p $(TOOLCHAIN_DIR)/stamp; \
mv $(TMP_DIR)/.ver_check $@; \
}
$(STAGING_DIR)/.prepared: $(STAGING_DIR)/.toolchain_ver_check
$(TOOLCHAIN_DIR)/stamp/.gcc-initial_installed: $(STAGING_DIR)/.prepared
$(TOOLCHAIN_DIR)/info.mk $(STAGING_DIR)/.prepared: $(TOOLCHAIN_DIR)/stamp/.ver_check
endif
# prerequisites for the individual targets