1 # //******************************************************************
3 # // Copyright 2014 Intel Mobile Communications GmbH All Rights Reserved.
5 # //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
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
11 # // http://www.apache.org/licenses/LICENSE-2.0
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.
19 # //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
21 # override with `make BUILD=debug`
22 # default to release build
26 OUT_DIR := $(PWD)/$(BUILD)
27 OBJ_DIR := $(OUT_DIR)/obj
29 CXX_FLAGS.debug := -g3 -std=c++0x -Wall -pthread -O0
30 CXX_FLAGS.release := -std=c++0x -Wall -pthread -O3
32 CXX_INC := -I./include/
33 CXX_INC += -I./csdk/stack/include
34 CXX_INC += -I./csdk/ocsocket/include
35 CXX_INC += -I./csdk/ocrandom/include
36 CXX_INC += -I./csdk/logger/include
37 CXX_INC += -I./csdk/libcoap
39 # Force metatargets to build:
40 .PHONY: prep_dirs c_sdk liboc.a examples
49 cd csdk && $(MAKE) "BUILD=$(BUILD)"
52 cd examples && $(MAKE) "BUILD=$(BUILD)"
54 liboc.a: OCPlatform.o OCResource.o OCUtilities.o InProcServerWrapper.o InProcClientWrapper.o
55 ar -cvq $(OBJ_DIR)/liboc.a $(OBJ_DIR)/OCPlatform.o $(OBJ_DIR)/OCResource.o $(OBJ_DIR)/OCUtilities.o $(OBJ_DIR)/InProcServerWrapper.o $(OBJ_DIR)/InProcClientWrapper.o
57 OCPlatform.o: src/OCPlatform.cpp
58 $(CXX) $(CXX_FLAGS.$(BUILD)) -o $(OBJ_DIR)/$@ -c src/OCPlatform.cpp $(CXX_INC)
60 OCResource.o: src/OCResource.cpp
61 $(CXX) $(CXX_FLAGS.$(BUILD)) -o $(OBJ_DIR)/$@ -c src/OCResource.cpp $(CXX_INC)
63 OCUtilities.o: src/OCUtilities.cpp
64 $(CXX) $(CXX_FLAGS.$(BUILD)) -o $(OBJ_DIR)/$@ -c src/OCUtilities.cpp $(CXX_INC)
66 InProcServerWrapper.o: src/InProcServerWrapper.cpp
67 $(CXX) $(CXX_FLAGS.$(BUILD)) -o $(OBJ_DIR)/$@ -c src/InProcServerWrapper.cpp $(CXX_INC)
69 InProcClientWrapper.o: src/InProcClientWrapper.cpp
70 $(CXX) $(CXX_FLAGS.$(BUILD)) -o $(OBJ_DIR)/$@ -c src/InProcClientWrapper.cpp $(CXX_INC)
75 cd csdk && $(MAKE) clean
76 cd csdk && $(MAKE) deepclean
77 cd examples && $(MAKE) clean
79 -rm -f -v $(OBJ_DIR)/liboc.a $(OBJ_DIR)/*.o