diff options
author | John Crispin <john@phrozen.org> | 2019-07-10 13:32:24 +0200 |
---|---|---|
committer | John Crispin <john@phrozen.org> | 2019-07-10 14:00:19 +0200 |
commit | 9e57b627834166f0b0e365a165975fafd72ab951 (patch) | |
tree | dd58f6b9f8537b3bd405f9f240a7e8d82bacba62 | |
parent | 1174b94bc98db9730cec8501397cf997b6f7b35c (diff) | |
download | upstream-9e57b627834166f0b0e365a165975fafd72ab951.tar.gz upstream-9e57b627834166f0b0e365a165975fafd72ab951.tar.bz2 upstream-9e57b627834166f0b0e365a165975fafd72ab951.zip |
include/package.mk: Add support for src-checkout/ folder
This feature is similar to the SRC_TREE_OVERRIDE. However instead of having
to manually create a symlink inside the package folder, the buildsystem
will check if $(TOP_DIR)/src-checkout/$(PKG_NAME)/.git is present and use
this instead.
Signed-off-by: John Crispin <john@phrozen.org>
-rw-r--r-- | include/package.mk | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/include/package.mk b/include/package.mk index 06ff21b0b0..66137f211b 100644 --- a/include/package.mk +++ b/include/package.mk @@ -40,6 +40,10 @@ include $(INCLUDE_DIR)/prereq.mk include $(INCLUDE_DIR)/unpack.mk include $(INCLUDE_DIR)/depends.mk +ifneq ($(wildcard $(TOPDIR)/git-src/$(PKG_NAME)/.git),) + USE_GIT_SRC_CHECKOUT:=1 + QUILT:=1 +endif ifneq ($(if $(CONFIG_SRC_TREE_OVERRIDE),$(wildcard ./git-src)),) USE_GIT_TREE:=1 QUILT:=1 @@ -129,6 +133,18 @@ ifeq ($(DUMP)$(filter prereq clean refresh update,$(MAKECMDGOALS)),) endif endif +ifdef USE_GIT_SRC_CHECKOUT + define Build/Prepare/Default + mkdir -p $(PKG_BUILD_DIR) + ln -s $(TOPDIR)/git-src/$(PKG_NAME)/.git $(PKG_BUILD_DIR)/.git + ( cd $(PKG_BUILD_DIR); \ + git checkout .; \ + git submodule update --recursive; \ + git submodule foreach git config --unset core.worktree; \ + git submodule foreach git checkout .; \ + ) + endef +endif ifdef USE_GIT_TREE define Build/Prepare/Default mkdir -p $(PKG_BUILD_DIR) @@ -248,7 +264,7 @@ define Build/CoreTargets endef define Build/DefaultTargets - $(if $(USE_SOURCE_DIR)$(USE_GIT_TREE),,$(if $(strip $(PKG_SOURCE_URL)),$(call Download,default))) + $(if $(USE_SOURCE_DIR)$(USE_GIT_TREE)$(USE_GIT_SRC_CHECKOUT),,$(if $(strip $(PKG_SOURCE_URL)),$(call Download,default))) $(if $(DUMP),,$(Build/CoreTargets)) define Build/DefaultTargets |