gen proto, compile_file