Supporting many binaries and include directories. Adding tests.
Adding external configuration file to avoid options inside Makefile
Updating TODO