little change and fix variadic macros

-W replaced by -Wextra(deprecated) and add flags for clang
use __VA_ARGS__ for variadic macros