Initial merge-commit of the OIC code. Should successfully do discovery for single...
[platform/upstream/iotivity.git] / csdk / stack / test / linux / Makefile
1 VERSION:=4.1.1
2
3 #other options are android, arduino
4 PLATFORM=linux
5
6 #peg_ccfl-core
7 ROOT_DIR = ../../..
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
15
16 OBJ_DIR = ./
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 \
20     -I$(JSON_DIR)
21
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)
30     CCPLUS=g++
31     CC=gcc
32     AR=ar
33     RANLIB=ranlib
34 else
35    $(error Wrong value for PLATFORM !!)
36 endif
37
38 DEP_LIBS = $(LIBCOAP_DIR)/libcoap.a
39
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
42
43 VPATH = $(OCCOAP_DIR)/src:$(OCSTACK_DIR)/src
44
45 PROGRAMS = ocserver occlient
46
47 SOURCES:= occlient.c ocserver.c ocstack.c occoap.c occlientcb.c ocserverrequest.c
48
49 OBJECTS:= $(patsubst %.c, %.o, $(SOURCES))
50
51 all: $(PROGRAMS)
52
53 %.o: %.c
54         $(CC) -c $(CFLAGS) $(CFLAGS_ANDROID) $(INC_DIRS) $< -o $@
55
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
59
60 ocserver: ocserver.o ocstack.o occoap.o occlientcb.o ocserverrequest.o $(DEP_LIBS)
61         $(CC) -Os -Wl,--gc-sections $(LDFLAGS_ANDROID) $^ -o $@ -lm
62
63 install: all
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/
68 endif
69
70 .PHONY: clean
71
72 clean:
73         rm -f *.o $(PROGRAMS)
74