X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/a8fa4331314a313deb0a36ce172412c086bc4123..7da046773161524d5726c688389a8fbe3d10f663:/package/rules.mk diff --git a/package/rules.mk b/package/rules.mk index 3f22cf642..e8417c3a5 100644 --- a/package/rules.mk +++ b/package/rules.mk @@ -5,25 +5,36 @@ else endif define Build/DefaultTargets - prepared: FORCE $(DL_DIR)/$(PKG_SOURCE) - ifeq ($(shell $(SCRIPT_DIR)/timestamp.pl -p $(PKG_BUILD_DIR) .),.) + ifeq ($(DUMP),) + ifeq ($$(shell $(SCRIPT_DIR)/timestamp.pl -p $(PKG_BUILD_DIR) . | tee /tmp/xy1),.) + $(PKG_BUILD_DIR)/.prepared: package-clean + endif + + ifneq ($$(shell $(SCRIPT_DIR)/timestamp.pl -p -x ipkg $(IPKG_$(1)) $(PKG_BUILD_DIR) | tee /tmp/xy2),$(IPKG_$(1))) + $(PKG_BUILD_DIR)/.built: package-rebuild + endif + endif + + $(PKG_BUILD_DIR)/.prepared: $(DL_DIR)/$(PKG_SOURCE) @-rm -rf $(PKG_BUILD_DIR) @mkdir -p $(PKG_BUILD_DIR) $(call Build/Prepare) - endif + touch $$@ - $(PKG_BUILD_DIR)/.configured: prepared + $(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.prepared $(call Build/Configure) touch $$@ - built: FORCE $(PKG_BUILD_DIR)/.configured - ifneq ($$(shell $(SCRIPT_DIR)/timestamp.pl -p -x ipkg $(IPKG_$(1)) $(PKG_BUILD_DIR)),$(IPKG_$(1))) + $(PKG_BUILD_DIR)/.built: $(PKG_BUILD_DIR)/.configured $(call Build/Compile) - endif - + touch $$@ + package-clean: FORCE $(call Build/Clean) + package-rebuild: FORCE + @-rm $(PKG_BUILD_DIR)/.built + define Build/DefaultTargets endef endef @@ -66,16 +77,12 @@ define BuildPackage IDIR_$(1):=$(PKG_BUILD_DIR)/ipkg/$(1) INFO_$(1):=$(IPKG_STATE_DIR)/info/$(1).list - ifneq ($(CONFIG_PACKAGE_$(1))$(DEVELOPER),) - COMPILE_$(1):=1 - endif - ifeq ($(CONFIG_PACKAGE_$(1)),y) install-targets: $$(INFO_$(1)) endif - ifneq ($(COMPILE_$(1)),) - compile-targets: $(IPKG_$(1)) + ifneq ($(CONFIG_PACKAGE_$(1))$(DEVELOPER),) + compile-targets: $$(IPKG_$(1)) endif IDEPEND_$(1):=$$(strip $$(DEPENDS)) @@ -109,7 +116,7 @@ define BuildPackage DUMPINFO += \ echo "@@"; - $$(IDIR_$(1))/CONTROL/control: prepared + $$(IDIR_$(1))/CONTROL/control: $(PKG_BUILD_DIR)/.prepared mkdir -p $$(IDIR_$(1))/CONTROL echo "Package: $(1)" > $$(IDIR_$(1))/CONTROL/control echo "Version: $(VERSION)" >> $$(IDIR_$(1))/CONTROL/control @@ -125,7 +132,7 @@ define BuildPackage [ -f ./ipkg/$(1).$$$$file ] && cp ./ipkg/$(1).$$$$file $$(IDIR_$(1))/CONTROL/$$$$file || true; \ done - $$(IPKG_$(1)): $$(IDIR_$(1))/CONTROL/control built + $$(IPKG_$(1)): $$(IDIR_$(1))/CONTROL/control $(PKG_BUILD_DIR)/.built $(call Package/$(1)/install,$$(IDIR_$(1))) mkdir -p $(PACKAGE_DIR) $(RSTRIP) $$(IDIR_$(1)) @@ -139,9 +146,7 @@ define BuildPackage clean: $(1)-clean - ifneq ($(__DEFAULT_TARGETS),1) - $$(eval $$(call Build/DefaultTargets,$(1))) - endif + $$(eval $$(call Build/DefaultTargets,$(1))) endef @@ -188,6 +193,7 @@ define Build/Configure/Default --infodir=/usr/info \ $(DISABLE_NLS) \ $(1); \ + true; \ ) endef @@ -202,11 +208,12 @@ define Build/Compile/Default PREFIX="$$(IDIR_$(1))" \ EXTRA_CFLAGS="$(TARGET_CFLAGS)" \ ARCH="$(ARCH)" \ - DESTDIR="$$(IDIR_$(1))" + DESTDIR="$$(IDIR_$(1))" \ + $(1); endef define Build/Compile - $(call Build/Compile/Default) + $(call Build/Compile/Default,) endef define Build/Clean @@ -214,28 +221,25 @@ define Build/Clean endef ifneq ($(DUMP),) - dumpinfo: + dumpinfo: FORCE $(DUMPINFO) else $(PACKAGE_DIR): mkdir -p $@ - source: FORCE $(DL_DIR)/$(PKG_SOURCE) - prepare: FORCE prepared - configure: FORCE $(PKG_BUILD_DIR)/.configured + source: $(DL_DIR)/$(PKG_SOURCE) + prepare: $(PKG_BUILD_DIR)/.prepared + configure: $(PKG_BUILD_DIR)/.configured - compile-targets: FORCE - compile: FORCE compile-targets + compile-targets: + compile: compile-targets - install-targets: FORCE - install: FORCE install-targets + install-targets: + install: install-targets - clean-targets: FORCE + clean-targets: clean: FORCE @$(MAKE) clean-targets rm -rf $(PKG_BUILD_DIR) endif - -.PHONY: FORCE -FORCE: