在Makefile中重命名生成的文件

Rename generated files in Makefile

本文关键字:文件 重命名 Makefile      更新时间:2023-10-16

我必须修改一个Makefile,以便在构建.o.文件之前将扩展名为.cc的中间文件移动到.cpp。修改后的Makefile如下所示:

PROTOC=protoc
all: client_grpc pb
client_grpc: abc.pb.o abc.grpc.pb.o client_grpc.o
  $(CXX) $^ $(LDFLAGS) -o $@
pb: %.pb.cc
  mv $^ $@ 
%.grpc.pb.cc: %.proto
  $(PROTOC) --grpc_out=. --plugin=protoc-gen-grpc=$(GRPC_CPP_PLUGIN_PATH) $<
%.pb.cc: %.proto
  $(PROTOC) --cpp_out=. $<
clean:
  rm -f *.o *.pb.cc *.pb.h client_gqegrpc

protoc是生成.cc文件的编译器。如何制作目标,以便在生成.cc文件后将其移动到.cpp,然后使用.cpp文件构建client_grpc ?

通常的方法是让您的规则生成.cpp文件:

%.pb.cpp: %.proto
        $(PROTOC) --cpp_out=. $<
        mv $*.pb.cc $*.pb.cpp