Initial merge-commit of the OIC code. Should successfully do discovery for single...
[platform/upstream/iotivity.git] / csdk / ocrandom / test / linux / makefile
1 # override with `make BUILD=release`
2 # default to debug build
3 BUILD := debug
4
5 # You must create the file "local.propertiessudo" on your local machine which contains any local paths, etc
6 # local_settings.mk should NOT be committed to repo
7 include ../../local.properties
8 # GTEST_DIR contains the path to Google Test libs and must be defined in local.properties
9 #  Example:
10 #  GTEST_DIR := /home/johndoe/utils/gtest-1.7.0
11
12 # NOTE:  to run app, make sure that LD_LIBRARY_PATH env variable
13 #        contains $(GTEST_DIR)/lib/.libs
14                                 
15 CC := gcc
16 CXX     := g++
17
18 PROG := randomtest
19
20 SRC_DIR := ../../src
21 TEST_DIR:= ../../test/linux
22 INC_DIR := ../../include
23
24 CC_FLAGS.debug := -O0 -g3 -Wall -c -fmessage-length=0 -pedantic -std=c99 -fpic -D TB_LOG
25 CC_FLAGS.release := -O0 -g3 -Wall -c -fmessage-length=0 -std=c99 -fpic 
26 CC_FLAGS := $(CC_FLAGS.$(BUILD))
27
28 CXX_FLAGS.debug := -O0 -g3 -Wall -c -fmessage-length=0 -pedantic -std=c++0x -fpic -D TB_LOG
29 CXX_FLAGS.release := -O0 -g3 -Wall -c -fmessage-length=0 -std=c++0x -fpic 
30 CXX_FLAGS := $(CXX_FLAGS.$(BUILD))
31
32 INC     := -I$(SRC_DIR)  
33 INC += -I$(TEST_DIR)
34 INC += -I$(INC_DIR)
35 INC += -I$(GTEST_DIR)/include
36
37
38 # using make's computed variables to select object and bin folders
39 # depending on the build type
40 OBJ_DIR.debug := ./obj/debug
41 OBJ_DIR.release := ./obj/release
42 OBJ_DIR := $(OBJ_DIR.$(BUILD))
43
44 BIN_DIR.debug := ./bin/debug
45 BIN_DIR.release := ./bin/release
46 BIN_DIR := $(BIN_DIR.$(BUILD))
47
48 C_FILES := $(wildcard $(SRC_DIR)/*.c)
49 #CPP_FILES := $(wildcard $(SRC_DIR)/*.cpp)
50 CPP_FILES := $(wildcard $(TEST_DIR)/*.cpp)
51 OBJ_FILES := $(addprefix $(OBJ_DIR)/,$(notdir $(CPP_FILES:.cpp=.o) $(C_FILES:.c=.o)))
52 H_FILES := $(wildcard $(TEST_DIR)/*.h)
53 H_FILES += $(wildcard $(INC_DIR)/*.h)
54 LD_FLAGS := -L/usr/lib
55 LD_FLAGS += -L$(GTEST_DIR)/lib/.libs
56
57
58 LIBS := -lpthread
59 LIBS += -lgtest
60 LIBS += -lgtest_main
61
62
63 all: $(PROG)
64         
65 $(PROG): $(OBJ_FILES)  
66         mkdir -p $(BIN_DIR)
67         $(CXX) -o $@ $^ $(LD_FLAGS) $(LIBS)     
68 #       $(CXX) -o $@ $^ $(GTEST_DIR)/make/gtest_main.a -lpthread
69         mv ./$(PROG) ./$(BIN_DIR)
70
71 #$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c $(SRC_DIR)/%.h $(H_FILES)
72 #       $(CC) $(CC_FLAGS) $(INC) -c -o $@ $<
73
74 $(OBJ_DIR)/%.o: $(SRC_DIR)/%.c $(INC_DIR)/%.h $(H_FILES)
75         mkdir -p $(OBJ_DIR)
76         $(CC) $(CC_FLAGS) $(INC) -c -o $@ $<
77
78 $(OBJ_DIR)/%.o: $(TEST_DIR)/%.cpp $(H_FILES)
79         mkdir -p $(OBJ_DIR)
80         $(CXX) $(CXX_FLAGS) $(INC) -c -o $@ $<
81
82         
83 .PHONY: clean
84 clean :
85         rm -rf ./obj/debug/*
86         rm -rf ./obj/release/*
87         rm -rf ./lib/debug/*
88         rm -rf ./lib/release/*
89         rm -rf ./bin/debug/*
90         rm -rf ./bin/release/*
91         rm -rf ./test/tst_*.txt
92
93
94 .PHONY: print_vars
95
96 print_vars:
97         @echo ""
98         @echo 'BUILD     = '$(value BUILD)
99         @echo 'INC       = '$(value INC)
100         @echo 'CPP_FILES = '$(value CPP_FILES)
101         @echo 'LIBS      = '$(value LIBS)
102         
103