11 host_arch?=$(shell arch || echo "default")
12 OSTYPE?=$(shell echo "$${OSTYPE}")
13 uname?=$(shell echo `uname -s` || echo "")
16 ifeq ("",${TARGET_OS})
20 ifeq ("linux-gnu","${TARGET_OS}")
23 ifeq ("Linux","${TARGET_OS}")
26 ifeq ("",${TARGET_OS})
30 ifeq ("i386","${host_arch}")
33 ifeq ("i486","${host_arch}")
36 ifeq ("i586","${host_arch}")
39 ifeq ("i686","${host_arch}")
42 ifeq ("armel","${host_arch}")
45 ifeq ("armhf","${host_arch}")
48 ifeq ("aarch64","${host_arch}")
51 ifeq ("armv7l","${host_arch}")
60 # Default variables to overide before
64 TARGET_ARCH?=${host_arch}
67 _includedir?=/usr/include
83 TARGET_ARCH=${TARGET_ARCH} \
84 TARGET_OS=${TARGET_OS} \
85 TARGET_TRANSPORT=${TARGET_TRANSPORT} \
92 ${<D}/${<F} unit_tests \
93 && "log: $@: succeeded" \
94 || echo "warning: $@: failed and ignored, TODO: fix $@ (and don't ignore $@ failures)"
97 install: rule/fix rule/install_headers rule/install_examples
98 install -d ${buildroot}${_libdir}
99 find . -iname "lib*.a" -exec install "{}" ${buildroot}${_libdir}/ \;
100 find . -iname "lib*.so" -exec install "{}" ${buildroot}${_libdir}/ \;
101 -rm -fv ${buildroot}${_libdir}/lib*.a
102 install -d ${buildroot}${_libdir}/pkgconfig
103 install -d ${DESTDIR}/usr/share/pkgconfig
104 install ${name}.pc ${buildroot}${_libdir}/pkgconfig/
105 ln -fs ../../../${_libdir}/pkgconfig/${name}.pc ${DESTDIR}/usr/share/pkgconfig
107 @echo "TODO: workaround headers namespaces"
108 ln -fs iotivity/resource ${buildroot}${_includedir}/
109 ln -fs iotivity/service ${buildroot}${_includedir}/
110 ln -fs iotivity/resource/c_common ${buildroot}${_includedir}/
117 sed -e 's|^prefix=.*|prefix=/usr|g' -i ${<}
120 rule/install_headers: resource service
122 -iname "include" -o -iname 'inc' -a -type d\
123 | grep -v example | grep -v csdk \
124 | while read dir ; do \
125 dirname=$$(dirname -- "$${dir}") ; \
126 install -d ${buildroot}${_includedir}/${name}/$${dirname} ; \
127 install $${dir}/*.* ${buildroot}${_includedir}/${name}/$${dirname}/ ; \
129 cd resource/csdk && \
130 find . -iname "include" -o -iname 'inc' -a -type d\
131 | while read dir ; do \
132 dirname=$$(dirname -- "$${dir}") ; \
133 install -d ${buildroot}${_includedir}/${name}/resource/$${dirname} ; \
134 install $${dir}/*.* ${buildroot}${_includedir}/${name}/resource/$${dirname}/ ; \
136 install -d ${buildroot}${_includedir}/${name}/resource/oc_logger/targets/
138 install ./resource/oc_logger/include/targets/*.* \
139 ${buildroot}${_includedir}/${name}/resource/oc_logger/targets/
141 install -d ${buildroot}${_includedir}/${name}/resource/c_common
143 install ./resource/c_common/*.h \
144 ${buildroot}${_includedir}/${name}/resource/c_common/
146 install -d ${buildroot}${_libdir}/${name}/examples/
149 rule/install_examples:
150 # install out/${TARGET_OS}/${TARGET_ARCH}/${build_dir}/resource/examples/*client ${buildroot}${_libdir}/${name}/examples/
151 # install out/${TARGET_OS}/${TARGET_ARCH}/${build_dir}/resource/examples/*server ${buildroot}${_libdir}/${name}/examples/
152 # install out/${TARGET_OS}/${TARGET_ARCH}/${build_dir}/*/*/*/*client ${buildroot}${_libdir}/${name}/examples/
153 # install out/${TARGET_OS}/${TARGET_ARCH}/${build_dir}/*/*/*/*server ${buildroot}${_libdir}/${name}/examples/
154 # install out/${TARGET_OS}/${TARGET_ARCH}/${build_dir}/*lient ${buildroot}${_libdir}/${name}/examples/
155 # install out/${TARGET_OS}/${TARGET_ARCH}/${build_dir}/*erver ${buildroot}${_libdir}/${name}/examples/
158 @echo "OSTYPE=${OSTYPE}"
159 @echo "TARGET_OS=${TARGET_OS}"
160 @echo "host_arch=${host_arch}"
161 @echo "uname=${uname}"
163 docs_file?=${name}-docs.zip
165 rule/docs: resource/docs/javadocGen.sh
168 touch ${<D}/html/footer.html
170 cd ${CURDIR} && zip -r9 ${docs_file} ./${<D}
172 -iname 'DoxyFile' -printf "%h\n" \
173 -o -iname 'extlibs' -prune -a -iname 'out' -prune \
174 | while read file ; do \
175 cd "${CURDIR}/$${file}" && doxygen ; \
177 zip -r9 ${docs_file} $${file} ; \