<sect1 id="ch05-creatingtoolsdir">
<title>Creating the $LFS/tools directory</title>
<?dbhtml filename="creatingtoolsdir.html" dir="chapter05"?>

<para>All programs compiled in this chapter will be installed under <filename
class="directory">$LFS/tools</filename> to keep them separate from the
programs compiled in the next chapter. The programs compiled here are only
temporary tools and won't be a part of the final LFS system and by keeping them
in a separate directory, we can later easily throw them away.</para>

<para>If later you wish to search through the binaries of your system to see
what files they make use of or link against, then to make this searching easier
you may want to choose a unique name. Instead of the simple "tools" you could
use something like "tools-for-lfs".</para>

<para>Create the required directory by running the following:</para>

<screen><userinput>mkdir $LFS/tools</userinput></screen>

<para>The next step is to create a <filename>/tools</filename> symlink on
your host system. It will point to the directory we just created on the LFS
partition:</para>

<screen><userinput>ln -s $LFS/tools /</userinput></screen>

<para>This symlink enables us to compile our toolchain so that it always
refers to <filename>/tools</filename>, meaning that the compiler, assembler
and linker will work both in this chapter (when we are still using some tools
from the host) <emphasis>and</emphasis> in the next (when we are chrooted to
the LFS partition).</para>

<note><para>Study the above command closely. It can be confusing at first
glance. The <userinput>ln</userinput> command has several syntax variations,
so be sure to check the ln man page before reporting what you may think is an
error.</para></note>

</sect1>

