《go入门grpc》第四章:使用Makefile优化protoc命令

更方便的在微信公众号阅读文章可以关注公众号:海生的go花园
图片

一、前言

在第三章,我们已经学会了使用protoc命令,生成go文件。代码如下:

protoc --go_out=. --go_opt=paths=source_relative \
       --go-grpc_out=. --go-grpc_opt=paths=source_relative \
       api/hello.proto

protoc命名需要列出 .proto文件,如果我们有多个文件,或者我们想多个文件夹,怎么办?
此时我们可以借助Makefile来,执行一些脚本,自动生成go代码。

二、使用Makefile来生成protoc命令。

我们在grpc-demo1目录新建一个Makefile文件。

touch Makefile

此时查看grpc-demo1目录,结构如下:

➜  grpc-demo1 git:(master) ✗ tree
.
├── Makefile
├── api
│   ├── hello.pb.go
│   ├── hello.proto
│   └── hello_grpc.pb.go
├── go.mod
└── go.sum

1 directory, 6 files

多了一个 Makefile文件。
我们生成一个make protoc命令,代码如下,写入到Makefile文件中。

protoc:
    protoc --go_out=. --go_opt=paths=source_relative \
           --go-grpc_out=. --go-grpc_opt=paths=source_relative \
           api/hello.proto

写好后,我们在grpc-demo1目录执行下:

$ make protoc

此时这个make protoc命名代替了 protoc 命令一大堆参数,简化了我们的复杂度。
要生成go文件只要执行一下就行。

三、使用protoc把多个.proto文件编译成.go文件

你可能感兴趣的:(gomakefile)