MCPcopy Create free account
hub / github.com/Tencent/phxrpc / GenerateMakefile

Method GenerateMakefile

codegen/server_code_render.cpp:197–256  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

195}
196
197void ServerCodeRender::GenerateMakefile(SyntaxTree *stree,
198 const string &mk_dir_path, FILE *write, const bool is_uthread_mode) {
199 string buffer;
200 name_render_.GetCopyright("phxrpc_pb2server", stree->GetProtoFile(), &buffer, false, "#");
201
202 fprintf(write, "# Makefile\n");
203 fprintf(write, "%s", buffer.c_str());
204 fprintf(write, "#\n");
205 fprintf(write, "\n");
206
207 char dispatcher_file[128]{'\0'}, service_file[128]{'\0'}, service_impl_file[128]{'\0'};
208 char server_config_file[128]{'\0'}, server_main_file[128]{'\0'};
209 char message_file[128]{'\0'}, stub_file[128]{'\0'}, client_file[128]{'\0'};
210 char tool_file[128]{'\0'}, tool_impl_file[128]{'\0'}, tool_main_file[128]{'\0'};
211
212 name_render_.GetDispatcherFileName(stree->GetName(), dispatcher_file, sizeof(dispatcher_file));
213 name_render_.GetServiceImplFileName(stree->GetName(), service_impl_file, sizeof(service_impl_file));
214 name_render_.GetServiceFileName(stree->GetName(), service_file, sizeof(service_file));
215
216 name_render_.GetServerConfigFileName(stree->GetName(), server_config_file, sizeof(server_config_file));
217 name_render_.GetServerMainFileName(stree->GetName(), server_main_file, sizeof(server_main_file));
218
219 name_render_.GetToolImplFileName(stree->GetName(), tool_impl_file, sizeof(tool_impl_file));
220 name_render_.GetToolFileName(stree->GetName(), tool_file, sizeof(tool_file));
221 name_render_.GetToolMainFileName(stree->GetName(), tool_main_file, sizeof(tool_main_file));
222
223 name_render_.GetClientFileName(stree->GetName(), client_file, sizeof(client_file));
224 name_render_.GetStubFileName(stree->GetName(), stub_file, sizeof(stub_file));
225 name_render_.GetMessageFileName(stree->GetProtoFile(), message_file, sizeof(message_file));
226
227 string content;
228 if (!is_uthread_mode) {
229 content = PHXRPC_SERVER_MAKEFILE_TEMPLATE;
230 } else {
231 content = PHXRPC_UTHREAD_SERVER_MAKEFILE_TEMPLATE;
232 }
233
234 StrTrim(&content);
235 StrReplaceAll(&content, "$PhxRPCMKDir$", mk_dir_path);
236 StrReplaceAll(&content, "$DispatcherFile$", dispatcher_file);
237 StrReplaceAll(&content, "$ServiceFile$", service_file);
238 StrReplaceAll(&content, "$ServiceImplFile$", service_impl_file);
239
240 StrReplaceAll(&content, "$ServerConfigFile$", server_config_file);
241 StrReplaceAll(&content, "$ServerMainFile$", server_main_file);
242
243 StrReplaceAll(&content, "$MessageFile$", message_file);
244 StrReplaceAll(&content, "$StubFile$", stub_file);
245 StrReplaceAll(&content, "$ClientFile$", client_file);
246
247 StrReplaceAll(&content, "$ToolFile$", tool_file);
248 StrReplaceAll(&content, "$ToolImplFile$", tool_impl_file);
249 StrReplaceAll(&content, "$ToolMainFile$", tool_main_file);
250
251 StrReplaceAll(&content, "$ProtoFile$", stree->GetProtoFile());
252
253 fprintf(write, "%s", content.c_str());
254

Callers 1

Proto2ServerFunction · 0.80

Calls 15

StrTrimFunction · 0.85
StrReplaceAllFunction · 0.85
GetCopyrightMethod · 0.80
GetProtoFileMethod · 0.80
GetDispatcherFileNameMethod · 0.80
GetNameMethod · 0.80
GetServiceFileNameMethod · 0.80
GetServerMainFileNameMethod · 0.80
GetToolImplFileNameMethod · 0.80
GetToolFileNameMethod · 0.80

Tested by

no test coverage detected