6.3. Build Variables

Setting Host and Target

During the building of the cross-compile tools you will need to set a few variables that will be dependent on your particular needs. You will need to set the target triplet for the target architecture, the CPU type, and CPU endianess. If you do not know what triplet or CPU type you want, you can use the table at the bottom of this page as a reference. Set the command using the method listed below:

export CLFS_HOST=$(echo ${MACHTYPE} | sed "s/-[^-]*/-cross/")
export CLFS_TARGET=[target triplet]
export CLFS_CPU=[cpu type]

Now we will set the architecture and endianess of the CPU based on the target triplet provided above:

export CLFS_ARCH=$(echo ${CLFS_TARGET} | sed -e 's/-.*//' -e 's/i.86/i386/')
export CLFS_ENDIAN=little

Now we will add this to ~/.bashrc, just in case you have to exit and restart building later:

echo export CLFS_HOST=\""${CLFS_HOST}\"" >> ~/.bashrc
echo export CLFS_TARGET=\""${CLFS_TARGET}\"" >> ~/.bashrc
echo export CLFS_ARCH=\""${CLFS_ARCH}\"" >> ~/.bashrc
echo export CLFS_ENDIAN=\""${CLFS_ENDIAN}\"" >> ~/.bashrc
echo export CLFS_CPU=\""${CLFS_CPU}\"" >> ~/.bashrc

Table 6.1. Processor Type and Target Triplets

Processor Target Triplet CPU Type Note
486 Compatibles i486-pc-linux-uclibc i486 Intel's i486
Pentium, K6, 586 Compatibles i586-pc-linux-uclibc i586 Intel Pentium without MMX
Pentium II, Pentium III, Pentium 4 i686-pc-linux-uclibc i686 PentiumPro instruction set
Athlon i686-pc-linux-uclibc athlon AMD 32 bit Athlon
Opteron x86_64-unknown-linux-uclibc k8 AMD K8 processors with x86-64