Replace build scripts with a Makefile
Single Makefile supports native builds (pkg-config) and cross-compilation (CROSS_COMPILE/PREFIX env vars). Fixes -Wformat-truncation and -Wstringop-truncation warnings at -O2 by sizing current_file to match audio_files (256) and replacing strncpy with snprintf. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -30,7 +30,7 @@ This document specifies the functional requirements for an SDL2 based media play
|
||||
## 4. Design principles
|
||||
|
||||
- Version control (git) must be used
|
||||
- Compilation should be performed by a simple shell script or batch file, not a complicated build system like make or cmake
|
||||
- Compilation should be performed by a simple Makefile supporting both native and cross-compilation
|
||||
- C source code files should be formatted using "Google" style with an additional change of `ColumnLimit` set to 100
|
||||
- Less is more, minimize dependencies, avoid pulling in extra libraries, always talk through with owner first
|
||||
- Keep it simple, apply Casey Muratori's `semantic compression` principles, don't refactor too soon or write code that's too clever for its own good
|
||||
@@ -43,6 +43,10 @@ This document specifies the functional requirements for an SDL2 based media play
|
||||
|
||||
## 6. Changelog
|
||||
|
||||
### 2026-02-13 — Replace build scripts with Makefile
|
||||
|
||||
- **Makefile**: Replaced `build.sh` (macOS) and `build_aarch64.sh` (Linux ARM) with a single `Makefile`. Native builds use `pkg-config` to resolve SDL2 and FFmpeg flags; cross-compilation uses `CROSS_COMPILE` and `PREFIX` environment variables set by the Docker/Buildroot toolchain.
|
||||
|
||||
### 2026-02-13 — Raw joystick fallback for non-standard controllers
|
||||
|
||||
- **Joystick fallback**: When no SDL GameController mapping exists for a connected device, the joystick is now opened directly via `SDL_JoystickOpen()` as a fallback. This fixes d-pad and face button input on devices like the Anbernic retro handheld whose GUID is not in SDL's GameController database.
|
||||
|
||||
Reference in New Issue
Block a user