Skip to content

Commit a8ecebd

Browse files
committed
Build.sh: fix caching
1 parent 116d96a commit a8ecebd

1 file changed

Lines changed: 34 additions & 3 deletions

File tree

build.sh

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,31 @@ fi
150150
rm -rf build/out/$MODEL
151151
mkdir -p build/out/$MODEL/zip/files
152152
mkdir -p build/out/$MODEL/zip/META-INF/com/google/android
153+
mkdir -p out
154+
155+
CONFIG_SIGNATURE_FILE="out/.config.signature"
156+
CONFIG_FILES=(
157+
arch/arm64/configs/exynos9820_defconfig
158+
"arch/arm64/configs/${MODEL}.config"
159+
)
160+
161+
if [[ -n "$KSU" ]]; then
162+
CONFIG_FILES+=(arch/arm64/configs/ksu.config)
163+
fi
164+
165+
if [[ -n "$RECOVERY" ]]; then
166+
CONFIG_FILES+=(arch/arm64/configs/recovery.config)
167+
fi
168+
169+
CONFIG_HASH=$(cat "${CONFIG_FILES[@]}" | sha256sum | awk '{print $1}')
170+
CONFIG_SIGNATURE=$(printf "model=%s\nksu=%s\nrecovery=%s\nhash=%s\n" "$MODEL" "${KSU_OPTION:-n}" "${RECOVERY_OPTION:-n}" "$CONFIG_HASH")
171+
172+
REGENERATE_CONFIG=1
173+
if [[ -f "$CONFIG_SIGNATURE_FILE" ]]; then
174+
if [[ "$(cat "$CONFIG_SIGNATURE_FILE")" == "$CONFIG_SIGNATURE" ]]; then
175+
REGENERATE_CONFIG=0
176+
fi
177+
fi
153178

154179
# Build kernel image
155180
echo "-----------------------------------------------"
@@ -169,9 +194,15 @@ fi
169194

170195
echo "-----------------------------------------------"
171196
echo "Building kernel using "$KERNEL_DEFCONFIG""
172-
echo "Generating configuration file..."
173-
echo "-----------------------------------------------"
174-
make ${MAKE_ARGS} -j$CORES exynos9820_defconfig $MODEL.config $KSU $RECOVERY || abort
197+
if [[ $REGENERATE_CONFIG -eq 1 ]]; then
198+
echo "Generating configuration file..."
199+
echo "-----------------------------------------------"
200+
make ${MAKE_ARGS} -j$CORES exynos9820_defconfig $MODEL.config $KSU $RECOVERY || abort
201+
echo "$CONFIG_SIGNATURE" > "$CONFIG_SIGNATURE_FILE"
202+
else
203+
echo "Configuration unchanged; skipping defconfig step."
204+
echo "-----------------------------------------------"
205+
fi
175206

176207
echo "Building kernel..."
177208
echo "-----------------------------------------------"

0 commit comments

Comments
 (0)