Added flag to support C99 standard and reorganized the Makefile

Reorganized makefile & added relevant flag in support of C99 standard. However, this will require to run the make commands (e.g. make clean) with root privileges.
Ideally, "make (all)" should build all targets. So, added image & documentation to it. However, now this will require to be run with sudo privileges.