diff --git a/config/dependencies/arch b/config/dependencies/arch
index cfe69ac752c8151e415692ecfe7bd21fa46ac573..588f47b3ffbff6214e1f63ad03ed00859988ff0f 100644
--- a/config/dependencies/arch
+++ b/config/dependencies/arch
@@ -4,7 +4,7 @@ acpica arm-none-eabi-binutils arm-none-eabi-gcc arm-none-eabi-newlib \
 autogen base-devel bison cmake curl device-mapper doxygen \
 dtc e2fsprogs flex freetype2 fuse2 gawk gcc-ada gdb gettext git \
 help2man innoextract libftdi libgpiod libjaylink libpciaccess libusb nasm \
-ncurses openssl p7zip \
+ncurses openssl p7zip ccache \
 pandoc parted pciutils perl perl-libwww python python-setuptools rsync \
 sharutils subversion swig texinfo ttf-dejavu unarchiver unzip wget xz zlib \
 "
diff --git a/config/dependencies/debian b/config/dependencies/debian
index 33902f199e780fbaccb3505af2e5bbfc86adc377..3375064f26e2cd77d5698445ca027284fcebbcc8 100755
--- a/config/dependencies/debian
+++ b/config/dependencies/debian
@@ -11,5 +11,5 @@ libsdl2-dev libselinux1-dev libssl-dev libtool libusb-1.0 libusb-1.0-0-dev \
 libusb-dev lz4 lzma lzma-alone m4 nasm openssl p7zip p7zip-full parted pciutils \
 perl pkg-config python3 python3-distutils python3-pkg-resources python3-pycryptodome \
 python3-pyelftools python3-setuptools python-is-python3 sharutils swig unar \
-unifont unifont-bin unzip uuid-dev wget xfonts-unifont zlib1g-dev \
+unifont unifont-bin unzip uuid-dev wget xfonts-unifont zlib1g-dev ccache \
 "
diff --git a/config/dependencies/fedora38 b/config/dependencies/fedora38
index 1b9affe333c59f785df16cf08b7596efab1dfd8b..5575a5f09751428483e01aa257a89179dd3bfe56 100755
--- a/config/dependencies/fedora38
+++ b/config/dependencies/fedora38
@@ -8,5 +8,5 @@ innoextract intltool libftdi-devel libselinux-devel libusb1 libusb1-devel \
 nasm ncurses-devel openssl-devel p7zip p7zip-plugins pandoc parted \
 pciutils-devel perl perl-libwww-perl python-unversioned-command python3 \
 python3-setuptools rsync sharutils subversion texinfo unar unifont \
-unifont-fonts unifont-ttf-fonts unzip wget xz zlib-devel \
+unifont-fonts unifont-ttf-fonts unzip wget xz zlib-devel ccache \
 "
diff --git a/config/dependencies/fedora40 b/config/dependencies/fedora40
index aeedd75514e454dbc8d20b1380bea86f4a88733b..f39de483c1e56738b9778c704ce8041fcb814f28 100755
--- a/config/dependencies/fedora40
+++ b/config/dependencies/fedora40
@@ -9,5 +9,5 @@ libselinux-devel libusb1 libusb1-devel nasm ncurses-devel openssl-devel \
 p7zip p7zip-plugins pandoc parted pciutils-devel perl perl-libwww-perl \
 python-unversioned-command python3 python3-setuptools rsync sharutils \
 subversion systemd-devel texinfo unar unifont unifont-fonts \
-unifont-ttf-fonts unzip wget xz zlib-devel
+unifont-ttf-fonts unzip wget xz zlib-devel ccache
 "
diff --git a/config/dependencies/parabola b/config/dependencies/parabola
index 27dd59c453ed005360f4f1576c8cb9faa1402e3c..50462afe28c392e71c08d2c7cac70c4673614422 100644
--- a/config/dependencies/parabola
+++ b/config/dependencies/parabola
@@ -7,5 +7,5 @@ help2man innoextract libftdi libgpiod libjaylink libpciaccess libusb nasm \
 ncurses openssl p7zip \
 pandoc parted pciutils perl perl-libwww python python-setuptools rsync \
 sharutils subversion swig texinfo ttf-dejavu unarchiver unifont-utils unzip \
-wget xz zlib \
+wget xz zlib ccache \
 "
diff --git a/config/dependencies/trisquel b/config/dependencies/trisquel
index 1ae9a80be926b493c42f30eb7ef1c16333187b92..c8e40b43281d35763ed66faf8ee72a7bc8dc0e19 100755
--- a/config/dependencies/trisquel
+++ b/config/dependencies/trisquel
@@ -5,7 +5,7 @@ bison build-essential cmake curl device-tree-compiler doxygen e2fsprogs efitools
 flex gawk gcc-arm-linux-gnueabi gcc-arm-none-eabi gdb gettext git gnat help2man \
 innoextract libdevmapper-dev libfdt-dev libfont-freetype-perl libfreetype6-dev \
 libftdi-dev libfuse-dev libgnutls28-dev libgpiod-dev libjaylink-dev liblz4-tool \
-liblzma-dev libncurses5-dev \
+liblzma-dev libncurses5-dev ccache \
 libncurses-dev libnewlib-arm-none-eabi libopts25 libopts25-dev libpci-dev \
 libpython3-dev libsdl2-dev libselinux1-dev libssl-dev libtool libusb-1.0-0 \
 libusb-1.0-0-dev lz4 lzma lzma-alone m4 nasm openssl p7zip p7zip-full parted \
diff --git a/config/dependencies/ubuntu2004 b/config/dependencies/ubuntu2004
index 02661ca553acf7fff1480dc2308137defecb8e86..e4b3ef109ea58554db9d7f0859314f9a22759862 100755
--- a/config/dependencies/ubuntu2004
+++ b/config/dependencies/ubuntu2004
@@ -10,5 +10,5 @@ libpython3-dev libsdl2-dev libselinux1-dev libssl-dev libtool libusb-1.0-0 \
 libusb-1.0-0-dev lz4 lzma lzma-alone m4 nasm openssl p7zip p7zip-full parted \
 pciutils perl pkg-config python3 python3-distutils python3-pkg-resources \
 python3-pycryptodome python3-pyelftools python3-setuptools python-is-python3 \
-sharutils swig ttf-unifont unar unifont unzip uuid-dev wget zlib1g-dev \
+sharutils swig ttf-unifont unar unifont unzip uuid-dev wget zlib1g-dev ccache \
 "
diff --git a/config/dependencies/ubuntu2404 b/config/dependencies/ubuntu2404
index 7f91ed0516070c929a41f130a75dc5d48e9af252..01e15521af75ee903229bc2079fc80847cdf2cfa 100755
--- a/config/dependencies/ubuntu2404
+++ b/config/dependencies/ubuntu2404
@@ -10,5 +10,5 @@ libpython3-dev libsdl2-dev libselinux1-dev libssl-dev libtool libusb-1.0-0 \
 libusb-1.0-0-dev lz4 lzma lzma-alone m4 nasm openssl p7zip p7zip-full parted \
 pciutils perl pkg-config python3 python3-pkg-resources python3-pycryptodome \
 python3-pyelftools python3-setuptools python-is-python3 sharutils swig \
-fonts-unifont unar unifont unzip uuid-dev wget zlib1g-dev \
+fonts-unifont unar unifont unzip uuid-dev wget zlib1g-dev ccache \
 "
diff --git a/config/dependencies/void b/config/dependencies/void
index 0ab258c2026b210b39b9f8aa575552a6ac15f13b..79a123283e4b21286c80a5391673d514e4753dd2 100644
--- a/config/dependencies/void
+++ b/config/dependencies/void
@@ -8,5 +8,5 @@ freetype freetype-devel fuse gawk gcc-ada gdb gettext gettext-devel git \
 help2man innoextract libftdi1 libpciaccess libusb nasm ncurses \
 ncurses-devel openssl openssl-devel p7zip parted pciutils perl perl-LWP \
 python python3 python3-setuptools rsync sharutils subversion texinfo \
-unar unzip wget xz zlib
+unar unzip wget xz zlib ccache
 "
diff --git a/include/rom.sh b/include/rom.sh
index b0d7ff0351d267cf1206aee56ec56d8b473df529..d72ef243aadf0306698d23d2726213e6bc1bad40 100644
--- a/include/rom.sh
+++ b/include/rom.sh
@@ -43,11 +43,20 @@ mkpayload_grub()
 
 mkvendorfiles()
 {
+	[ -z "$mode" ] && $dry cook_coreboot_config
 	check_coreboot_utils "$tree"
 	printf "%s\n" "${version%%-*}" > "$srcdir/.coreboot-version" || \
 	    $err "!mk $srcdir .coreboot-version"
 }
 
+cook_coreboot_config()
+{
+	[ -f "$srcdir/.config" ] || return 0
+	printf "CONFIG_CCACHE=y\n" >> "$srcdir/.config" || \
+	    $err "$srcdir/.config: Could not enable ccache"
+	make -C "$srcdir" oldconfig || $err "Could not cook $srcdir/.config"; :
+}
+
 check_coreboot_utils()
 {
 	for util in cbfstool ifdtool; do