Building manually with protoc – a summary
As we saw in Chapter 4, we can build proto files with protoc. On top of that, protoc is also a convenient tool for learning about the Protobuf internals because we can use --encode
and --decode
flags. However, as with every tool out there, protoc has some limitations.
The main limitation comes when the project starts to have a lot of proto files. Let’s say that you have 50 proto files you want to generate C++ code from. You will need to write a command that looks like the following:
$ protoc --cpp_out=. schema1.proto schema2.proto ... schema50.proto
You basically have to type every single file you want to generate code from and the corresponding output location with options. This means that you will have to write a huge command. And, obviously, nobody wants to do that manually.
That is why we have build tools that automatically do that for us. Let’s talk about the different tools available, starting with Makefiles...