add more options for code generation
rename target options
Merge crabtw/targetopt