make busybox autorebuild on relevant config changes

SVN-Revision: 6651
This commit is contained in:
Felix Fietkau 2007-03-23 19:13:08 +00:00
parent 437ffd0970
commit 000393712e
3 changed files with 22 additions and 10 deletions

View File

@ -17,6 +17,9 @@ include $(INCLUDE_DIR)/package-defaults.mk
include $(INCLUDE_DIR)/package-dumpinfo.mk
include $(INCLUDE_DIR)/package-ipkg.mk
STAMP_PREPARED:=$(PKG_BUILD_DIR)/.prepared
STAMP_CONFIGURED:=$(PKG_BUILD_DIR)/.configured
STAMP_BUILT:=$(PKG_BUILD_DIR)/.built
export CONFIG_SITE:=$(INCLUDE_DIR)/site/$(REAL_GNU_TARGET_NAME)
define Build/DefaultTargets
@ -27,46 +30,46 @@ define Build/DefaultTargets
mkdir -p $(DL_DIR)
$(SCRIPT_DIR)/download.pl "$(DL_DIR)" "$(PKG_SOURCE)" "$(PKG_MD5SUM)" $(PKG_SOURCE_URL)
$(PKG_BUILD_DIR)/.prepared: $(DL_DIR)/$(PKG_SOURCE)
$(STAMP_PREPARED): $(DL_DIR)/$(PKG_SOURCE)
endif
ifeq ($(DUMP),)
ifeq ($(CONFIG_AUTOREBUILD),y)
ifneq ($$(shell $(SCRIPT_DIR)/timestamp.pl -p $(PKG_BUILD_DIR) . $(PKG_FILE_DEPEND)),$(PKG_BUILD_DIR))
$$(info Forcing package rebuild)
$(PKG_BUILD_DIR)/.prepared: clean
$(STAMP_PREPARED): clean
endif
endif
endif
$(PKG_BUILD_DIR)/.prepared:
$(STAMP_PREPARED):
@-rm -rf $(PKG_BUILD_DIR)
@mkdir -p $(PKG_BUILD_DIR)
$(Build/Prepare)
touch $$@
$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.prepared
$(STAMP_CONFIGURED): $(STAMP_PREPARED)
$(Build/Configure)
touch $$@
$(PKG_BUILD_DIR)/.built: $(PKG_BUILD_DIR)/.configured
$(STAMP_BUILT): $(STAMP_CONFIGURED)
$(Build/Compile)
touch $$@
ifdef Build/InstallDev
ifneq ($$(shell $(SCRIPT_DIR)/timestamp.pl -p -x ipkg -x ipkg-install $(STAGING_DIR)/stampfiles/.$(PKG_NAME)-installed $(PKG_BUILD_DIR)),$(STAGING_DIR)/stampfiles/.$(PKG_NAME)-installed)
$(PKG_BUILD_DIR)/.built: package-rebuild
$(STAMP_BUILT): package-rebuild
endif
compile: $(STAGING_DIR)/stampfiles/.$(PKG_NAME)-installed
$(STAGING_DIR)/stampfiles/.$(PKG_NAME)-installed: $(PKG_BUILD_DIR)/.built
$(STAGING_DIR)/stampfiles/.$(PKG_NAME)-installed: $(STAMP_BUILT)
mkdir -p $(STAGING_DIR)/stampfiles
$(Build/InstallDev)
touch $$@
endif
package-rebuild: FORCE
@-rm -f $(PKG_BUILD_DIR)/.built
@-rm -f $(STAMP_BUILT)
define Build/DefaultTargets
endef
@ -115,8 +118,8 @@ $(PACKAGE_DIR):
dumpinfo:
download:
prepare: $(PKG_BUILD_DIR)/.prepared
configure: $(PKG_BUILD_DIR)/.configured
prepare: $(STAMP_PREPARED)
configure: $(STAMP_CONFIGURED)
compile:
install:
clean: FORCE

View File

@ -28,3 +28,7 @@ trapret() {(
}
}
)}
md5s() {
which md5sum 2>&- >&- && md5sum "$@" | awk '{print $1}' || md5 "$@"
}

View File

@ -19,6 +19,10 @@ PKG_MD5SUM:=5728403bce309cdabcffa414e2e64052
include $(INCLUDE_DIR)/package.mk
ifeq ($(DUMP),)
STAMP_CONFIGURED:=$(strip $(STAMP_CONFIGURED))_$(shell grep '^CONFIG_BUSYBOX_' $(TOPDIR)/.config | md5s)
endif
init-y :=
init-$(CONFIG_BUSYBOX_CONFIG_HTTPD) += httpd
init-$(CONFIG_BUSYBOX_CONFIG_CROND) += cron
@ -46,6 +50,7 @@ define Package/busybox/config
endef
define Build/Configure
rm -f $(PKG_BUILD_DIR)/.configured*
$(SCRIPT_DIR)/gen_busybox_config.pl $(TOPDIR)/.config > $(PKG_BUILD_DIR)/.config
yes '' | $(MAKE) -C $(PKG_BUILD_DIR) \
CC="$(TARGET_CC)" \