# # Copyright (C) 2015 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # include $(TOPDIR)/rules.mk PKG_NAME:=iotivity PKG_VERSION:=0.9.1 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://gerrit.iotivity.org/gerrit/iotivity PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE_VERSION:=0.9.1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz PKG_MIRROR_MD5SUM:= PKG_USE_MIPS16:=0 PKG_MAINTAINER:=Hauke Mehrtens PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE.md PKG_BUILD_DEPENDS:= +boost +libexpat include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/scons.mk define Package/iotivity SECTION:=net CATEGORY:=Network DEPENDS:=@!USE_UCLIBC +libpthread +librt +libstdcpp +libuuid TITLE:=IoTivity Library URL:=https://www.iotivity.org endef define Package/iotivity/description IoTivity is a framework for the Internet of Things based on the Open Interconnect Consortium Specification. endef define Package/iotivity-things-manager-lib SECTION:=net CATEGORY:=Network DEPENDS:=iotivity TITLE:=IoTivity things manager lib URL:=https://www.iotivity.org endef define Package/iotivity-things-manager-lib/description IoTivity things-manager lib endef define Package/iotivity-plugin-manager-lib SECTION:=net CATEGORY:=Network DEPENDS:=iotivity +libexpat TITLE:=IoTivity plugin manager lib URL:=https://www.iotivity.org endef define Package/iotivity-plugin-manager-lib/description IoTivity plugin manager lib endef define Package/iotivity-mqttclient SECTION:=net CATEGORY:=Network DEPENDS:=iotivity +iotivity-plugin-manager-lib +boost +boost-system TITLE:=IoTivity mqtt Client URL:=https://www.iotivity.org endef define Package/iotivity-mqttclient/description IoTivity mqtt Client endef define Package/iotivity-oic-middle SECTION:=net CATEGORY:=Network DEPENDS:=iotivity TITLE:=IoTivity OIC Middle URL:=https://www.iotivity.org endef define Package/iotivity-oic-middle/description IoTivity OIC Middle endef define Package/iotivity-things-manager SECTION:=net CATEGORY:=Network DEPENDS:=iotivity +iotivity-things-manager-lib TITLE:=IoTivity things manager URL:=https://www.iotivity.org endef define Package/iotivity-things-manager/description IoTivity things manager endef define Package/iotivity-example-garage SECTION:=net CATEGORY:=Network DEPENDS:=iotivity TITLE:=IoTivity Garage example URL:=https://www.iotivity.org endef define Package/iotivity-example-garage/description An IoTivity example application endef PKG_CEREAL_NAME:=cereal PKG_CEREAL_VERSION:=7121e91e6ab8c3e6a6516d9d9c3e6804e6f65245 PKG_CEREAL_SOURCE:=$(PKG_CEREAL_NAME)-$(PKG_CEREAL_VERSION).tar.bz2 PKG_CEREAL_PROTO:=git PKG_CEREAL_SOURCE_URL:=https://github.com/USCiLab/cereal.git PKG_CEREAL_SUBDIR:=$(PKG_CEREAL_NAME) #PKG_CEREAL_MIRROR_MD5SUM:=? define Download/iotivity-cereal FILE:=$(PKG_CEREAL_SOURCE) URL:=$(PKG_CEREAL_SOURCE_URL) PROTO:=$(PKG_CEREAL_PROTO) VERSION:=$(PKG_CEREAL_VERSION) SUBDIR:=$(PKG_CEREAL_SUBDIR) #MIRROR_MD5SUM:=$(PKG_CEREAL_MIRROR_MD5SUM) endef $(eval $(call Download,iotivity-cereal)) SCONS_OPTIONS += \ TARGET_OS=linux \ TARGET_TRANSPORT=ALL \ TARGET_ARCH=$(ARCH) \ STAGING_DIR=$(STAGING_DIR) \ mqttclient examples samples libTGMSDK ConServerApp ConClientApp BootstrapServerApp ifneq ($(findstring c,$(OPENWRT_VERBOSE)),) SCONS_OPTIONS += VERBOSE=true endif define Build/Prepare $(call Build/Prepare/Default) $(TAR) -C $(PKG_BUILD_DIR)/extlibs/cereal -xjf $(DL_DIR)/$(PKG_CEREAL_SOURCE) endef define Build/Configure (cd $(PKG_BUILD_DIR); \ $(SCONS_VARS) \ scons \ $(SCONS_OPTIONS) \ ) endef define Package/iotivity/install $(INSTALL_DIR) $(1)/usr/lib $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/liboc.so $(1)/usr/lib/liboc.so $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/liboc_logger.so $(1)/usr/lib/liboc_logger.so $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/liboctbstack.so $(1)/usr/lib/liboctbstack.so endef define Package/iotivity-things-manager-lib/install $(INSTALL_DIR) $(1)/usr/lib $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/libTGMSDKLibrary.so $(1)/usr/lib/libTGMSDKLibrary.so endef define Package/iotivity-plugin-manager-lib/install $(INSTALL_DIR) $(1)/usr/lib $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/libpmimpl.so $(1)/usr/lib/libpmimpl.so endef define Package/iotivity-mqttclient/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/service/protocol-plugin/sample-app/linux/mqtt/mqttclient $(1)/usr/bin/mqttclient endef define Package/iotivity-oic-middle/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/examples/OICMiddle/OICMiddle $(1)/usr/bin/OICMiddle endef define Package/iotivity-things-manager/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/service/things-manager/sampleapp/linux/configuration/bootstrapserver $(1)/usr/bin/bootstrapserver $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/service/things-manager/sampleapp/linux/configuration/con-server $(1)/usr/bin/con-server $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/service/things-manager/sampleapp/linux/configuration/con-client $(1)/usr/bin/con-client endef define Package/iotivity-example-garage/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/resource/examples/garageclient $(1)/usr/bin/garageclient $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/resource/examples/garageserver $(1)/usr/bin/garageserver endef $(eval $(call BuildPackage,iotivity)) $(eval $(call BuildPackage,iotivity-things-manager-lib)) $(eval $(call BuildPackage,iotivity-plugin-manager-lib)) $(eval $(call BuildPackage,iotivity-mqttclient)) $(eval $(call BuildPackage,iotivity-oic-middle)) $(eval $(call BuildPackage,iotivity-things-manager)) $(eval $(call BuildPackage,iotivity-example-garage))