X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/abbc6440741e747eb56f5b03d3df26df5e536864..ea36d0a79c3da2679a826f88c3b48b06ad0bd45a:/include/package.mk diff --git a/include/package.mk b/include/package.mk index fbd4cf714..396fae60f 100644 --- a/include/package.mk +++ b/include/package.mk @@ -15,17 +15,15 @@ include $(INCLUDE_DIR)/prereq.mk define Build/DefaultTargets ifeq ($(DUMP),) ifeq ($(CONFIG_AUTOREBUILD),y) + _INFO:= ifneq ($$(shell $(SCRIPT_DIR)/timestamp.pl -p $(PKG_BUILD_DIR) .),$(PKG_BUILD_DIR)) + _INFO+=$(subst $(TOPDIR)/,,$(PKG_BUILD_DIR)) $(PKG_BUILD_DIR)/.prepared: package-clean endif - ifneq ($$(shell $(SCRIPT_DIR)/timestamp.pl -p -x ipkg -x ipkg-install $(IPKG_$(1)) $(PKG_BUILD_DIR) | tee /tmp/check_$(1)),$(IPKG_$(1))) - $(PKG_BUILD_DIR)/.built: package-rebuild - endif endif endif - $(PKG_BUILD_DIR)/.prepared: @-rm -rf $(PKG_BUILD_DIR) @mkdir -p $(PKG_BUILD_DIR) @@ -41,6 +39,10 @@ define Build/DefaultTargets 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 + endif + $(STAGING_DIR)/stampfiles/.$(PKG_NAME)-installed: $(PKG_BUILD_DIR)/.built mkdir -p $(STAGING_DIR)/stampfiles $(call Build/InstallDev) @@ -121,8 +123,12 @@ define BuildPackage install-targets: $$(INFO_$(1)) endif - ifneq ($(CONFIG_PACKAGE_$(1))$(CONFIG_ALL),) + ifneq ($(CONFIG_PACKAGE_$(1)),) compile-targets: $$(IPKG_$(1)) + else + compile-targets: $(1)-disabled + $(1)-disabled: + @echo "WARNING: skipping $(1) -- package not selected" endif endif @@ -225,10 +231,25 @@ define BuildPackage clean: $(1)-clean $(PKG_BUILD_DIR)/.version-$(1)_$(VERSION)_$(PKGARCH): $(PKG_BUILD_DIR)/.prepared - -rm $(PKG_BUILD_DIR)/.version-$(1)_* + -@rm $(PKG_BUILD_DIR)/.version-$(1)_* 2>/dev/null @touch $$@ $$(eval $$(call Build/DefaultTargets,$(1))) + + ifneq ($$(CONFIG_PACKAGE_$(1)),) + ifneq ($(MAKECMDGOALS),prereq) + ifneq ($(DUMP),1) + ifneq ($$(shell $(SCRIPT_DIR)/timestamp.pl -p -x ipkg -x ipkg-install '$$(IPKG_$(1))' '$(PKG_BUILD_DIR)'),$$(IPKG_$(1))) + _INFO+=$(subst $(TOPDIR)/,,$$(IPKG_$(1))) + $(PKG_BUILD_DIR)/.built: package-rebuild + endif + + ifneq ($$(_INFO),) + $$(info Rebuilding $$(_INFO)) + endif + endif + endif + endif endef ifneq ($(strip $(PKG_CAT)),) @@ -246,17 +267,17 @@ ifneq ($(strip $(PKG_CAT)),) endif define Build/Prepare - $(call Build/Prepare/Default) + $(call Build/Prepare/Default,) endef define Build/Configure/Default @(cd $(PKG_BUILD_DIR)/$(3); \ - [ -x configure ] && \ - $(2) \ + if [ -x configure ]; then \ $(TARGET_CONFIGURE_OPTS) \ CFLAGS="$(TARGET_CFLAGS)" \ CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \ LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \ + $(2) \ ./configure \ --target=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \ @@ -275,7 +296,7 @@ define Build/Configure/Default --infodir=/usr/info \ $(DISABLE_NLS) \ $(1); \ - true; \ + fi; \ ) endef @@ -286,7 +307,6 @@ endef define Build/Compile/Default $(MAKE) -C $(PKG_BUILD_DIR) \ $(TARGET_CONFIGURE_OPTS) \ - CC=$(TARGET_CC) \ CROSS="$(TARGET_CROSS)" \ EXTRA_CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/include -I$(STAGING_DIR)/usr/include" \ ARCH="$(ARCH)" \