Quote: 1) What are makefiles ?
If you have Visual Studio installed, run "Visual Studio Command Line". In the command window, type "nmake". That's Microsoft's version of the make command. In that same command window, type "cl". That's Microsoft's C++ compiler. It's the same program that Visual Studio runs each time you build a project.
This link describes the format of a makefile.
Quote: 2) How do contributors to open-source software write their code ? I mean they must use an IDE. How can I open up an open-source project in an IDE like Visual Studio or Code::Blocks ?
They might use a simple editor instead of an IDE. Some use Emacs, vi, or even Notepad. I've seen programmers use plain old vi with screen to great effect.
I prefer an IDE myself. Take a look at Netbeans and Exclipse. The trouble with IDEs is they need you to provide a configuration (much like project and solution files) to describe the different pieces and how to build them.
If all I gave you was a makefile and some C source files, you would have to build the project file yourself.