diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-03-23 19:13:08 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-03-23 19:13:08 +0000 |
commit | c3241962560c5e114f3bbc3e7f1a52917730993e (patch) | |
tree | 51d334bb81e3af89f8afaffeae6940043cb256bd | |
parent | 78a4e88e7631e101b3917c58d9de741768598e7a (diff) |
make busybox autorebuild on relevant config changes
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@6651 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r-- | include/package.mk | 23 | ||||
-rw-r--r-- | include/shell.sh | 4 | ||||
-rw-r--r-- | package/busybox/Makefile | 5 |
3 files changed, 22 insertions, 10 deletions
diff --git a/include/package.mk b/include/package.mk index 44fe33ae1..c7b2a43d2 100644 --- a/include/package.mk +++ b/include/package.mk @@ -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 diff --git a/include/shell.sh b/include/shell.sh index 1e60692b9..db4100326 100644 --- a/include/shell.sh +++ b/include/shell.sh @@ -28,3 +28,7 @@ trapret() {( } } )} + +md5s() { + which md5sum 2>&- >&- && md5sum "$@" | awk '{print $1}' || md5 "$@" +} diff --git a/package/busybox/Makefile b/package/busybox/Makefile index 304960152..90e3af060 100644 --- a/package/busybox/Makefile +++ b/package/busybox/Makefile @@ -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)" \ |