Why is make printing "make: Nothing to be done for `all'."?

Make works on the base of time stamps. If you alter some of your source files Make compile them and built the image accordingly. If you do not change source file then compiler has nothing to do with your project. make does not work like gcc to compile every time whether new build is needed or not. This is one of many advantages of using make for your project.


You should remove space in your Makefile. In makefile, only use tab.

I tested your code again, and it works with tab


  1. make clean and then make again
  2. check for spaces and tabs as per make file format
  3. Verify the Path of the kernel libraries