2 # Copyright (C) 2015 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
14 PKG_SOURCE
:=${PKG_NAME}-${PKG_VERSION}.
tar.gz
15 PKG_SOURCE_URL
:=https
://downloads.iotivity.org
/${PKG_VERSION}/ \
16 http
://mirrors.kernel.org
/${PKG_NAME}/${PKG_VERSION}/
17 PKG_MD5SUM
:=4bcbabffc1734c664bbdf8fedfa60543
20 PKG_MAINTAINER
:=Hauke Mehrtens
<hauke.mehrtens@lantiq.com
>
22 PKG_LICENSE
:=Apache-2.0
23 PKG_LICENSE_FILES
:=LICENSE.md
25 include $(INCLUDE_DIR
)/package.mk
26 include $(INCLUDE_DIR
)/scons.mk
29 define Package
/iotivity
32 DEPENDS
:=@
!USE_UCLIBC
+libpthread
+librt
+libuuid
33 TITLE
:=IoTivity C Library
34 URL
:=https
://www.iotivity.org
37 define Package
/iotivity
/description
38 IoTivity is a framework for the Internet of Things based on the
39 Open Interconnect Consortium Specification.
43 define Package
/iotivity-cpp
46 DEPENDS
:=iotivity
+libpthread
+libstdcpp
47 TITLE
:=IoTivity C
++ Library
48 URL
:=https
://www.iotivity.org
51 define Package
/iotivity-cpp
/description
52 IoTivity is a framework for the Internet of Things based on the
53 Open Interconnect Consortium Specification.
57 define Package
/iotivity-things-manager-lib
60 DEPENDS
:=iotivity
+iotivity-cpp
+libstdcpp
61 TITLE
:=IoTivity things manager lib
62 URL
:=https
://www.iotivity.org
65 define Package
/iotivity-things-manager-lib
/description
66 IoTivity things-manager lib
70 define Package
/iotivity-oic-middle
73 DEPENDS
:=iotivity
+iotivity-cpp
74 TITLE
:=IoTivity OIC Middle
75 URL
:=https
://www.iotivity.org
78 define Package
/iotivity-oic-middle
/description
83 define Package
/iotivity-things-manager
86 DEPENDS
:=iotivity
+iotivity-cpp
+iotivity-things-manager-lib
87 TITLE
:=IoTivity things manager
88 URL
:=https
://www.iotivity.org
91 define Package
/iotivity-things-manager
/description
92 IoTivity things manager
95 define Package
/iotivity-resource-container-lib
98 DEPENDS
:=iotivity
+iotivity-cpp
+boost-system
+boost-thread
+boost-date_time
99 TITLE
:=IoTivity Resource Container library
100 URL
:=https
://www.iotivity.org
103 define Package
/iotivity-resource-container-sample
106 DEPENDS
:=iotivity
+iotivity-resource-container-lib
107 TITLE
:=IoTivity Resource Container sample Application
108 URL
:=https
://www.iotivity.org
111 define Package
/iotivity-resource-container-hue
114 DEPENDS
:=iotivity
+iotivity-resource-container-lib
+libcurl
115 TITLE
:=IoTivity Resource Container Hue Bundle
116 URL
:=https
://www.iotivity.org
119 define Package
/iotivity-example-garage
122 DEPENDS
:=iotivity
+iotivity-cpp
123 TITLE
:=IoTivity Garage example
124 URL
:=https
://www.iotivity.org
127 define Package
/iotivity-example-garage
/description
128 An IoTivity example application
132 PKG_TINYCBOR_NAME
:=tinycbor
133 PKG_TINYCBOR_VERSION
:=43e3ac9490cf19459ec7b7bd13df3b66810fb62a
134 PKG_TINYCBOR_SOURCE
:=$(PKG_TINYCBOR_NAME
)-$(PKG_TINYCBOR_VERSION
).
tar.bz2
135 PKG_TINYCBOR_PROTO
:=git
136 PKG_TINYCBOR_SOURCE_URL
:=https
://github.com
/01org
/tinycbor.git
137 PKG_TINYCBOR_SUBDIR
:=$(PKG_TINYCBOR_NAME
)
138 #PKG_TINYCBOR_MIRROR_MD5SUM:=?
140 define Download
/iotivity-tinycbor
141 FILE
:=$(PKG_TINYCBOR_SOURCE
)
142 URL
:=$(PKG_TINYCBOR_SOURCE_URL
)
143 PROTO
:=$(PKG_TINYCBOR_PROTO
)
144 VERSION
:=$(PKG_TINYCBOR_VERSION
)
145 SUBDIR
:=$(PKG_TINYCBOR_SUBDIR
)
146 #MIRROR_MD5SUM:=$(PKG_TINYCBOR_MIRROR_MD5SUM)
148 $(eval
$(call Download
,iotivity-tinycbor
))
150 PKG_SQLITE_NAME
:=sqlite
151 PKG_SQLITE_VERSION
:=3081101
152 PKG_SQLITE_SOURCE
:=$(PKG_SQLITE_NAME
)-amalgamation-
$(PKG_SQLITE_VERSION
).zip
153 PKG_SQLITE_SOURCE_URL
:=http
://www.sqlite.org
/2015/
154 PKG_SQLITE_SUBDIR
:=$(PKG_SQLITE_NAME
)
155 PKG_SQLITE_MD5SUM
:=94907e831502e2080b76e281cfa24dde
157 define Download
/iotivity-sqlite
158 FILE
:=$(PKG_SQLITE_SOURCE
)
159 URL
:=$(PKG_SQLITE_SOURCE_URL
)
160 VERSION
:=$(PKG_SQLITE_VERSION
)
161 SUBDIR
:=$(PKG_SQLITE_SUBDIR
)
162 MD5SUM
:=$(PKG_SQLITE_MD5SUM
)
164 $(eval
$(call Download
,iotivity-sqlite
))
169 TARGET_TRANSPORT
=IP \
170 TARGET_ARCH
=$(ARCH
) \
171 STAGING_DIR
=$(STAGING_DIR
) \
174 $(if
$(CONFIG_PACKAGE_iotivity
),liboctbstack
) \
175 $(if
$(CONFIG_PACKAGE_iotivity-cpp
),liboc
) \
176 $(if
$(CONFIG_PACKAGE_iotivity-things-manager-lib
),libTGMSDK
) \
177 $(if
$(CONFIG_PACKAGE_iotivity-oic-middle
),samples
) \
178 $(if
$(CONFIG_PACKAGE_iotivity-things-manager
),ConServerApp ConClientApp BootstrapServerApp
) \
179 $(if
$(CONFIG_PACKAGE_iotivity-resource-container-lib
),libResContainer
) \
180 $(if
$(CONFIG_PACKAGE_iotivity-resource-container-sample
),containersample
) \
181 $(if
$(CONFIG_PACKAGE_iotivity-resource-container-hue
),libHueBundle
) \
182 $(if
$(CONFIG_PACKAGE_iotivity-example-garage
),examples
) \
185 ifneq ($(findstring c
,$(OPENWRT_VERBOSE
)),)
186 SCONS_OPTIONS
+= VERBOSE
=true
190 $(call Build
/Prepare
/Default
)
191 $(TAR
) -C
$(PKG_BUILD_DIR
)/extlibs
/tinycbor
/ -xjf
$(DL_DIR
)/$(PKG_TINYCBOR_SOURCE
)
192 unzip
-d
$(PKG_BUILD_DIR
)/extlibs
/sqlite3
/ $(DL_DIR
)/$(PKG_SQLITE_SOURCE
)
193 mv
$(PKG_BUILD_DIR
)/extlibs
/sqlite3
/$(PKG_SQLITE_NAME
)-amalgamation-
$(PKG_SQLITE_VERSION
)/sqlite3.h
$(PKG_BUILD_DIR
)/extlibs
/sqlite3
/
194 mv
$(PKG_BUILD_DIR
)/extlibs
/sqlite3
/$(PKG_SQLITE_NAME
)-amalgamation-
$(PKG_SQLITE_VERSION
)/sqlite3.c
$(PKG_BUILD_DIR
)/extlibs
/sqlite3
/
198 define Build
/Configure
199 (cd
$(PKG_BUILD_DIR
); \
207 define Package
/iotivity
/install
208 $(INSTALL_DIR
) $(1)/usr
/lib
209 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/out
/linux
/$(ARCH
)/release
/liboctbstack.so
$(1)/usr
/lib
/
212 define Package
/iotivity-cpp
/install
213 $(INSTALL_DIR
) $(1)/usr
/lib
214 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/out
/linux
/$(ARCH
)/release
/liboc.so
$(1)/usr
/lib
/
215 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/out
/linux
/$(ARCH
)/release
/liboc_logger.so
$(1)/usr
/lib
/
218 define Package
/iotivity-things-manager-lib
/install
219 $(INSTALL_DIR
) $(1)/usr
/lib
220 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/out
/linux
/$(ARCH
)/release
/libTGMSDKLibrary.so
$(1)/usr
/lib
/
223 define Package
/iotivity-oic-middle
/install
224 $(INSTALL_DIR
) $(1)/usr
/bin
225 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/out
/linux
/$(ARCH
)/release
/examples
/OICMiddle
/OICMiddle
$(1)/usr
/bin
/
228 define Package
/iotivity-things-manager
/install
229 $(INSTALL_DIR
) $(1)/usr
/bin
230 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/out
/linux
/$(ARCH
)/release
/service
/things-manager
/sampleapp
/linux
/configuration
/bootstrapserver
$(1)/usr
/bin
/
231 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/out
/linux
/$(ARCH
)/release
/service
/things-manager
/sampleapp
/linux
/configuration
/con-server
$(1)/usr
/bin
/
232 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/out
/linux
/$(ARCH
)/release
/service
/things-manager
/sampleapp
/linux
/configuration
/con-client
$(1)/usr
/bin
/
235 define Package
/iotivity-resource-container-lib
/install
236 $(INSTALL_DIR
) $(1)/usr
/lib
237 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/out
/linux
/$(ARCH
)/release
/librcs_common.so
$(1)/usr
/lib
/
238 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/out
/linux
/$(ARCH
)/release
/librcs_client.so
$(1)/usr
/lib
/
239 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/out
/linux
/$(ARCH
)/release
/librcs_server.so
$(1)/usr
/lib
/
240 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/out
/linux
/$(ARCH
)/release
/librcs_container.so
$(1)/usr
/lib
/
243 define Package
/iotivity-resource-container-sample
/install
244 $(INSTALL_DIR
) $(1)/usr
/bin
245 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/out
/linux
/$(ARCH
)/release
/service
/resource-container
/ContainerSample
$(1)/usr
/bin
/
248 define Package
/iotivity-resource-container-hue
/install
249 $(INSTALL_DIR
) $(1)/usr
/lib
250 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/out
/linux
/$(ARCH
)/release
/libHueBundle.so
$(1)/usr
/lib
/
253 define Package
/iotivity-example-garage
/install
254 $(INSTALL_DIR
) $(1)/usr
/bin
255 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/out
/linux
/$(ARCH
)/release
/resource
/examples
/garageclient
$(1)/usr
/bin
/
256 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/out
/linux
/$(ARCH
)/release
/resource
/examples
/garageserver
$(1)/usr
/bin
/
260 $(eval
$(call BuildPackage
,iotivity
))
261 $(eval
$(call BuildPackage
,iotivity-cpp
))
262 $(eval
$(call BuildPackage
,iotivity-things-manager-lib
))
263 $(eval
$(call BuildPackage
,iotivity-oic-middle
))
264 $(eval
$(call BuildPackage
,iotivity-things-manager
))
265 $(eval
$(call BuildPackage
,iotivity-resource-container-lib
))
266 $(eval
$(call BuildPackage
,iotivity-resource-container-sample
))
267 $(eval
$(call BuildPackage
,iotivity-resource-container-hue
))
268 $(eval
$(call BuildPackage
,iotivity-example-garage
))