|
150 | 150 | rm -rf build/out/$MODEL |
151 | 151 | mkdir -p build/out/$MODEL/zip/files |
152 | 152 | 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 |
153 | 178 |
|
154 | 179 | # Build kernel image |
155 | 180 | echo "-----------------------------------------------" |
|
169 | 194 |
|
170 | 195 | echo "-----------------------------------------------" |
171 | 196 | 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 |
175 | 206 |
|
176 | 207 | echo "Building kernel..." |
177 | 208 | echo "-----------------------------------------------" |
|
0 commit comments