#!/usr/bin/env bash set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" cd "$SCRIPT_DIR" # Generate embedded font header from first font file in resources/ mkdir -p build FONT_HEADER="build/font_data.h" FONT_FILE="$(find resources/ -maxdepth 1 -type f \( -iname '*.otf' -o -iname '*.ttf' \) 2>/dev/null | head -n1 || true)" if [ -n "$FONT_FILE" ]; then if [ ! -f "$FONT_HEADER" ] || [ "$FONT_FILE" -nt "$FONT_HEADER" ]; then echo "Embedding font: $FONT_FILE" xxd -i "$FONT_FILE" > "$FONT_HEADER.tmp" # Normalize variable names to embedded_font_data / embedded_font_data_len VARNAME=$(grep -oP 'unsigned char \K[a-zA-Z0-9_]+' "$FONT_HEADER.tmp" | head -1) sed -i "s/${VARNAME}/embedded_font_data/g" "$FONT_HEADER.tmp" echo '#define FONT_EMBEDDED 1' >> "$FONT_HEADER.tmp" mv "$FONT_HEADER.tmp" "$FONT_HEADER" fi else echo "No font file found in resources/, using default raylib font" cat > "$FONT_HEADER" <<'EOF' /* No font embedded */ static unsigned char embedded_font_data[] = {0}; static unsigned int embedded_font_data_len = 0; #define FONT_EMBEDDED 0 EOF fi make -j$(nproc) "$@"