makefile: append to CFLAGS using variables

this changes the override definition of CFLAGS to use two new variables: cc_gen
for code generation options and cc_xsi the posix feature test macro definition.
also, -fPIC is now used for all targets by default since it can be turned off
as needed by clearing cc_gen.