5.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. The first variable will be the triplet of the host machine, which will be put into the CLFS_HOST variable. To account for the possibility that the host and target are the same arch, as cross-compiling won't work when host and target are the same, part of the triplet needs to be changed slightly to add "cross". Set CLFS_HOST using the following command:

export CLFS_HOST="$(echo $MACHTYPE | \
    sed "s/$(echo $MACHTYPE | cut -d- -f2)/cross/")"

Now you will need to set the triplet for the target architecture. Set the target variable using the following command:

export CLFS_TARGET="[target triplet]"

Replace [target triplet] with the appropriate machine triplet using the table at the bottom of the page.

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

cat >> ~/.bashrc << EOF
export CLFS_HOST="${CLFS_HOST}"
export CLFS_TARGET="${CLFS_TARGET}"
EOF

Table 5.1. Processor Type and Target Triplets

Processor Target Triplet
486 Compatibles i486-pc-linux-gnu
Pentium, K6, 586 Compatibles i586-pc-linux-gnu
Pentium II, Pentium III, Pentium 4 i686-pc-linux-gnu
Athlon, Duron i686-pc-linux-gnu