Updated Makefiles and CMakeLists.txt to point to resource, not oic-resource
[platform/upstream/iotivity.git] / csdk / stack / test / makefile
1 # //******************************************************************
2 # //
3 # // Copyright 2014 Intel Mobile Communications GmbH All Rights Reserved.
4 # //
5 # //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
6 # //
7 # // Licensed under the Apache License, Version 2.0 (the "License");
8 # // you may not use this file except in compliance with the License.
9 # // You may obtain a copy of the License at
10 # //
11 # //      http://www.apache.org/licenses/LICENSE-2.0
12 # //
13 # // Unless required by applicable law or agreed to in writing, software
14 # // distributed under the License is distributed on an "AS IS" BASIS,
15 # // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # // See the License for the specific language governing permissions and
17 # // limitations under the License.
18 # //
19 # //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
20 #
21 # override with `make BUILD=debug`
22 # default to release build
23 BUILD    := release
24 PLATFORM := linux
25 CC       := g++
26
27 ifeq ($(ROOT_DIR), )
28 ROOT_DIR        = $(PWD)/../..
29 endif
30
31 # You must create the file "local.properties" on your local machine which contains any local paths, etc
32 # local.properties should NOT be committed to repo
33 include $(ROOT_DIR)/local.properties
34 # GTEST_DIR contains the path to Google Test libs and must be defined in local.properties
35 #  Example:
36 #  GTEST_DIR := /home/johndoe/utils/gtest-1.7.0
37
38 # NOTE:  to run app, make sure that LD_LIBRARY_PATH env variable
39 #        contains $(GTEST_DIR)/lib/.libs
40
41 OUT_DIR   := $(PWD)/$(BUILD)
42 OBJ_DIR   := $(OUT_DIR)/obj
43
44
45 OUT_DIR   := $(PWD)
46
47 OCLOGGER_DIR    = $(ROOT_DIR)/logger
48 OCRANDOM_DIR    = $(ROOT_DIR)/ocrandom
49 OCSOCKET_DIR    = $(ROOT_DIR)/ocsocket
50 LCOAP_DIR               = $(ROOT_DIR)/libcoap-4.1.1
51 OCCOAP_DIR              = $(ROOT_DIR)/occoap
52 OCTBSTACK_DIR   = $(ROOT_DIR)/stack
53
54 OCLOGGER_INC    = $(OCLOGGER_DIR)/include
55 OCRANDOM_INC    = $(OCRANDOM_DIR)/include
56 OCSOCKET_INC    = $(OCSOCKET_DIR)/include
57 LCOAP_INC               = $(LCOAP_DIR)
58 OCCOAP_INC              = $(OCCOAP_DIR)/include
59 OCTBSTACK_INC   = $(OCTBSTACK_DIR)/include
60
61 INC_DIRS        := -I$(OCLOGGER_INC)
62 INC_DIRS        += -I$(OCRANDOM_INC)
63 INC_DIRS        += -I$(OCSOCKET_INC)
64 INC_DIRS        += -I$(LCOAP_INC)
65 INC_DIRS        += -I$(OCCOAP_INC)
66 INC_DIRS        += -I$(OCTBSTACK_INC)
67 INC_DIRS        += -I$(OCTBSTACK_INC)/internal
68 INC_DIRS  += -I$(GTEST_DIR)/include
69
70 CC_FLAGS.debug      := -g -O0 -g3 -Wall -ffunction-sections -fdata-sections -fno-exceptions \
71                         -std=c++0x -pedantic $(INC_DIRS) -L$(ROOT_DIR)/$(BUILD) -DTB_LOG
72 CC_FLAGS.release    := -Os -Wall -fdata-sections -Wl,--gc-sections -Wl,-s -fno-exceptions \
73                         -std=c++0x $(INC_DIRS) -L$(ROOT_DIR)/$(BUILD) 
74                                         
75 LDLIBS          += -loctbstack -lpthread -lgtest -lgtest_main
76 CPPFLAGS        += $(CC_FLAGS.$(BUILD)) $(LDLIBS) -L$(GTEST_DIR)/lib/.libs
77
78 SOURCES := stacktests.cpp
79
80 OBJECTS:= $(patsubst %.c, $(OBJ_DIR)/%.o, $(SOURCES))
81
82 PROGRAMS := stacktests
83
84 all:    prep_dirs $(OBJECTS) $(PROGRAMS) 
85
86 prep_dirs:
87         -mkdir -p $(OUT_DIR)
88         -mkdir -p $(OBJ_DIR)
89
90 $(OBJ_DIR)/%.o: %.cpp
91         $(CC) -c $(CPPFLAGS) $< -o $@
92
93 stacktests: $(OBJ_DIR)/stacktests.o 
94         $(CC) $^ $(CPPFLAGS) -o $(OUT_DIR)/$(BUILD)/$@
95
96 .PHONY: clean
97
98 clean: legacy_clean
99         -rm -rf release
100         -rm -rf debug
101
102 legacy_clean:
103         rm -f *.o $(PROGRAMS)