diff options
author | Petteri Aimonen <jpa@git.mail.kapsi.fi> | 2013-11-17 20:04:29 +0200 |
---|---|---|
committer | Petteri Aimonen <jpa@git.mail.kapsi.fi> | 2013-12-29 20:26:57 +0200 |
commit | 45c1a32e5046fe9323d4fd0213b474a554b2bbed (patch) | |
tree | c9280023b03aa52168e1a10757f96e3323a03116 /extra/nanopb.mk | |
parent | ef31774cd902a6f069b8f2b80b870167328f5acb (diff) |
Rework the Makefiles to be compatible with binary packages.
Diffstat (limited to 'extra/nanopb.mk')
-rw-r--r-- | extra/nanopb.mk | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/extra/nanopb.mk b/extra/nanopb.mk new file mode 100644 index 00000000..b52c78c1 --- /dev/null +++ b/extra/nanopb.mk @@ -0,0 +1,29 @@ +# This is an include file for Makefiles. It provides rules for building +# .pb.c and .pb.h files out of .proto, as well the path to nanopb core. + +# Path to the nanopb root directory +NANOPB_DIR := $(abspath $(dir $(lastword $(MAKEFILE_LIST)))../) + +# Files for the nanopb core +NANOPB_CORE = $(NANOPB_DIR)/pb_encode.c $(NANOPB_DIR)/pb_decode.c + +# Check whether to use binary version of nanopb_generator or the +# system-supplied python interpreter. +ifneq "$(wildcard $(NANOPB_DIR)/generator-bin)" "" + # Binary package + PROTOC = $(NANOPB_DIR)/generator-bin/protoc + PROTOC_OPTS = +else + # Source only or git checkout + PROTOC = protoc + ifdef windir + PROTOC_OPTS = --plugin=nanopb=$(NANOPB_DIR)/generator/protoc-gen-nanopb.bat + else + PROTOC_OPTS = --plugin=nanopb=$(NANOPB_DIR)/generator/protoc-gen-nanopb + endif +endif + +# Rule for building .pb.c and .pb.h +%.pb.c %.pb.h: %.proto $(wildcard %.options) + $(PROTOC) $(PROTOC_OPTS) --nanopb_out=. $< + |