Using [@filbranden's comment](https://unix.stackexchange.com/questions/500056/why-does-my-makefile-not-compile-and-how-can-i-fix-it#comment921464_500056), I was able to compile the kernel for my router (there are more error's that need to be solved, but that isn't the scope of this question). I left a log and my config of what I was doing to compile the kernel on [Github gist (new logs and config)](https://gist.github.com/bgbrandongomez/9b779e0cb3c986ecded0ad8129e75cb6). The config is broken and won't be apparent until the stage of actually compiling linux, but those solutions are simple. I ran the below commands to compile the kernel: > make menuconfig O=~/build-new/ > > RANLIB="/home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/mips-linux-uclibc-ranlib" > READELF="/home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/mips-linux-uclibc-readelf" > OBJDUMP="/home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/mips-linux-uclibc-objdump" > AR="/home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/mips-linux-uclibc-ar" > AS="/home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/mips-linux-uclibc-as" > LD="/home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/mips-linux-uclibc-gcc" > NM="/home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/mips-linux-uclibc-nm" > CC="/home/debian/bin-new/ccache-3.1.8/ccache > /home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/mips-linux-uclibc-gcc" > GCC="/home/debian/bin-new/ccache-3.1.8/ccache > /home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/gcc" > CXX="/home/debian/bin-new/ccache-3.1.8/ccache > /home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/g++" > CPP="/home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/mips-linux-uclibc-cpp" > CPPFLAGS="-I/home/debian/build-new/host/usr/include" CFLAGS="-O2 > -I/home/debian/build-new/host/usr/include" CXXFLAGS="-O2 -I/home/debian/build-new/host/usr/include" LDFLAGS="-L/home/debian/build-new/host/lib > -L/home/debian/build-new/host/usr/lib" make autoconf O=~/build-new/ > > RANLIB="/home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/mips-linux-uclibc-ranlib" > READELF="/home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/mips-linux-uclibc-readelf" > OBJDUMP="/home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/mips-linux-uclibc-objdump" > AR="/home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/mips-linux-uclibc-ar" > AS="/home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/mips-linux-uclibc-as" > LD="/home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/mips-linux-uclibc-gcc" > NM="/home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/mips-linux-uclibc-nm" > CC="/home/debian/bin-new/ccache-3.1.8/ccache > /home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/mips-linux-uclibc-gcc" > GCC="/home/debian/bin-new/ccache-3.1.8/ccache > /home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/gcc" > CXX="/home/debian/bin-new/ccache-3.1.8/ccache > /home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/g++" > CPP="/home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/mips-linux-uclibc-cpp" > CPPFLAGS="-I/home/debian/build-new/host/usr/include" CFLAGS="-O2 > -I/home/debian/build-new/host/usr/include" CXXFLAGS="-O2 -I/home/debian/build-new/host/usr/include" LDFLAGS="-L/home/debian/build-new/host/lib > -L/home/debian/build-new/host/usr/lib -Wl,-rpath,/home/debian/build-new/host/usr/lib" make O=~/build-new/ Given the below error, I had to still symlink some binaries before running the make command: Checking for C compiler ... none found ERROR: no C compiler found Checking for linker ... '/home/debian/build-new/host/usr/bin/mips-buildroot-linux-uclibc-gcc' not found (user) ERROR: no linker found Checking for ar ... /home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/mips-linux-uclibc-ar () Checking for ranlib ... /home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/mips-linux-uclibc-ranlib () Checking for readelf ... none found ERROR: no readelf found Checking for objdump ... /home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/mips-linux-uclibc-objdump () The binaries I symlinked are below. I put a pound sign in front of the ones I don't think matter if symlinked (because the path was never able to be set from prefixing to the make command). mkdir -p /home/debian/build-new/host/usr/bin/ cp -r /home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/* /home/debian/build-new/host/usr/bin/ cd /home/debian/build-new/host/usr/bin/ ln -s mips-linux-uclibc-gcc mips-buildroot-linux-uclibc-gcc #ln -s /home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/mips-linux-uclibc-ranlib mips-buildroot-linux-uclibc-ranlib #ln -s /home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/mips-linux-uclibc-readelf mips-buildroot-linux-uclibc-readelf #ln -s /home/debian/new-kernel/sagem/uclibc-crosstools-gcc-4.2.3-3/usr/bin/mips-linux-uclibc-objdump mips-buildroot-linux-uclibc-objdump The config and commands here are still broken when it comes to building the kernel itself, but they function well enough to get past the stage of this error. I managed to successfully compile the kernel this morning (took more than 24 hours of pure compile time), but after booting it in QEMU and mounting my filesystem I copied from my router, I came to realize I chose the wrong byte order (I chose LSB instead of MSB by choosing big endian instead of little endian). Otherwise, I have successfully compiled the kernel using @filbranden's help.