build: reimplement package build directory override
Remove leftover pieces from package-version-override.mk support Add a new variable USE_SOURCE_DIR to use a custom build directory. Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40527 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
139e79dd1b
commit
3a6879ec82
|
@ -66,6 +66,12 @@ ifneq ($(if $(CONFIG_SRC_TREE_OVERRIDE),$(wildcard ./git-src)),)
|
||||||
USE_GIT_TREE:=1
|
USE_GIT_TREE:=1
|
||||||
QUILT:=1
|
QUILT:=1
|
||||||
endif
|
endif
|
||||||
|
ifdef USE_SOURCE_DIR
|
||||||
|
QUILT:=1
|
||||||
|
endif
|
||||||
|
ifneq ($(wildcard $(PKG_BUILD_DIR)/.source_dir),)
|
||||||
|
QUILT:=1
|
||||||
|
endif
|
||||||
|
|
||||||
PKG_DIR_NAME:=$(lastword $(subst /,$(space),$(CURDIR)))
|
PKG_DIR_NAME:=$(lastword $(subst /,$(space),$(CURDIR)))
|
||||||
PKG_INSTALL_STAMP:=$(PKG_INFO_DIR)/$(PKG_DIR_NAME).$(if $(BUILD_VARIANT),$(BUILD_VARIANT),default).install
|
PKG_INSTALL_STAMP:=$(PKG_INFO_DIR)/$(PKG_DIR_NAME).$(if $(BUILD_VARIANT),$(BUILD_VARIANT),default).install
|
||||||
|
@ -95,20 +101,6 @@ ifeq ($(DUMP)$(filter prereq clean refresh update,$(MAKECMDGOALS)),)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_$(PKG_NAME)_USE_CUSTOM_SOURCE_DIR),y)
|
|
||||||
# disable load stage
|
|
||||||
PKG_SOURCE_URL:=
|
|
||||||
# add hook to install a link to customer source path of dedicated package
|
|
||||||
Hooks/Prepare/Pre += prepare_custom_source_directory
|
|
||||||
ifeq ($(filter autoreconf,$(Hooks/Configure/Pre)),)
|
|
||||||
Hooks/Configure/Pre += autoreconf_target
|
|
||||||
endif
|
|
||||||
# define empty default action
|
|
||||||
define Build/Prepare/Default
|
|
||||||
@:
|
|
||||||
endef
|
|
||||||
endif
|
|
||||||
|
|
||||||
define Download/default
|
define Download/default
|
||||||
FILE:=$(PKG_SOURCE)
|
FILE:=$(PKG_SOURCE)
|
||||||
URL:=$(PKG_SOURCE_URL)
|
URL:=$(PKG_SOURCE_URL)
|
||||||
|
@ -127,6 +119,14 @@ ifdef USE_GIT_TREE
|
||||||
( cd $(PKG_BUILD_DIR); git checkout .)
|
( cd $(PKG_BUILD_DIR); git checkout .)
|
||||||
endef
|
endef
|
||||||
endif
|
endif
|
||||||
|
ifdef USE_SOURCE_DIR
|
||||||
|
define Build/Prepare/Default
|
||||||
|
rm -rf $(PKG_BUILD_DIR)
|
||||||
|
$(if $(wildcard $(USE_SOURCE_DIR)/*),,@echo "Error: USE_SOURCE_DIR=$(USE_SOURCE_DIR) path not found"; false)
|
||||||
|
ln -snf $(USE_SOURCE_DIR) $(PKG_BUILD_DIR)
|
||||||
|
touch $(PKG_BUILD_DIR)/.source_dir
|
||||||
|
endef
|
||||||
|
endif
|
||||||
|
|
||||||
define Build/Exports/Default
|
define Build/Exports/Default
|
||||||
$(1) : export ACLOCAL_INCLUDE=$$(foreach p,$$(wildcard $$(STAGING_DIR)/usr/share/aclocal $$(STAGING_DIR)/usr/share/aclocal-* $$(STAGING_DIR)/host/share/aclocal $$(STAGING_DIR)/host/share/aclocal-*),-I $$(p))
|
$(1) : export ACLOCAL_INCLUDE=$$(foreach p,$$(wildcard $$(STAGING_DIR)/usr/share/aclocal $$(STAGING_DIR)/usr/share/aclocal-* $$(STAGING_DIR)/host/share/aclocal $$(STAGING_DIR)/host/share/aclocal-*),-I $$(p))
|
||||||
|
@ -141,7 +141,7 @@ Build/Exports=$(Build/Exports/Default)
|
||||||
|
|
||||||
define Build/DefaultTargets
|
define Build/DefaultTargets
|
||||||
$(if $(QUILT),$(Build/Quilt))
|
$(if $(QUILT),$(Build/Quilt))
|
||||||
$(if $(USE_GIT_TREE),,$(if $(strip $(PKG_SOURCE_URL)),$(call Download,default)))
|
$(if $(USE_SOURCE_DIR)$(USE_GIT_TREE),,$(if $(strip $(PKG_SOURCE_URL)),$(call Download,default)))
|
||||||
$(call Build/Autoclean)
|
$(call Build/Autoclean)
|
||||||
|
|
||||||
download:
|
download:
|
||||||
|
|
Loading…
Reference in New Issue