Changeset for reviewing RI-CA integration changes.
[platform/upstream/iotivity.git] / resource / oc_logger / samples / linux / 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 OUT_DIR   := $(BUILD)
27 OBJ_DIR   := $(OUT_DIR)/obj
28
29 ifeq ($(ROOT_DIR), )
30 ROOT_DIR        = ../../../csdk
31 endif
32
33 OUT_DIR = ./
34
35 OCLOGGER_DIR    = $(ROOT_DIR)/logger
36 OC_LOG_DIR              = $(ROOT_DIR)/../oc_logger
37 OCRANDOM_DIR    = $(ROOT_DIR)/ocrandom
38 OCTBSTACK_DIR   = $(ROOT_DIR)/stack
39
40 OC_LOG_INC              = $(OC_LOG_DIR)/include
41 OC_LOG_LIB              = $(OC_LOG_DIR)/lib/oc_logger.a  
42
43 OCLOGGER_INC    = $(OCLOGGER_DIR)/include
44 OCRANDOM_INC    = $(OCRANDOM_DIR)/include
45 OCTBSTACK_INC   = $(OCTBSTACK_DIR)/include
46
47 INC_DIRS                := -I$(OCLOGGER_INC)
48 INC_DIRS                += -I$(OC_LOG_INC)
49 INC_DIRS                += -I$(OCRANDOM_INC)
50 INC_DIRS                += -I$(OCTBSTACK_INC)
51
52 CC_FLAGS.debug      := -O0 -g3 -Wall -ffunction-sections -fdata-sections \
53                         -std=c99 $(INC_DIRS) -L$(ROOT_DIR)/$(PLATFORM)/$(BUILD) -DTB_LOG
54 CC_FLAGS.release    := -Os -Wall -fdata-sections -Wl,--gc-sections -Wl,-s \
55                         -std=c99 $(INC_DIRS) -L$(ROOT_DIR)/$(PLATFORM)/$(BUILD)
56
57 LDLIBS          += $(OC_LOG_LIB) -loctbstack -lpthread 
58 CPPFLAGS        += $(CC_FLAGS.$(BUILD)) $(LDLIBS)
59
60 SOURCES     := test_logging.c
61
62 OBJECTS:= $(patsubst %.c, $(OBJ_DIR)/%.o, $(SOURCES))
63
64 PROGRAMS        += test_logging
65
66 all:    prep_dirs $(OBJECTS) $(PROGRAMS)
67
68 prep_dirs:
69         -mkdir -p $(OUT_DIR)
70         -mkdir -p $(OBJ_DIR)
71
72 $(OBJ_DIR)/%.o: %.c
73         $(CC) -c $(CPPFLAGS) $< -o $@
74
75 test_logging: $(OBJ_DIR)/test_logging.o 
76         $(CC) $^ $(CPPFLAGS) -o $(OUT_DIR)/$(BUILD)/$@
77
78 .PHONY: clean
79
80 clean: legacy_clean
81         -rm -rf release
82         -rm -rf debug
83
84 legacy_clean:
85         rm -f *.o $(PROGRAMS)
86