2016-09-16 7 views
3

ファイルをビルドする前に、拡張子が.ccの中間ファイルを.cppに移動するようにMakefileを変更する必要があります。変更されたMakefileは以下のようになります。Makefileで生成されたファイルの名前を変更します

PROTOC=protoc 
all: client_grpc pb 

client_grpc: abc.pb.o abc.grpc.pb.o client_grpc.o 
    $(CXX) $^ $(LDFLAGS) -o [email protected] 

pb: %.pb.cc 
    mv $^ [email protected] 

%.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に移動し、client_grpc.cppファイルで作成するようにターゲットを作成するにはどうすればよいですか?

+1

興味があるだけ、.cppファイルをするための.ccファイルの名前を変更する必要がなぜ特定の理由がある場合は?前者が本当のC++コードである限り、.ccファイルを直接.oファイルにコンパイルするだけで済みます。 –

+0

.cppファイルのみを識別する別のツールがあります。 – damleak

答えて

2

あなたのルール農産物の.cppファイルを持っているだろうこれを行うための通常の方法:

%.pb.cpp: %.proto 
     $(PROTOC) --cpp_out=. $< 
     mv $*.pb.cc $*.pb.cpp 
関連する問題