GCC_INCLUDES=$(gcc -print-file-name=include)
SYS_INCLUDES=/usr/include

if [ "$KARCH" = "aarch64" ]; then
    CC="aarch64-linux-gnu-gcc"
    ARCH_FLAGS="-march=armv8-a+nosimd -mabi=lp64"
elif [ "$KARCH" = "x86_64" ]; then
    CC="x86_64-linux-gnu-gcc"
    ARCH_FLAGS="-m64 -mno-mmx -mno-avx"
else
    echo "Error: Unsupported KARCH: $KARCH"
    exit 1
fi

$CC -w -static -D__NO_INLINE__ -O3 $ARCH_FLAGS -fno-stack-protector -fno-inline -fno-inline-small-functions -fno-indirect-inlining -fno-builtin -fcompare-debug-second -nostdlib -nostdinc helloworld.c -Wl,--gc-sections -L../../libxunil/target/$KARCH-unknown-none/release -l:libxunil.a -I../../libxunil/include -I"$GCC_INCLUDES" -I"$SYS_INCLUDES" -o ../../../assets/$KARCH/helloworld.elf
