Command explanations --with-local-prefix: GCC installs a number of files in /usr/local even when --prefix is set to something else. We don't want that to happen in this case so that's why we use the --with-local-prefix option to change that path. --with-gxx-include-dir: GCC installs the C++ header files in /usr/include/g++ by default. Again, in this case we don't want that to happen, we want this GCC version to be installed completely under /usr/local/gcc2952. make bootstrap: Compile GCC by bootstrapping it. Here that means the compiler will be built three times in total. First it is compiled with your system's default compiler (which will usually be a gcc or egcs compiler). This is stage 1 compiler. Then GCC will re-compile itself but instead of using your system's compiler it will use itself to compile itself again. This is the stage 2 compiler. Then it will compile itself a second time with the stage 2 compiler and compares the second and the third build to see if they are identical. If so, the compilation was a success.