make busybox autorebuild on relevant config changes
SVN-Revision: 6651
This commit is contained in:
		| @@ -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)" \ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Felix Fietkau
					Felix Fietkau