What compiler are you using? Works fine for me with the Rockbox compiler. Using the arm toolchain (not arm-linux), with (in my case) compiler installed in ~/local, so its executable files are in ~/local/bin, and I don't modify PATH system-wide but only for the make call:
PATH=~/local/bin/:$PATH CROSS=arm-elf-eabi- make
(no idea if the resulting binary does anything useful, can't test -- I only did compile things.)
my libgcc.a: LIBGCC=/usr/local/lib/gcc/arm-elf-eabi/4.9.4/libgcc.a
make[1]: Entering directory '/home/m/Desktop/ibug/ibugger/flasher'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/m/Desktop/ibug/ibugger/flasher'
make -C ibugger
make[1]: Entering directory '/home/m/Desktop/ibug/ibugger/ibugger'
make -C nano2g/core
make[2]: Entering directory '/home/m/Desktop/ibug/ibugger/ibugger/nano2g/core'
arm-elf-eabi-gcc -Os -W -Wall -pedantic -ffreestanding -fomit-frame-pointer -Wa,-alhn=strlen.lst -c strlen.c -o strlen.o
strlen.c:1:20: fatal error: string.h: No such file or directory
#include <string.h>
^
compilation terminated.
make[2]: *** [Makefile:31: strlen.o] Error 1
make[2]: Leaving directory '/home/m/Desktop/ibug/ibugger/ibugger/nano2g/core'
make[1]: *** [Makefile:2: all] Error 2
make[1]: Leaving directory '/home/m/Desktop/ibug/ibugger/ibugger'
make: *** [Makefile:3: all] Error 2
root@m-VirtualBox:/home/m/Desktop/ibug/ibugger#