3 #other options are android, arduino
8 LIBCOAP_DIR = $(ROOT_DIR)/libcoap-4.1.1
9 OCSOCK_DIR = $(ROOT_DIR)/ocsocket
10 OCCOAP_DIR = $(ROOT_DIR)/occoap
11 OCSTACK_DIR = $(ROOT_DIR)/stack
12 LOGGER_DIR = $(ROOT_DIR)/logger
13 RANDOM_DIR = $(ROOT_DIR)/ocrandom
14 JSON_DIR = $(ROOT_DIR)/../../../ccf-utilities/tb/cJSON
17 INC_DIRS = -I$(LOGGER_DIR)/include/ -I$(OCCOAP_DIR)/include/ \
18 -I$(OCSTACK_DIR)/include/ -I$(OCSTACK_DIR)/include/internal \
19 -I$(LIBCOAP_DIR)/ -I$(OCSOCK_DIR)/include -I$(RANDOM_DIR)/include \
22 ifeq ($(PLATFORM),android)
23 CCPLUS=arm-linux-androideabi-g++
24 CC=arm-linux-androideabi-gcc
25 AR=arm-linux-androideabi-ar
26 RANLIB=arm-linux-androideabi-ranlib
27 CFLAGS_ANDROID = -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16
28 LDFLAGS_ANDROID = -march=armv7-a -Wl,--fix-cortex-a8 -llog
29 else ifeq ($(PLATFORM),linux)
35 $(error Wrong value for PLATFORM !!)
38 DEP_LIBS = $(LIBCOAP_DIR)/libcoap.a
40 CFLAGS += -Os -Wall -Wno-write-strings -ffunction-sections -fdata-sections -fno-exceptions \
41 -Wextra -Wno-variadic-macros -pedantic -std=gnu99 -DWITH_POSIX -DTB_LOG
43 VPATH = $(OCCOAP_DIR)/src:$(OCSTACK_DIR)/src
45 PROGRAMS = ocserver occlient
47 SOURCES:= occlient.c ocserver.c ocstack.c occoap.c occlientcb.c ocserverrequest.c
49 OBJECTS:= $(patsubst %.c, %.o, $(SOURCES))
54 $(CC) -c $(CFLAGS) $(CFLAGS_ANDROID) $(INC_DIRS) $< -o $@
56 ##Added -lm as needed by json calling floor()
57 occlient: occlient.o ocstack.o occoap.o occlientcb.o ocserverrequest.o $(DEP_LIBS)
58 $(CC) -Os -Wl,--gc-sections $(LDFLAGS_ANDROID) $^ -o $@ -lm
60 ocserver: ocserver.o ocstack.o occoap.o occlientcb.o ocserverrequest.o $(DEP_LIBS)
61 $(CC) -Os -Wl,--gc-sections $(LDFLAGS_ANDROID) $^ -o $@ -lm
64 @echo "Installing for PLATFORM $(PLATFORM)"
65 ifeq ($(PLATFORM),android)
66 adb push coap-client /data/local/tmp/
67 adb push coap-server /data/local/tmp/