build: do not override CCACHE_DIR when ccache is disabled
[openwrt/openwrt.git] / include / package.mk
index e804b02b049c3cb1d4bdce9acfb560ac7511ff9c..a03db11119c454e0967c333bca59359c559754a3 100644 (file)
@@ -120,7 +120,12 @@ ifdef USE_GIT_TREE
   define Build/Prepare/Default
        mkdir -p $(PKG_BUILD_DIR)
        ln -s $(CURDIR)/git-src $(PKG_BUILD_DIR)/.git
-       ( cd $(PKG_BUILD_DIR); git checkout .)
+       ( 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_SOURCE_DIR
@@ -139,7 +144,7 @@ define Build/Exports/Default
   $(1) : export CONFIG_SITE:=$$(CONFIG_SITE)
   $(1) : export PKG_CONFIG_PATH:=$$(PKG_CONFIG_PATH)
   $(1) : export PKG_CONFIG_LIBDIR:=$$(PKG_CONFIG_PATH)
-  $(1) : export CCACHE_DIR:=$(STAGING_DIR)/ccache
+  $(if $(CONFIG_CCACHE),$(1) : export CCACHE_DIR:=$(STAGING_DIR)/ccache)
 endef
 Build/Exports=$(Build/Exports/Default)
 
@@ -168,11 +173,11 @@ define Build/CoreTargets
 
   $(call Build/Exports,$(STAMP_CONFIGURED))
   $(STAMP_CONFIGURED): $(STAMP_PREPARED) $(STAMP_CONFIGURED_DEPENDS)
+       rm -f $(STAMP_CONFIGURED_WILDCARD)
        $(CleanStaging)
        $(foreach hook,$(Hooks/Configure/Pre),$(call $(hook))$(sep))
        $(Build/Configure)
        $(foreach hook,$(Hooks/Configure/Post),$(call $(hook))$(sep))
-       rm -f $(STAMP_CONFIGURED_WILDCARD)
        touch $$@
 
   $(call Build/Exports,$(STAMP_BUILT))
@@ -223,7 +228,7 @@ define Build/CoreTargets
 
   ifneq ($(CONFIG_AUTOREMOVE),)
     compile:
-               -touch $(PKG_BUILD_DIR)/.autoremove 2>/dev/null >/dev/null
+               -touch -r $(PKG_BUILD_DIR)/.built $(PKG_BUILD_DIR)/.autoremove 2>/dev/null >/dev/null
                $(FIND) $(PKG_BUILD_DIR) -mindepth 1 -maxdepth 1 -not '(' -type f -and -name '.*' -and -size 0 ')' -and -not -name '.pkgdir' | \
                        $(XARGS) rm -rf
   endif