Updated the Makefile.

Removed the documentary empty targets, added header file prerequisites.
Merged the GCC compatibility branch into the master branch.