diff --git a/src/protocol/Makefile b/src/protocol/Makefile new file mode 100644 index 0000000..ae9c07d --- /dev/null +++ b/src/protocol/Makefile @@ -0,0 +1,16 @@ +NANOPB_DIR = ../../dependencies/nanopb +NANOPB_PROTO_DIR = $(NANOPB_DIR)/generator/proto + +PROTOC = protoc +PROTOC_OPTS = --plugin=protoc-gen-nanopb=protoc-gen-nanopb \ + -I$(NANOPB_PROTO_DIR) -I. --nanopb_out=. + +gen: make-nanopb criterion.pb.c + +make-nanopb: + $(MAKE) -C $(NANOPB_PROTO_DIR) + +criterion.pb.c: criterion.proto + $(PROTOC) $(PROTOC_OPTS) $< + +.PHONY: gen make-nanopb diff --git a/src/protocol/protoc-gen-nanopb b/src/protocol/protoc-gen-nanopb new file mode 100755 index 0000000..d775816 --- /dev/null +++ b/src/protocol/protoc-gen-nanopb @@ -0,0 +1,13 @@ +#!/bin/sh + +# This file is used to invoke nanopb_generator.py as a plugin +# to protoc on Linux and other *nix-style systems. +# Use it like this: +# protoc --plugin=nanopb=..../protoc-gen-nanopb --nanopb_out=dir foo.proto +# +# Note that if you use the binary package of nanopb, the protoc +# path is already set up properly and there is no need to give +# --plugin= on the command line. + +NANOPB_PATH="../../dependencies/nanopb/generator" +exec python2 "$NANOPB_PATH/nanopb_generator.py" --protoc-plugin