Rework the Makefiles to be compatible with binary packages.
This commit is contained in:
29
extra/nanopb.mk
Normal file
29
extra/nanopb.mk
Normal file
@@ -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=. $<
|
||||
|
||||
Reference in New Issue
Block a user