makefiles: Do not set CCACHE_BASEDIR environmental variable

When CCACHE_BASEDIR variable is set, ccache rewrites absolute paths into
relative paths before computing the hash that identifies the compilation
for all the paths under that directory.

The problem is that those paths are also used when the compiler is
called, so the generated dependency files (*.d) will have a relative
path to the object files, and thus, it will not match our rule for
compiling (we use absolute paths). As dependency files define the
targets this way, any change on its dependencies (e.g. an included
header file) will not re-trigger a build.
This commit is contained in:
Leandro Lanzieri 2019-11-28 14:13:39 +01:00
parent bf676d4728
commit d868c9c5c3
2 changed files with 0 additions and 6 deletions

View File

@ -23,7 +23,6 @@ include $(RIOT_MAKEFILES_GLOBAL_PRE)
# set undefined variables # set undefined variables
RIOTBASE ?= $(_riotbase) RIOTBASE ?= $(_riotbase)
CCACHE_BASEDIR ?= $(RIOTBASE)
RIOTCPU ?= $(RIOTBASE)/cpu RIOTCPU ?= $(RIOTBASE)/cpu
RIOTBOARD ?= $(RIOTBASE)/boards RIOTBOARD ?= $(RIOTBASE)/boards
RIOTMAKE ?= $(RIOTBASE)/makefiles RIOTMAKE ?= $(RIOTBASE)/makefiles
@ -55,7 +54,6 @@ __DIRECTORY_VARIABLES := \
BUILD_DIR \ BUILD_DIR \
BINDIRBASE \ BINDIRBASE \
BINDIR \ BINDIR \
CCACHE_BASEDIR \
GITCACHE \ GITCACHE \
PKGDIRBASE \ PKGDIRBASE \
DLCACHE_DIR \ DLCACHE_DIR \
@ -63,7 +61,6 @@ __DIRECTORY_VARIABLES := \
# Make all paths absolute. # Make all paths absolute.
override RIOTBASE := $(abspath $(RIOTBASE)) override RIOTBASE := $(abspath $(RIOTBASE))
override CCACHE_BASEDIR := $(abspath $(CCACHE_BASEDIR))
override RIOTCPU := $(abspath $(RIOTCPU)) override RIOTCPU := $(abspath $(RIOTCPU))
override RIOTBOARD := $(abspath $(RIOTBOARD)) override RIOTBOARD := $(abspath $(RIOTBOARD))
override RIOTMAKE := $(abspath $(RIOTMAKE)) override RIOTMAKE := $(abspath $(RIOTMAKE))

View File

@ -92,9 +92,6 @@ export HEXFILE # The 'intel hex' stripped result of the compilatio
# RESET # The command to call on "make reset", this command resets/reboots the target. # RESET # The command to call on "make reset", this command resets/reboots the target.
# RESET_FLAGS # The parameters to supply to RESET. # RESET_FLAGS # The parameters to supply to RESET.
export CCACHE_BASEDIR # ccache basedir, allows multiple riot build
# directories to share a ccache directory
export DLCACHE # directory used to cache http downloads export DLCACHE # directory used to cache http downloads
export DOWNLOAD_TO_FILE # Use `$(DOWNLOAD_TO_FILE) $(DESTINATION) $(URL)` to download `$(URL)` to `$(DESTINATION)`. export DOWNLOAD_TO_FILE # Use `$(DOWNLOAD_TO_FILE) $(DESTINATION) $(URL)` to download `$(URL)` to `$(DESTINATION)`.
export DOWNLOAD_TO_STDOUT # Use `$(DOWNLOAD_TO_STDOUT) $(URL)` to download `$(URL)` output `$(URL)` to stdout, e.g. to be piped into `tar xz`. export DOWNLOAD_TO_STDOUT # Use `$(DOWNLOAD_TO_STDOUT) $(URL)` to download `$(URL)` output `$(URL)` to stdout, e.g. to be piped into `tar xz`.