-
Notifications
You must be signed in to change notification settings - Fork 68
Expand file tree
/
Copy pathMakefile
More file actions
99 lines (72 loc) · 2.72 KB
/
Copy pathMakefile
File metadata and controls
99 lines (72 loc) · 2.72 KB
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
OPENTHREAD_PATH = ../../../openthread
OPENTHREAD_BOARD = posix
OPENTHREAD_LIB_PATH = ${OPENTHREAD_PATH}/output/${OPENTHREAD_BOARD}/lib
include Makefile-${OPENTHREAD_BOARD}
PATH_OBJ = output/${OPENTHREAD_BOARD}/obj
PATH_BIN = output/${OPENTHREAD_BOARD}/bin
CBOR = \
../../deps/tinycbor/src/cborencoder.c \
../../deps/tinycbor/src/cborencoder_float.c \
../../deps/tinycbor/src/cborencoder_close_container_checked.c \
../../deps/tinycbor/src/cborparser.c \
../../deps/tinycbor/src/cborparser_float.c
# ../../deps/tinycbor/src/cbortojson.c
# ../../deps/tinycbor/src/cborpretty.c
# ../../deps/tinycbor/src/cborparser_dup_string.c
SRC_COMMON = $(wildcard ../../util/*.c) ${CBOR}
SRC_COMMON += $(wildcard ../../messaging/coap/*.c ../../api/*.c ../../port/openthread/*.c*)
SRC_CLIENT = $(SRC_COMMON) ../../apps/client_openthread.c
SRC_SERVER = $(SRC_COMMON) ../../apps/server_openthread.c
OBJ_CLIENT = $(addprefix ${PATH_OBJ}/client/, $(addsuffix .o, $(basename $(notdir $(SRC_CLIENT)))))
OBJ_SERVER = $(addprefix ${PATH_OBJ}/server/, $(addsuffix .o, $(basename $(notdir $(SRC_SERVER)))))
CFLAGS += -Wall -Wextra
CFLAGS += -I./ -I../../include/ -I../../ -I../
CFLAGS += -I${OPENTHREAD_PATH} -I${OPENTHREAD_PATH}/output/include -I${OPENTHREAD_PATH}/src/core
CFLAGS += -I${OPENTHREAD_PATH}/third_party/mbedtls/repo.patched/include
CFLAGS += -DOPENTHREAD_FTD
VPATH=../../messaging/coap/:../../util/:../../api/:../../deps/tinycbor/src/:../../apps:
LIBS = -L${OPENTHREAD_LIB_PATH} -lopenthread-ftd -lmbedcrypto \
-lopenthread-${OPENTHREAD_BOARD} -lopenthread-diag ${BOARD_LIBS}
ifeq ($(RETARGET),1)
CFLAGS += -DOC_RETARGET
endif
ifeq ($(DEBUG),1)
CFLAGS += -DOC_DEBUG -g -O0
else
CFLAGS += -g -O0
endif
ifeq ($(SECURE),1)
SRC_COMMON += oc_acl.c oc_cred.c oc_doxm.c oc_pstat.c oc_dtls.c oc_svr.c oc_store.c oc_sdi.c
SRC_COMMON += memory_buffer_alloc.c
CFLAGS += -DOC_SECURITY
endif
CXXFLAGS := ${CFLAGS}
CFLAGS += -std=c99
SAMPLES = ${PATH_BIN}/server ${PATH_BIN}/client
all: $(SAMPLES)
.PHONY: clean cleanall
-include ${PATH_OBJ}/*.d
-include ${PATH_OBJ}/client/*.d
-include ${PATH_OBJ}/server/*.d
${PATH_OBJ}/server/%.o: %.c
@mkdir -p ${@D}
${CC} -c -o $@ ${CFLAGS} -DOC_SERVER -MMD $<
${PATH_OBJ}/server/%.o: %.cpp
@mkdir -p ${@D}
${CC} -c -o $@ ${CXXFLAGS} -DOC_SERVER -MMD $<
${PATH_OBJ}/client/%.o: %.c
@mkdir -p ${@D}
${CC} -c -o $@ ${CFLAGS} -DOC_CLIENT -MMD $<
${PATH_OBJ}/client/%.o: %.cpp
@mkdir -p ${@D}
${CC} -c -o $@ ${CXXFLAGS} -DOC_CLIENT -MMD $<
${PATH_BIN}/server: ${OBJ_SERVER}
@mkdir -p ${@D}
${CC} -o $@ $(OBJ_SERVER) ${CFLAGS} ${LDFLAGS} ${LIBS}
${PATH_BIN}/client: ${OBJ_CLIENT}
@mkdir -p ${@D}
${CC} -o $@ $(OBJ_CLIENT) ${CFLAGS} ${LDFLAGS} ${LIBS}
clean:
rm -rf ${PATH_OBJ}
cleanall: clean
rm -rf ${PATH_BIN}