Cross-Compiling Crosscompiler generates code for alien CPU Often needs special compiler options $ target=arm-unknown-linux-gnu $ xcflags="-mcpu=arm7 -D__ARM7__" $ PATH=/opt/$target/gcc-2.95.3-glibc-2.1.3/bin:$PATH $ $target-gcc $xcflags hello.c Good Makefiles let you cross-compile like this: $ make CC=$target-gcc EXTRA_CFLAGS=$xcflags but read the Makefile to see what variables to set