diff --git a/Makefile.include b/Makefile.include index dbffc58186..61b536071d 100644 --- a/Makefile.include +++ b/Makefile.include @@ -41,8 +41,6 @@ RIOTMAKE ?= $(RIOTBASE)/makefiles RIOTPKG ?= $(RIOTBASE)/pkg RIOTTOOLS ?= $(RIOTBASE)/dist/tools RIOTPROJECT ?= $(shell git rev-parse --show-toplevel 2>/dev/null || pwd) -GITCACHE ?= $(RIOTTOOLS)/git/git-cache -GIT_CACHE_DIR ?= $(HOME)/.gitcache BUILD_DIR ?= $(RIOTBASE)/build APPDIR ?= $(CURDIR) BINDIRBASE ?= $(APPDIR)/bin @@ -65,7 +63,6 @@ __DIRECTORY_VARIABLES := \ BUILD_DIR \ BINDIRBASE \ BINDIR \ - GITCACHE \ PKGDIRBASE \ DLCACHE_DIR \ # @@ -115,7 +112,6 @@ override RIOTMAKE := $(abspath $(RIOTMAKE)) override RIOTPKG := $(abspath $(RIOTPKG)) override RIOTTOOLS := $(abspath $(RIOTTOOLS)) override RIOTPROJECT := $(abspath $(RIOTPROJECT)) -override GITCACHE := $(abspath $(GITCACHE)) override APPDIR := $(abspath $(APPDIR)) override BUILD_DIR := $(abspath $(BUILD_DIR)) override BINDIRBASE := $(abspath $(BINDIRBASE)) diff --git a/dist/tools/buildsystem_sanity_check/check.sh b/dist/tools/buildsystem_sanity_check/check.sh index 9974e3470a..5ef5f01fac 100755 --- a/dist/tools/buildsystem_sanity_check/check.sh +++ b/dist/tools/buildsystem_sanity_check/check.sh @@ -107,6 +107,7 @@ UNEXPORTED_VARIABLES+=('FLASH_TARGET_TYPE') UNEXPORTED_VARIABLES+=('PYOCD_ADAPTER_INIT') UNEXPORTED_VARIABLES+=('JLINK_DEVICE' 'JLINK_IF') UNEXPORTED_VARIABLES+=('JLINK_PRE_FLASH' 'JLINK_RESET_FILE') +UNEXPORTED_VARIABLES+=('GIT_CACHE' 'GIT_CACHE_DIR') EXPORTED_VARIABLES_ONLY_IN_VARS=() EXPORTED_VARIABLES_ONLY_IN_VARS+=('APPDEPS') diff --git a/dist/tools/flatc/Makefile b/dist/tools/flatc/Makefile index 24a3dab6d0..9ac92acf81 100644 --- a/dist/tools/flatc/Makefile +++ b/dist/tools/flatc/Makefile @@ -11,7 +11,6 @@ FLATC_BUILD_DIR = $(PKG_BUILDDIR)/build # manually set some RIOT env vars, so this Makefile can be called stand-alone RIOTBASE ?= $(CURDIR)/../../.. RIOTTOOLS ?= $(CURDIR)/.. -GITCACHE ?= $(RIOTTOOLS)/git/git-cache CMAKE_OPTIONS = \ -DCMAKE_BUILD_TYPE=Release \ diff --git a/dist/tools/git/git-cache b/dist/tools/git/git-cache index 06901afd99..24e4de4ffd 100755 --- a/dist/tools/git/git-cache +++ b/dist/tools/git/git-cache @@ -256,7 +256,7 @@ usage() { ACTION=$1 shift 1 -export GIT_CACHE_DIR=${GIT_CACHE_DIR:-${HOME}/.gitcache} +GIT_CACHE_DIR=${GIT_CACHE_DIR:-${HOME}/.gitcache} case $ACTION in init) diff --git a/dist/tools/mosquitto_rsmb/Makefile b/dist/tools/mosquitto_rsmb/Makefile index ee977acaa5..b1065d81bf 100644 --- a/dist/tools/mosquitto_rsmb/Makefile +++ b/dist/tools/mosquitto_rsmb/Makefile @@ -10,7 +10,6 @@ RSMB_CFG ?= $(CURDIR)/config.cnf # manually set some RIOT env vars, so this Makefile can be called stand-alone RIOTBASE ?= $(CURDIR)/../../.. RIOTTOOLS ?= $(CURDIR)/.. -GITCACHE ?= $(RIOTTOOLS)/git/git-cache # Include pkg.mk after setting RIOTBASE otherwise it is not found when this # Makefile is called stand-alone diff --git a/makefiles/vars.inc.mk b/makefiles/vars.inc.mk index 78a6ca294f..61cd8b2bec 100644 --- a/makefiles/vars.inc.mk +++ b/makefiles/vars.inc.mk @@ -81,8 +81,8 @@ export WERROR # Treat all compiler warnings as errors if set to 1 export WPEDANTIC # Issue all (extensive) compiler warnings demanded by strict C/C++ # EEPROM_FILE # (Native only!) file path where the content of the EEPROM is stored -export GITCACHE # path to git-cache executable -export GIT_CACHE_DIR # path to git-cache cache directory +# GITCACHE # path to git-cache executable +# GIT_CACHE_DIR # path to git-cache cache directory, only used with packages # FLASHER # The command to call on "make flash". # PROG_DEV # The device to connect the FLASHER and DEBUGGER # FFLAGS # The parameters to supply to FLASHER. diff --git a/pkg/pkg.mk b/pkg/pkg.mk index bd14418b8d..4a2b5edb9a 100644 --- a/pkg/pkg.mk +++ b/pkg/pkg.mk @@ -28,6 +28,13 @@ PKG_DIR ?= $(CURDIR) PKG_BUILDDIR ?= $(PKGDIRBASE)/$(PKG_NAME) PKG_SOURCE_LOCAL ?= $(PKG_SOURCE_LOCAL_$(shell echo $(PKG_NAME) | tr a-z- A-Z_)) +# git-cache specific management: GIT_CACHE_DIR is exported only +# when cloning the repository. +GITCACHE ?= $(RIOTTOOLS)/git/git-cache +GIT_CACHE_DIR ?= $(HOME)/.gitcache +include $(RIOTBASE)/makefiles/utils/variables.mk +$(call target-export-variables,$(PKG_BUILDDIR)/.git,GIT_CACHE_DIR) + # allow overriding package source with local folder (useful during development) ifneq (,$(PKG_SOURCE_LOCAL)) include $(RIOTBASE)/pkg/local.mk