diff options
author | jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-11-07 16:15:22 +0000 |
---|---|---|
committer | jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-11-07 16:15:22 +0000 |
commit | 366bfe9f216112c0c44199d2eb97083abe685008 (patch) | |
tree | 5dc50ce1d84c29d9e22332dd6d6c17519dc056b8 /include | |
parent | d336a6138478a3cf77ad8b12fa519b9048a8c595 (diff) |
buildroot: isolate the .install stamp files for build variants (#12279)
This fixes missing embedded packages if multiple build variants are selected in
the build config, e.g. missing ppp if CONFIG_PACKAGE_ppp=y and
CONFIG_PACKAGE_ppp-multilink=m .
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34106 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'include')
-rw-r--r-- | include/package-ipkg.mk | 16 | ||||
-rw-r--r-- | include/package.mk | 5 |
2 files changed, 11 insertions, 10 deletions
diff --git a/include/package-ipkg.mk b/include/package-ipkg.mk index 4ee0a96ad..5de51ebb5 100644 --- a/include/package-ipkg.mk +++ b/include/package-ipkg.mk @@ -75,22 +75,22 @@ ifeq ($(DUMP),) IDIR_$(1):=$(PKG_BUILD_DIR)/ipkg-$(PKGARCH)/$(1) KEEP_$(1):=$(strip $(call Package/$(1)/conffiles)) - ifeq ($(if $(VARIANT),$(BUILD_VARIANT)),$(VARIANT)) + ifeq ($(BUILD_VARIANT),$$(if $$(VARIANT),$$(VARIANT),$(BUILD_VARIANT))) ifdef Package/$(1)/install ifneq ($(CONFIG_PACKAGE_$(1))$(SDK)$(DEVELOPER),) IPKGS += $(1) compile: $$(IPKG_$(1)) $(PKG_INFO_DIR)/$(1).provides $(STAGING_DIR_ROOT)/stamp/.$(1)_installed ifeq ($(CONFIG_PACKAGE_$(1)),y) - .PHONY: $(PKG_INFO_DIR)/$(PKG_DIR_NAME).install.$(1) - compile: $(PKG_INFO_DIR)/$(PKG_DIR_NAME).install.$(1) - $(PKG_INFO_DIR)/$(PKG_DIR_NAME).install.$(1): - @if [ -f $(PKG_INFO_DIR)/$(PKG_DIR_NAME).install.clean ]; then \ + .PHONY: $(PKG_INSTALL_STAMP).$(1) + compile: $(PKG_INSTALL_STAMP).$(1) + $(PKG_INSTALL_STAMP).$(1): + if [ -f $(PKG_INSTALL_STAMP).clean ]; then \ rm -f \ - $(PKG_INFO_DIR)/$(PKG_DIR_NAME).install \ - $(PKG_INFO_DIR)/$(PKG_DIR_NAME).install.clean; \ + $(PKG_INSTALL_STAMP) \ + $(PKG_INSTALL_STAMP).clean; \ fi; \ - echo "$(1)" >> $(PKG_INFO_DIR)/$(PKG_DIR_NAME).install + echo "$(1)" >> $(PKG_INSTALL_STAMP) endif else compile: $(1)-disabled diff --git a/include/package.mk b/include/package.mk index fb90df871..c1fe088ec 100644 --- a/include/package.mk +++ b/include/package.mk @@ -52,6 +52,7 @@ ifneq ($(if $(CONFIG_SRC_TREE_OVERRIDE),$(wildcard ./git-src)),) endif PKG_DIR_NAME:=$(lastword $(subst /,$(space),$(CURDIR))) +PKG_INSTALL_STAMP:=$(PKG_INFO_DIR)/$(PKG_DIR_NAME).$(if $(BUILD_VARIANT),$(BUILD_VARIANT),default).install include $(INCLUDE_DIR)/download.mk include $(INCLUDE_DIR)/quilt.mk @@ -254,8 +255,8 @@ Build/DistCheck=$(call Build/DistCheck/Default,) .PHONY: prepare-package-install prepare-package-install: @mkdir -p $(PKG_INFO_DIR) - @touch $(PKG_INFO_DIR)/$(PKG_DIR_NAME).install.clean - @echo "$(filter-out essential,$(PKG_FLAGS))" > $(PKG_INFO_DIR)/$(PKG_DIR_NAME).install.flags + @touch $(PKG_INSTALL_STAMP).clean + @echo "$(filter-out essential,$(PKG_FLAGS))" > $(PKG_INSTALL_STAMP).flags $(PACKAGE_DIR): mkdir -p $@ |