initial working version
add .gitignore
add EXEC_ONCE_DO_WITH_TAG

1. it helps debugging
2. it support multiple lines, especially for macro generating code.
use __COUNTER__ to generate unique id
add comment
add EXEC_ONCE_PROGN, EXEC_ONCE_DO cannot accept arbitray expression, because commas is regarded as macro argument seperator
remove EXEC_ONCE_DO
update makefile
rewrite it to support dependency
git ignore
deprecate EXEC_ONCE_START
fix typos
better error handling
update Makefile
cleanup debug code
improve makefile for install
remove output
fix makefile
make it more readable and more debuging info
ignore