You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This addresses build system inefficiencies and compatibility issues:
1. Configuration change detection: Use cmp-based comparison to avoid
unnecessary rebuilds when configuration hasn't actually changed.
Previously, every make run would touch .config and trigger full
rebuilds.
2. Directory creation optimization: Replace runtime mkdir -p $(shell dirname)
calls with order-only prerequisites (|). Add mkdir -p $(dir $@) to
compilation rules to ensure subdirectories exist for nested object
files (build/dtc/libfdt/*.o, build/devices/*.o).
3. Configuration dependency tracking: Add $(CONFIG_FILE) as explicit
prerequisite to all compilation rules. This ensures object files
rebuild when feature flags change (e.g., ENABLE_JIT=1 -> 0).
4. Emscripten SDL2_mixer fix: Add -sSTRICT=0 to CFLAGS_emcc to disable
STRICT mode. The emscripten-ports/SDL2_mixer repository was archived
in Jan 2024 and has warnings in music_modplug.c that become fatal
errors under STRICT mode's -Werror flag.
5. CI scan-build fix: Set LATEST_RELEASE=dummy environment variable in
scan-build steps. This prevents network-dependent prebuilt file
downloads while avoiding 32-bit compilation requirements
(ENABLE_PREBUILT=0 triggers -m32 flag which requires 32-bit
development libraries).
6. Build system hygiene: Remove duplicate .PHONY declarations, fix shell
script indentation in riscv-arch-test.mk, and add .PHONY coverage for
all target declarations.
0 commit comments