X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=include%2Fpackage.mk;h=66137f211bbcfaada8b1e7c69763e0c6274f3e5a;hb=9e57b627834166f0b0e365a165975fafd72ab951;hp=06ff21b0b0afab1d4d909d10a024909c08d7f34b;hpb=1174b94bc98db9730cec8501397cf997b6f7b35c;p=openwrt%2Fstaging%2Frmilecki.git diff --git a/include/package.mk b/include/package.mk index 06ff21b0b0a..66137f211bb 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