lede-packages-rs

git clone git://archive.git.mtrnord.blog/MTRNord/lede-packages-rs.git
Log | Files | Refs | README | LICENSE

Makefile (9709B)


      1 #
      2 # Copyright (C) 2015 OpenWrt.org
      3 #
      4 # This is free software, licensed under the GNU General Public License v2.
      5 # See /LICENSE for more information.
      6 #
      7 
      8 include $(TOPDIR)/rules.mk
      9 
     10 PKG_NAME:=iotivity
     11 PKG_VERSION:=1.2.1
     12 PKG_RELEASE=1
     13 
     14 PKG_SOURCE:=${PKG_NAME}-${PKG_VERSION}.tar.gz
     15 PKG_SOURCE_URL:=http://mirrors.kernel.org/${PKG_NAME}/${PKG_VERSION}/
     16 PKG_MD5SUM:=7dcd9f0f48263c6b27a2c3d085dd7278b5c0feed1dfec8872a04899707fa23d8
     17 PKG_USE_MIPS16:=0
     18 
     19 PKG_BUILD_DEPENDS:=boost
     20 
     21 PKG_MAINTAINER:=Hauke Mehrtens <hauke.mehrtens@intel.com>
     22 
     23 PKG_LICENSE:=Apache-2.0
     24 PKG_LICENSE_FILES:=LICENSE.md
     25 
     26 PKG_CONFIG_DEPENDS := \
     27 	CONFIG_PACKAGE_iotivity \
     28 	CONFIG_PACKAGE_iotivity-cpp \
     29 	CONFIG_PACKAGE_iotivity-resource-directory-lib \
     30 	CONFIG_PACKAGE_iotivity-oic-middle \
     31 	CONFIG_PACKAGE_iotivity-resource-container-lib \
     32 	CONFIG_PACKAGE_iotivity-resource-container-sample \
     33 	CONFIG_PACKAGE_iotivity-resource-container-hue \
     34 	CONFIG_PACKAGE_iotivity-example-garage \
     35 	CONFIG_PACKAGE_iotivity-example-simple \
     36 	CONFIG_PACKAGE_iotivity_DEBUG \
     37 	CONFIG_PACKAGE_iotivity_SECURE
     38 
     39 include $(INCLUDE_DIR)/package.mk
     40 include $(INCLUDE_DIR)/scons.mk
     41 
     42 
     43 define Package/iotivity
     44   SECTION:=net
     45   CATEGORY:=Network
     46   DEPENDS:=@!USE_UCLIBC +libpthread +librt +libuuid +libsqlite3 +PACKAGE_iotivity_SECURE:libmbedtls
     47   TITLE:=IoTivity C Library
     48   URL:=https://www.iotivity.org
     49   MENU:=1
     50 endef
     51 
     52 define Package/iotivity/description
     53     IoTivity is a framework for the Internet of Things based on the
     54     Open Interconnect Consortium Specification.
     55 endef
     56 
     57 define Package/iotivity/config
     58   if PACKAGE_iotivity
     59 	config PACKAGE_iotivity_DEBUG
     60 		bool "IoTivity with debug support"
     61 		help
     62 		  Build IoTivity with debuging support.
     63 
     64 	config PACKAGE_iotivity_SECURE
     65 		bool "IoTivity with security support"
     66 		help
     67 		  Activate security support.
     68 
     69 	config PACKAGE_iotivity_LOGGING
     70 		bool "IoTivity with logging support"
     71 		default y
     72 		help
     73 		  Activate logging support.
     74 		  This will make IoTivity write a lot of log messages to stdout.
     75   endif
     76 endef
     77 
     78 
     79 define Package/iotivity-cpp
     80   SECTION:=net
     81   CATEGORY:=Network
     82   DEPENDS:=+iotivity +libpthread +libstdcpp
     83   TITLE:=IoTivity C++ Library
     84   URL:=https://www.iotivity.org
     85 endef
     86 
     87 define Package/iotivity-cpp/description
     88     IoTivity is a framework for the Internet of Things based on the
     89     Open Interconnect Consortium Specification.
     90 endef
     91 
     92 define Package/iotivity-resource-directory-lib
     93   SECTION:=net
     94   CATEGORY:=Network
     95   DEPENDS:=+iotivity +iotivity-cpp
     96   TITLE:=IoTivity Resource Directory library
     97   URL:=https://www.iotivity.org
     98 endef
     99 
    100 
    101 define Package/iotivity-oic-middle
    102   SECTION:=net
    103   CATEGORY:=Network
    104   DEPENDS:=+iotivity +iotivity-cpp +iotivity-resource-directory-lib
    105   TITLE:=IoTivity OIC Middle
    106   URL:=https://www.iotivity.org
    107 endef
    108 
    109 define Package/iotivity-oic-middle/description
    110     IoTivity OIC Middle
    111 endef
    112 
    113 define Package/iotivity-resource-container-lib
    114   SECTION:=net
    115   CATEGORY:=Network
    116   DEPENDS:=+iotivity +iotivity-cpp +boost +boost-system +boost-thread +boost-date_time
    117   TITLE:=IoTivity Resource Container library
    118   URL:=https://www.iotivity.org
    119 endef
    120 
    121 define Package/iotivity-resource-container-sample
    122   SECTION:=net
    123   CATEGORY:=Network
    124   DEPENDS:=+iotivity +iotivity-resource-container-lib
    125   TITLE:=IoTivity Resource Container sample Application
    126   URL:=https://www.iotivity.org
    127 endef
    128 
    129 define Package/iotivity-resource-container-hue
    130   SECTION:=net
    131   CATEGORY:=Network
    132   DEPENDS:=+iotivity +iotivity-resource-container-lib +libcurl
    133   TITLE:=IoTivity Resource Container Hue Bundle
    134   URL:=https://www.iotivity.org
    135 endef
    136 
    137 define Package/iotivity-example-garage
    138   SECTION:=net
    139   CATEGORY:=Network
    140   DEPENDS:=+iotivity +iotivity-cpp +iotivity-resource-directory-lib
    141   TITLE:=IoTivity Garage example
    142   URL:=https://www.iotivity.org
    143 endef
    144 
    145 define Package/iotivity-example-garage/description
    146     An IoTivity example application
    147 endef
    148 
    149 define Package/iotivity-example-simple
    150   SECTION:=net
    151   CATEGORY:=Network
    152   DEPENDS:=+iotivity +iotivity-cpp +iotivity-resource-directory-lib
    153   TITLE:=IoTivity simple client + server
    154   URL:=https://www.iotivity.org
    155 endef
    156 
    157 define Package/iotivity-example-simple/description
    158     The IoTivity simple client and simple server exmaple
    159 endef
    160 
    161 
    162 PKG_TINYCBOR_NAME:=tinycbor
    163 PKG_TINYCBOR_PROTO:=git
    164 PKG_TINYCBOR_VERSION:=0.4
    165 PKG_TINYCBOR_SOURCE_VERSION:=a088996aa5f59b4f27f20fadad053d88bee357d4
    166 PKG_TINYCBOR_SOURCE:=$(PKG_TINYCBOR_NAME)-$(PKG_TINYCBOR_VERSION).tar.bz2
    167 PKG_TINYCBOR_SOURCE_URL:=https://github.com/01org/tinycbor.git
    168 PKG_TINYCBOR_SUBDIR:=$(PKG_TINYCBOR_NAME)
    169 
    170 define Download/iotivity-tinycbor
    171   FILE:=$(PKG_TINYCBOR_SOURCE)
    172   URL:=$(PKG_TINYCBOR_SOURCE_URL)
    173   PROTO:=$(PKG_TINYCBOR_PROTO)
    174   VERSION:=$(PKG_TINYCBOR_SOURCE_VERSION)
    175   SUBDIR:=$(PKG_TINYCBOR_SUBDIR)
    176 endef
    177 $(eval $(call Download,iotivity-tinycbor))
    178 
    179 
    180 EXTRA_CXXFLAGS += -std=gnu++11
    181 
    182 SCONS_OPTIONS += \
    183 	TARGET_OS=linux \
    184 	TARGET_TRANSPORT=IP \
    185 	TARGET_ARCH=$(ARCH) \
    186 	STAGING_DIR=$(STAGING_DIR) \
    187 	WITH_ENV=true \
    188 	octbstack oc \
    189 	$(if $(CONFIG_PACKAGE_iotivity-oic-middle),examples) \
    190 	$(if $(CONFIG_PACKAGE_iotivity-resource-container-lib),libResContainer) \
    191 	$(if $(CONFIG_PACKAGE_iotivity-resource-container-sample),containersample) \
    192 	$(if $(CONFIG_PACKAGE_iotivity-resource-container-hue),libHueBundle) \
    193 	$(if $(CONFIG_PACKAGE_iotivity-example-garage),examples) \
    194 	$(if $(CONFIG_PACKAGE_iotivity-example-simple),examples) \
    195 	install
    196 
    197 ifeq ($(CONFIG_PACKAGE_iotivity_DEBUG),y)
    198   SCONS_OPTIONS += RELEASE=false
    199   APP_OPTIM:=debug
    200 else
    201   SCONS_OPTIONS += RELEASE=true
    202   APP_OPTIM:=release
    203 endif
    204 
    205 ifeq ($(CONFIG_PACKAGE_iotivity_SECURE),y)
    206   SCONS_OPTIONS += SECURED=1
    207 else
    208   SCONS_OPTIONS += SECURED=0
    209 endif
    210 
    211 ifeq ($(CONFIG_PACKAGE_iotivity_LOGGING),y)
    212   SCONS_OPTIONS += LOGGING=true
    213 endif
    214 
    215 ifneq ($(findstring c,$(OPENWRT_VERBOSE)),)
    216   SCONS_OPTIONS += VERBOSE=true
    217 endif
    218 
    219 define Build/Prepare
    220 	$(call Build/Prepare/Default)
    221 	$(TAR) -C $(PKG_BUILD_DIR)/extlibs/tinycbor/ -xjf $(DL_DIR)/$(PKG_TINYCBOR_SOURCE)
    222 endef
    223 
    224 
    225 define Build/Configure
    226 	(cd $(PKG_BUILD_DIR); \
    227 		$(SCONS_VARS) \
    228 		scons \
    229 			$(SCONS_OPTIONS) \
    230 	)
    231 endef
    232 
    233 
    234 define Package/iotivity/install
    235 	$(INSTALL_DIR) $(1)/usr/lib
    236 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/libconnectivity_abstraction.so $(1)/usr/lib/
    237 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/liboctbstack.so $(1)/usr/lib/
    238 ifeq ($(CONFIG_PACKAGE_iotivity_SECURE),y)
    239 	$(INSTALL_DIR) $(1)/etc/iotivity/
    240 	$(INSTALL_DATA) ./files/etc/iotivity/oic_svr_db.cbor $(1)/etc/iotivity/
    241 endif
    242 endef
    243 
    244 define Package/iotivity-cpp/install
    245 	$(INSTALL_DIR) $(1)/usr/lib
    246 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/liboc.so $(1)/usr/lib/
    247 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/liboc_logger.so $(1)/usr/lib/
    248 endef
    249 
    250 define Package/iotivity-resource-directory-lib/install
    251 	$(INSTALL_DIR) $(1)/usr/lib
    252 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/libresource_directory.so $(1)/usr/lib/
    253 endef
    254 
    255 define Package/iotivity-oic-middle/install
    256 	$(INSTALL_DIR) $(1)/usr/bin
    257 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/examples/OICMiddle/OICMiddle $(1)/usr/bin/
    258 endef
    259 
    260 define Package/iotivity-resource-container-lib/install
    261 	$(INSTALL_DIR) $(1)/usr/lib
    262 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/librcs_common.so $(1)/usr/lib/
    263 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/librcs_client.so $(1)/usr/lib/
    264 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/librcs_server.so $(1)/usr/lib/
    265 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/librcs_container.so $(1)/usr/lib/
    266 endef
    267 
    268 define Package/iotivity-resource-container-sample/install
    269 	$(INSTALL_DIR) $(1)/usr/bin
    270 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/service/resource-container/ContainerSample  $(1)/usr/bin/
    271 endef
    272 
    273 define Package/iotivity-resource-container-hue/install
    274 	$(INSTALL_DIR) $(1)/usr/lib
    275 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/libHueBundle.so $(1)/usr/lib/
    276 endef
    277 
    278 define Package/iotivity-example-garage/install
    279 	$(INSTALL_DIR) $(1)/usr/bin
    280 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/resource/examples/garageclient $(1)/usr/bin/
    281 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/resource/examples/garageserver $(1)/usr/bin/
    282 endef
    283 
    284 define Package/iotivity-example-simple/install
    285 	$(INSTALL_DIR) $(1)/usr/bin
    286 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/resource/examples/simpleclient $(1)/usr/bin/
    287 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/resource/examples/simpleserver $(1)/usr/bin/
    288 endef
    289 
    290 define Build/InstallDev
    291 	$(INSTALL_DIR) $(1)/usr/include
    292 	$(CP) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/include $(1)/usr/include/iotivity
    293 
    294 	$(INSTALL_DIR) $(1)/usr/lib
    295 	$(CP) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/libconnectivity_abstraction.so $(1)/usr/lib/
    296 	$(CP) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/liboctbstack.so $(1)/usr/lib/
    297 	$(CP) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/liboc.so $(1)/usr/lib/
    298 	$(CP) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/liboc_logger.so $(1)/usr/lib/
    299 	$(CP) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/$(APP_OPTIM)/libresource_directory.so $(1)/usr/lib/
    300 endef
    301 	
    302 
    303 $(eval $(call BuildPackage,iotivity))
    304 $(eval $(call BuildPackage,iotivity-cpp))
    305 $(eval $(call BuildPackage,iotivity-resource-directory-lib))
    306 $(eval $(call BuildPackage,iotivity-oic-middle))
    307 $(eval $(call BuildPackage,iotivity-resource-container-lib))
    308 $(eval $(call BuildPackage,iotivity-resource-container-sample))
    309 $(eval $(call BuildPackage,iotivity-resource-container-hue))
    310 $(eval $(call BuildPackage,iotivity-example-garage))
    311 $(eval $(call BuildPackage,iotivity-example-simple))