Assuming you are using the recent GNU GCC compiler for IA32 (32-bit) and amd64 (64-bit without Itanium for AMD64 / x86-64 / EM64T / Intel 64), since few people need another compiler for Linux (Intel and PGI )
There is a compiler line switch (which you can add to CFLAGS in the Makefile) -m64 / -m32 to control the build target.
For conditional code C:
#if defined(__LP64__) || defined(_LP64)
#define BUILD_64 1
#endif
or
#include <limits.h>
#if ( __WORDSIZE == 64 )
#define BUILD_64 1
#endif
While the first one is GCC specific, the second one is more portable, but may be wrong in some strange environment that I can't think of.
IA-32/x86 (x86-32) x86-64/amd64. , IA-64 (Itanium).
. GCC, 64- GNU/Linux, 64- Linux .