Changeset for reviewing RI-CA integration changes.
[platform/upstream/iotivity.git] / service / soft-sensor-manager / SSMCore / build / linux / Makefile
1 -include ../../../build/linux/root_path.inc
2 -include ../../../build/linux/environment.mk
3
4 BOOST=${BOOST_BASE}
5 SRC_PATH=../../src
6 INC_PATH=../../include
7 RST_NAME=release
8
9 # Insert your project name.
10 TARGET=${SSMCORE_LIB}
11 EXCLUDE_LIST=SSMCore_JNI.cpp
12
13 # C++ type Compile Flag define.
14 CXX=g++
15 CXX_FLAGS=-std=c++0x -Wall -pthread -DLINUX -ldl -DNDEBUG
16 CXX_INC=-I${INC_PATH}/ -I${SRC_PATH}/ -I${IOT_BASE}/include/ -I${IOT_LOG_DIR}/include/ -I${IOT_BASE}/csdk/stack/include  -I${IOT_BASE}/csdk/ocrandom/include -I${IOT_BASE}/csdk/logger/include -I${BOOST}
17 CXX_LIB=-L""
18
19 CXX_SRCPATH=${wildcard ${SRC_PATH}/**/*.cpp}
20 CXX_SRCPATH+=${wildcard ${SRC_PATH}/*.cpp}
21 CXX_SRCLIST=${notdir ${CXX_SRCPATH}}
22 CXX_USESRCS=${filter-out ${EXCLUDE_LIST}, ${CXX_SRCLIST}}
23 CXX_OBJLIST=${CXX_USESRCS:.cpp=.o}
24
25 # C type Compile Flag define.
26 GCC=gcc
27 GCC_FLAGS=-Wall -pthread -DLINUX -ldl -DNDEBUG
28 GCC_INC=-I../../ -I${INC_PATH}/ -I${IOT_BASE}/include/ -I${IOT_BASE}/csdk/stack/include -I${IOT_BASE}/csdk/ocrandom/include -I${IOT_BASE}/csdk/logger/include -I${BOOST} -I${SRC_PATH} -I${SRC_PATH}/Common -I${SRC_PATH}/QueryProcessor -I${SRC_PATH}/SensorProcessor -I${SRC_PATH}/SSMInterface
29
30 GCC_SRCPATH=${wildcard ${SRC_PATH}/**/*.c}
31 GCC_SRCLIST=${notdir ${GCC_SRCPATH}}
32 GCC_USESRCS=${filter-out ${EXCLUDE_LIST}, ${GCC_SRCLIST}}
33 GCC_OBJLIST=${GCC_USESRCS:.c=.o}
34
35 # Linker FLAGS define.
36 LD_FLAGS=-std=c++0x -Wall -DLINUX
37 GAR=ar
38 # LD_LIB=${IOT_RELEASE}/${IOT_LIB} ${IOT_CSDK_RELEASE}/${IOT_CSDK_LIB} ${IOT_LOG_DIR}/lib/${IOT_LOG_LIB} -lpthread -ldl 
39
40
41 # Force metatargets to build:
42 .PHONY: all clean
43
44 all: pre_job ${TARGET} post_job
45
46 pre_job:
47         @echo " " 
48         @echo "---------- SSMCore Build Begin. -------------" 
49         @mkdir -p ${RST_NAME}
50         @echo " "
51         @echo "${MODEL_DIR}"
52         
53 ${TARGET}: ${GCC_OBJLIST} ${CXX_OBJLIST}
54         # $(CXX) $(LD_FLAGS) -o ./${RST_NAME}/$@ $^ ${LD_LIB}           
55         ${GAR} -r ./${RST_NAME}/$@  ./*.o
56         @echo " "
57
58 %.o : ${SRC_PATH}/**/%.c 
59         ${GCC} ${GCC_FLAGS} -c $< ${GCC_INC} -o $@
60         @echo " " 
61                 
62 %.o : ${SRC_PATH}/**/%.cpp 
63         ${CXX} ${CXX_FLAGS} -c $< ${CXX_INC} -o $@
64         @echo " " 
65         
66 %.o : ${SRC_PATH}/%.cpp 
67         ${CXX} ${CXX_FLAGS} -c $< ${CXX_INC} -o $@
68         @echo " "
69
70 post_job:
71         @echo " " 
72         cp -Rdp ${INC_PATH}/SSMInterface.h ${FD_SDK}/include/
73         cp -Rdp ./${RST_NAME}/${TARGET} ${OUTPUTS_DIR}/
74         cp -Rdp ${INC_PATH}/SSMInterface.h ${OUTPUTS_DIR}/
75         cp -Rdp ${SRC_PATH}/SSMInterface/SSMModelDefinition.h ${OUTPUTS_DIR}/
76         @echo "---------------- SSMCore Build Successful. ---------------"
77         @echo "Enter to ${RST_NAME} folder."
78         @echo " " 
79
80
81 clean:
82         rm -f -v *.o ${TARGET}
83         rm -rf ./${RST_NAME}
84         
85