jvr/mk/proto.mk

24 lines
680 B
Makefile

PRO_$(d) := $(addprefix $(OUT)/$(d)/, $(SRCPRO_$(d):.proto=.pb.cc))
GRPC_$(d) := $(addprefix $(OUT)/$(d)/, $(SRCPRO_$(d):.proto=.grpc.pb.cc))
OBJ_PRO_$(d) := $(PRO_$(d):.pb.cc=.pb.o) $(GRPC_$(d):.grpc.pb.cc=.grpc.pb.o)
$(OUT)/$(d)/%.o: d:=$(d)
$(OUT)/$(d)/%.o: MOD:=$(MOD)
$(OBJ_PRO_$(d)): $(OUT)/$(d)/%.o: $(OUT)/$(d)/%.cc
$(MKDIR)
$(COMP)
$(OUT)/$(d)/%.grpc.pb.cc: MOD:=$(MOD)
$(OUT)/$(d)/%.grpc.pb.cc: d:=$(d)
$(GRPC_$(d)): $(OUT)/$(d)/%.grpc.pb.cc: $(d)/%.proto
$(MKDIR)
$(GRPCCOMP)
$(OUT)/$(d)/%.pb.cc: MOD:=$(MOD)
$(OUT)/$(d)/%.pb.cc: d:=$(d)
$(PRO_$(d)): $(OUT)/$(d)/%.pb.cc: $(d)/%.proto
$(MKDIR)
$(PROTCOMP)
OBJ := $(OBJ) $(OBJ_PRO_$(d))