add doxygen header and add doc target in Makefile to generate documentation