Мне нужно изменить Makefile таким образом, чтобы промежуточные файлы с расширением .cc
были перемещены в .cpp
перед созданием файлов .o.
. Мой модифицированный 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
?
Просто интересно, если есть какая-либо конкретная причина, почему вы должны переименовать .cc файлы .cpp файлов? Вы можете просто скомпилировать файлы .cc непосредственно в файлы .o, если первый - это реальный код C++. –
Существует еще один инструмент, который идентифицирует только файлы .cpp. – damleak