Make code generation targets extensible