make busybox autorebuild on relevant config changes

SVN-Revision: 6651
master
Felix Fietkau 18 years ago
parent 437ffd0970
commit 000393712e
  1. 23
      include/package.mk
  2. 4
      include/shell.sh
  3. 5
      package/busybox/Makefile

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

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

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

Loading…
Cancel
Save