Makefiles are basically files that associate rules, dependencies, and actions to effectively build a program (and more - they are often used in compilation but have a wide variety of applications). That's all you need to know if you just want to know how to use one to build a library, but if you want to make a makefile (no pun intended) then you can always find a more detailed explanation on the internet.
If you are under Linux, this is easy, the make utility comes with your distribution. Just cd into the library's folder where the Makefile resides, and type "make" (or perhaps the library tells you to use "make setup", it depends on the makefile). Do that, and it should just work. If there's an error that comes up, try googling it, perhaps you need to run the makefile as superuser or you need to download and install some package first, etc..
If you are under Windows, let's just say your day is going to suck, at least in my experience. Makefiles just don't work all that well under Windows, if the library also comes with an IDE project file (visual studio, or whatever) prefer that to using makefiles IMHO. Otherwise I think you need to install CMake, and a bunch of other stuff, and then I don't know. Sorry
Edited by Bacterius, 30 January 2013 - 02:01 PM.
The slowsort algorithm is a perfect illustration of the multiply and surrender paradigm, which is perhaps the single most important paradigm in the development of reluctant algorithms. The basic multiply and surrender strategy consists in replacing the problem at hand by two or more subproblems, each slightly simpler than the original, and continue multiplying subproblems and subsubproblems recursively in this fashion as long as possible. At some point the subproblems will all become so simple that their solution can no longer be postponed, and we will have to surrender. Experience shows that, in most cases, by the time this point is reached the total work will be substantially higher than what could have been wasted by a more direct approach.
- Pessimal Algorithms and Simplexity Analysis