Update to netconf proto makefile
Change-Id: Ic2f187bf779442e87028ebfef5b15d803c183694
diff --git a/netconf/protos/Makefile b/netconf/protos/Makefile
index 9bd1108..5a5da58 100644
--- a/netconf/protos/Makefile
+++ b/netconf/protos/Makefile
@@ -20,15 +20,38 @@
$(error To get started, please source the env.sh file from Voltha top level directory)
endif
-default: copyfiles
+PROTO_FILES := $(wildcard *.proto) $(wildcard third_party/google/api/*proto)
+PROTO_PB2_FILES := $(foreach f,$(PROTO_FILES),$(subst .proto,_pb2.py,$(f)))
+PROTO_DESC_FILES := $(foreach f,$(PROTO_FILES),$(subst .proto,.desc,$(f)))
+
+PROTOC_PREFIX := /usr/local
+PROTOC_LIBDIR := $(PROTOC_PREFIX)/lib
+
+build: $(PROTO_PB2_FILES) copyfiles
+
+%_pb2.py: %.proto Makefile
+ @echo "Building protocol buffer artifacts from $<"
+ env LD_LIBRARY_PATH=$(PROTOC_LIBDIR) python -m grpc.tools.protoc \
+ -I. \
+ -I./third_party \
+ --python_out=. \
+ --grpc_python_out=. \
+ $<
TARGET_PROTO_DIR := $(VOLTHA_BASE)/netconf/protos
SOURCE_PROTO_DIR := $(VOLTHA_BASE)/voltha/protos
+TARGET_YANG_OPTION_DIR := $(VOLTHA_BASE)/netconf/protoc_plugins
+YANG_OPTION_FILE := yang_options_pb2.py
+
copyfiles:
rsync -av --include '*/' --exclude='third_party/__init__.py' --include '*.py' --exclude='*' $(SOURCE_PROTO_DIR)/ $(TARGET_PROTO_DIR)
-
+ cp $(SOURCE_PROTO_DIR)/$(YANG_OPTION_FILE) $(TARGET_YANG_OPTION_DIR)
clean:
rm -f $(PROTO_PB2_FILES) $(PROTO_DESC_FILES)
+ rm $(TARGET_YANG_OPTION_DIR)/$(YANG_OPTION_FILE)
+ rm $(TARGET_PROTO_DIR)/*.py
+
+