The main goal of a Makefile is to store everything you need to create a project in one place. It contains instructions for compiling your code, linking compiled code, packaging executable files, extracting third-party tools, and many other useful things. Almost any command that you are safe on the command line can be used in a makefile.
The advantage of using a makefile when done correctly is that anyone can easily build your entire project. It's as easy as dialingmake
Makefile windows http://www.opussoftware.com/tutorial/TutMakefile.htm