|
|
- #
- # Copyright (C) 2015-2018 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:=libupm
- PKG_VERSION:=2.0.0
- PKG_RELEASE:=4
-
- PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
- PKG_SOURCE_URL:=https://codeload.github.com/intel-iot-devkit/upm/tar.gz/v$(PKG_VERSION)?
- PKG_HASH:=7dd2f4165b71e071d100b58d6a392f3cf57b0f257c82ffabf49e931b5ed6bc23
- PKG_BUILD_DIR:=$(BUILD_DIR)/upm-$(PKG_VERSION)
-
- PKG_MAINTAINER:=John Crispin <blogic@openwrt.org>, Hirokazu MORIKAWA <morikw2@gmail.com>
- PKG_LICENSE:=MIT
- PKG_LICENSE_FILES:=LICENSE
-
- CMAKE_INSTALL:=1
- CMAKE_BINARY_SUBDIR:=build
- PKG_USE_MIPS16:=0
- PYTHON3_PKG_BUILD:=0
-
- include $(INCLUDE_DIR)/package.mk
- include ../../devel/ninja/ninja-cmake.mk
- include ../../lang/python/python3-package.mk
-
- UPM_MODULES:= \
- a110x abp ad8232 adafruitms1438 adafruitss adc121c021 adis16448 ads1x15 adxl335 adxl345 \
- adxrs610 am2315 apa102 apds9002 apds9930 at42qt1070 bh1749 bh1750 bh1792 biss0001 bma220 \
- bma250e bmg160 bmi160 bmm150 bmp280 bmpx8x bmx055 bno055 button buzzer cjq4435 collision \
- cwlsxxa dfrec dfrorp dfrph ds1307 ds1808lc ds18b20 ds2413 ecezo ecs1030 \
- ehr eldriver electromagnet emg enc03r flex gas gp2y0a gprs \
- gsr guvas12d h3lis331dl hcsr04 hdc1000 hdxxvxta hka5 hlg150h hm11 hmc5883l hmtrp hp20x \
- ht9170 htu21d hx711 ili9341 ims ina132 interfaces isd1820 itg3200 jhd1313m1 joystick12 kx122 \
- kxcjk1013 kxtj3 l298 l3gd20 lcd lcdks lcm1602 ldt0028 led lidarlitev3 light linefinder lis2ds12 \
- lis3dh lm35 lol loudness lp8860 lpd8806 lsm303agr lsm303d lsm303dlh lsm6ds3h lsm6dsl lsm9ds0 \
- m24lr64e mag3110 max30100 max31723 max31855 max44000 max44009 max5487 maxds3231m maxsonarez \
- mb704x mcp2515 mcp9808 md mg811 mhz16 mic micsv89 mlx90614 mma7361 mma7455 mma7660 mma8x5x \
- mmc35240 moisture mpl3115a2 mpr121 mpu9150 mq303a ms5611 ms5803 my9221 nlgpio16 nmea_gps \
- nrf24l01 nrf8001 nunchuck o2 otp538u p9813 pca9685 pn532 ppd42ns pulsensor relay rf22 \
- rfr359f rgbringcoder rhusb rn2903 rotary rotaryencoder rpr220 rsc scam sensortemplate \
- servo sht1x si1132 si114x si7005 slide sm130 smartdrive speaker ssd1351 st7735 stepmotor \
- sx1276 sx6119 t6713 ta12200 tca9548a tcs3414cs tcs37727 teams temperature \
- tex00 th02 tm1637 tmp006 tsl2561 ttp223 uartat uln200xa ultrasonic urm37 utilities vdiv \
- veml6070 water waterlevel wfs wheelencoder wt5001 xbee yg1006 zfm20 \
- vcap t3311 hwxpxx h803x ozw curieimu
- # (require libbacnet) tb7300 t8100 e50hx bacnetmstp
- # (require libtinyb) 2jciebu01_ble 2jciebu01_usb
-
- CMAKE_OPTIONS += \
- -DBUILDSWIGNODE=$(if $(CONFIG_PACKAGE_libmraa-node),ON,OFF) \
- -DPYTHON2LIBS_FOUND=FALSE \
- -DPYTHON2INTERP_FOUND=FALSE \
-
- define Package/libupm/Default
- SECTION:=libs
- CATEGORY:=Libraries
- SUBMENU:=IoT
- URL:=https://github.com/intel-iot-devkit/upm
- DEPENDS:=+libmraa +librt
- endef
-
- define Package/libupm/Default/description
- UPM is a high level repository that provides software drivers for a wide variety
- of commonly used sensors and actuators. These software drivers interact with the
- underlying hardware platform through calls to MRAA APIs.
- MRAA that allows you to use various sensors on platforms such as the Intel Galileo,
- Intel Edison, Minnowboard MAX and others.
- endef
-
- define Package/libupm
- $(call Package/libupm/Default)
- TITLE:=Intel IoT sensor library - Full
- DEPENDS+=+libjpeg +libmodbus +openzwave
- DEPENDS+= $(foreach module, $(UPM_MODULES), +libupm-$(module))
- DEPENDS+= $(foreach module, $(UPM_MODULES), +libupm-$(module)-node)
- DEPENDS+= $(foreach module, $(UPM_MODULES), +libupm-$(module)-python3)
- endef
-
- define Package/libupm/description
- $(call Package/libupm/Default/description)
-
- This package contains sensor libraries
- endef
-
- define Package/libupm/install/Default
- $(INSTALL_DIR) $(1)/usr/lib/
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libupm*-$(2).so* $(1)/usr/lib/ ;
- endef
-
- define Package/libupm/install/Default-node
- $(INSTALL_DIR) $(1)/usr/lib/node/
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/jsupm_$(2) $(1)/usr/lib/node/ ;
- endef
-
- define Package/libupm/install/Default-python3
- $(INSTALL_DIR) $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/upm
- $(CP) $(CMAKE_BINARY_DIR)/$(if $(filter interfaces, $(2)),,src/)$(2)/python$(PYTHON3_VERSION)/pyupm_$(2).py \
- $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/upm/
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON3_VERSION)/site-packages/upm/_pyupm_$(2).so \
- $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/upm/ ;
- endef
-
- define Package/libupm/install
- $(foreach module, $(UPM_MODULES), \
- $(call Package/libupm/install/Default,$(1),$(module)) \
- $(call Package/libupm/install/Default-node,$(1),$(module)) \
- $(call Package/libupm/install/Default-python3,$(1),$(module)))
- endef
-
- define UpmPackage
- define UpmPackage/depends
- ifeq ($$(1),adafruitms1438)
- DEPENDS+=+libupm-pca9685
- endif
- ifeq ($$(1),ads1x15)
- DEPENDS+=+libupm-interfaces
- endif
- ifeq ($$(1),apa102)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($(1),bh1749)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),bh1750)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($(1),bh1792)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),bma250e)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),bmg160)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),bmi160)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),bmm150)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),bmp280)
- DEPENDS+=+libupm-interfaces +libupm-utilities
- endif
- ifeq ($$(1),bmpx8x)
- DEPENDS+=+libupm-interfaces +libupm-utilities
- endif
- ifeq ($$(1),bmx055)
- DEPENDS+=+libupm-utilities +libupm-bma250e +libupm-bmg160 +libupm-bmm150
- endif
- ifeq ($$(1),bno055)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),buzzer)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),cjq4435)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),dfrec)
- DEPENDS+=+libupm-utilities +libupm-ds18b20
- endif
- ifeq ($$(1),ds18b20)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),dfrorp)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),ds1808lc)
- DEPENDS+=+libupm-interfaces
- endif
- ifeq ($$(1),ecezo)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),enc03r)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),guvas12d)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),hcsr04)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),hka5)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),hlg150h)
- DEPENDS+=+libupm-interfaces
- endif
- ifeq ($$(1),ims)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),jhd1313m1)
- DEPENDS+=+libupm-utilities +libupm-lcm1602
- endif
- ifeq ($$(1),kxtj3)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),lcm1602)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),lcdks)
- DEPENDS+=+libupm-utilities +libupm-lcm1602
- endif
- ifeq ($$(1),lis2ds12)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),lis3dh)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),lp8860)
- DEPENDS+=+libupm-interfaces
- endif
- ifeq ($$(1),lsm303agr)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),lsm303d)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),lsm6ds3h)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),lsm6dsl)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),m24lr64e)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),max30100)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),max44009)
- DEPENDS+=+libupm-interfaces
- endif
- ifeq ($$(1),mb704x)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),mcp2515)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),md)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),mma7361)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),ms5611)
- DEPENDS+=+libupm-interfaces
- endif
- ifeq ($$(1),ms5803)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),my9221)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),nmea_gps)
- DEPENDS+=+libupm-utilities +libatomic
- endif
- ifeq ($$(1),nunchuck)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),otp538u)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),p9813)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),ppd42ns)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),rn2903)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),rsc)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),servo)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),sht1x)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),si1132)
- DEPENDS+=+libupm-interfaces
- endif
- ifeq ($$(1),si7005)
- DEPENDS+=+libupm-interfaces
- endif
- ifeq ($$(1),speaker)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),t6713)
- DEPENDS+=+libupm-interfaces
- endif
- ifeq ($$(1),tsl2561)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),uartat)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),uln200xa)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),urm37)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),wfs)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),zfm20)
- DEPENDS+=+libupm-utilities
- endif
- ifeq ($$(1),vcap)
- DEPENDS+=+libjpeg
- endif
- ifeq ($$(1),t3311)
- DEPENDS+=+libmodbus
- endif
- ifeq ($$(1),ozw)
- DEPENDS+=+openzwave
- endif
- ifeq ($$(1),hwxpxx)
- DEPENDS+=+libmodbus
- endif
- ifeq ($$(1),h803x)
- DEPENDS+=+libmodbus
- endif
- endef
-
- define Package/libupm-$(1)
- $(call Package/libupm/Default)
- $(call UpmPackage/depends,$(1))
- TITLE:=$(1) C/C++ library
- endef
-
- define Package/libupm-$(1)/description
- $(call Package/libupm/Default/description)
-
- This package contains $(1) sensor C/C++ library
- endef
-
- define Package/libupm-$(1)-node
- $(call Package/libupm/Default)
- $(call UpmPackage/depends,$(1))
- TITLE:=$(1) Node.js library
- DEPENDS+=+libupm-$(1) +libmraa-node
- endef
-
- define Package/libupm-$(1)-node/description
- $(call Package/libupm/Default/description)
-
- This package contains $(1) sensor Node.js library
- endef
-
- define Package/libupm-$(1)-python3
- $(call Package/libupm/Default)
- $(call UpmPackage/depends,$(1))
- TITLE:=$(1) Python3 library
- DEPENDS+=+libupm-$(1) +libmraa-python3 +python3-light
- endef
-
- define Package/libupm-$(1)-python3/description
- $(call Package/libupm/Default/description)
-
- This package contains $(1) sensor Python3 library
- endef
-
- define Package/libupm-$(1)/install
- $(call Package/libupm/install/Default,$$(1),$(1))
- endef
- define Package/libupm-$(1)-node/install
- $(call Package/libupm/install/Default-node,$$(1),$(1))
- endef
- define Package/libupm-$(1)-python3/install
- $(call Package/libupm/install/Default-python3,$$(1),$(1))
- endef
- endef
-
- $(eval $(call BuildPackage,libupm))
- $(foreach module, $(UPM_MODULES), \
- $(eval $(call UpmPackage,$(module))) \
- $(eval $(call BuildPackage,libupm-$(module))) \
- $(eval $(call BuildPackage,libupm-$(module)-node)) \
- $(eval $(call BuildPackage,libupm-$(module)-python3)))
|