-CFLAGS = -Wall -Werror -g -O0
+# Include the nanopb provided Makefile rules
+include ../../extra/nanopb.mk
-# Path to the nanopb root directory
-NANOPB_DIR = ../..
-DEPS = double_conversion.c $(NANOPB_DIR)/pb.h \
- $(NANOPB_DIR)/pb_decode.c $(NANOPB_DIR)/pb_decode.h \
- $(NANOPB_DIR)/pb_encode.c $(NANOPB_DIR)/pb_encode.h
+# Compiler flags to enable all warnings & debug info
+CFLAGS = -Wall -Werror -g -O0
CFLAGS += -I$(NANOPB_DIR)
all: run_tests
+.SUFFIXES:
+
clean:
rm -f test_conversions encode_double decode_double doubleproto.pb.c doubleproto.pb.h
test_conversions: test_conversions.c double_conversion.c
$(CC) $(CFLAGS) -o $@ $^
-%: %.c $(DEPS) doubleproto.pb.h doubleproto.pb.c
- $(CC) $(CFLAGS) -o $@ $< double_conversion.c \
- $(NANOPB_DIR)/pb_decode.c $(NANOPB_DIR)/pb_encode.c doubleproto.pb.c
-
-doubleproto.pb.c doubleproto.pb.h: doubleproto.proto $(NANOPB_DIR)/generator/nanopb_generator.py
- protoc -odoubleproto.pb $<
- python $(NANOPB_DIR)/generator/nanopb_generator.py doubleproto.pb
+%: %.c double_conversion.c doubleproto.pb.c
+ $(CC) $(CFLAGS) -o $@ $^ $(NANOPB_CORE)
run_tests: test_conversions encode_double decode_double
./test_conversions