examples are created in just release/debug folder.
[platform/upstream/iotivity.git] / examples / makefile
1 # override with `make BUILD=release`
2 # default to release build
3 BUILD     := release
4 CXX           := g++
5 #CXX      := clang
6 OUT_DIR   := $(PWD)/$(BUILD)
7
8 CXX_FLAGS.debug     := -g3 -std=c++0x -Wall -pthread
9
10 CXX_FLAGS.release   := -std=c++0x -Wall -pthread
11
12 CXX_INC   := -I../include/
13 CXX_INC   += -I../csdk/stack/include
14 CXX_INC   += -I../csdk/ocsocket/include
15 CXX_INC   += -I../csdk/ocrandom/include
16 CXX_INC   += -I../csdk/logger/include
17 CXX_INC   += -I../csdk/libcoap
18
19 # Force metatargets to build:
20 .PHONY: prep_dirs simpleserver simpleclient simpleclientserver roomserver roomclient
21
22 all: .PHONY
23
24 prep_dirs:
25         -mkdir -p $(OUT_DIR)
26
27 simpleserver: simpleserver.cpp
28         $(CXX) $(CXX_FLAGS.$(BUILD)) -o $(OUT_DIR)/$@ simpleserver.cpp $(CXX_INC) ../$(BUILD)/obj/OCLib.a ../csdk/$(BUILD)/liboctbstack.a
29
30 simpleclient: simpleclient.cpp
31         $(CXX) $(CXX_FLAGS.$(BUILD)) -o $(OUT_DIR)/$@ simpleclient.cpp $(CXX_INC) ../$(BUILD)/obj/OCLib.a ../csdk/$(BUILD)/liboctbstack.a
32
33 simpleclientserver: simpleclientserver.cpp
34         $(CXX) $(CXX_FLAGS.$(BUILD)) -o $(OUT_DIR)/$@ simpleclientserver.cpp $(CXX_INC) ../$(BUILD)/obj/OCLib.a ../csdk/$(BUILD)/liboctbstack.a
35
36 roomserver: roomserver.cpp
37         $(CXX) $(CXX_FLAGS.$(BUILD)) -o $(OUT_DIR)/$@ roomserver.cpp $(CXX_INC) ../$(BUILD)/obj/OCLib.a ../csdk/$(BUILD)/liboctbstack.a
38
39 roomclient: roomclient.cpp
40         $(CXX) $(CXX_FLAGS.$(BUILD)) -o $(OUT_DIR)/$@ roomclient.cpp $(CXX_INC) ../$(BUILD)/obj/OCLib.a ../csdk/$(BUILD)/liboctbstack.a
41
42 clean: 
43         rm -rf $(OUT_DIR)/*
44