mirror of
https://github.com/google/pebble.git
synced 2025-03-15 16:51:21 +00:00
41 lines
1.1 KiB
Makefile
41 lines
1.1 KiB
Makefile
|
# 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 := $(patsubst %/,%,$(dir $(patsubst %/,%,$(dir $(lastword $(MAKEFILE_LIST))))))
|
||
|
|
||
|
# Files for the nanopb core
|
||
|
NANOPB_CORE = $(NANOPB_DIR)/pb_encode.c $(NANOPB_DIR)/pb_decode.c $(NANOPB_DIR)/pb_common.c
|
||
|
|
||
|
# Check if we are running on Windows
|
||
|
ifdef windir
|
||
|
WINDOWS = 1
|
||
|
endif
|
||
|
ifdef WINDIR
|
||
|
WINDOWS = 1
|
||
|
endif
|
||
|
|
||
|
# 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_OPTS =
|
||
|
ifdef WINDOWS
|
||
|
PROTOC = python $(NANOPB_DIR)/generator/protoc
|
||
|
else
|
||
|
PROTOC = $(NANOPB_DIR)/generator/protoc
|
||
|
endif
|
||
|
endif
|
||
|
|
||
|
# Rule for building .pb.c and .pb.h
|
||
|
%.pb.c %.pb.h: %.proto %.options
|
||
|
$(PROTOC) $(PROTOC_OPTS) --nanopb_out=. $<
|
||
|
|
||
|
%.pb.c %.pb.h: %.proto
|
||
|
$(PROTOC) $(PROTOC_OPTS) --nanopb_out=. $<
|
||
|
|