Command explanations make -e: The -e parameter tells make that environment variables take precedence over variables defined in the Makefile file(s). This is needed in order to successfully link binutils statically. LDFLAGS=-all-static: Setting the variable LDFLAGS to the value -all-static causes binutils to be linked statically. tooldir=$LFS/usr: Normally, the tooldir (the directory where the executables from binutils end up in) is set to $(exec_prefix)/$(target_alias) which expands into, for example, /usr/i686-pc-linux-gnu. Since we only build for our own system, we don't need this target specific directory in $LFS/usr. That setup would be used if the system was used to cross-compile (for example compiling a package on the Intel machine that generates code that can be executed on Apple PowerPC machines).