blob: ecee4525f89adfd21875e4c2cfaf7f13ca0788af (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# Include the nanopb provided Makefile rules
include ../../extra/nanopb.mk
# Compiler flags to enable all warnings & debug info
CFLAGS = -Wall -Werror -g -O0
CFLAGS += -I$(NANOPB_DIR)
# C source code files that are required
CSRC = simple.c # The main program
CSRC += simple.pb.c # The compiled protocol definition
CSRC += $(NANOPB_DIR)/pb_encode.c # The nanopb encoder
CSRC += $(NANOPB_DIR)/pb_decode.c # The nanopb decoder
# Build rule for the main program
simple: $(CSRC)
@echo
@echo "*** Building the main binary..."
$(CC) $(CFLAGS) -osimple $(CSRC)
@echo
@echo "*** Congrats! You can now run ./simple to see what it does!"
@echo
# Build rule for the protocol
simple.pb.c: simple.proto
@echo
@echo "*** Building the protocol definition..."
$(PROTOC) $(PROTOC_OPTS) --nanopb_out=. simple.proto
|