update snippets using submodule, add doxymacs and smart-compile