2 # Copyright (C) 2015-2018 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
://codeload.github.com
/intel-iot-devkit
/upm
/tar.gz
/v
$(PKG_VERSION
)?
16 PKG_HASH
:=7dd2f4165b71e071d100b58d6a392f3cf57b0f257c82ffabf49e931b5ed6bc23
17 PKG_BUILD_DIR
:=$(BUILD_DIR
)/upm-
$(PKG_VERSION
)
19 PKG_MAINTAINER
:=John Crispin
<blogic@openwrt.org
>, Hirokazu MORIKAWA
<morikw2@gmail.com
>
21 PKG_LICENSE_FILES
:=LICENSE
24 CMAKE_BINARY_SUBDIR
:=build
29 include $(INCLUDE_DIR
)/package.mk
30 include $(INCLUDE_DIR
)/cmake.mk
31 include ..
/..
/lang
/python
/python3-package.mk
34 a110x abp ad8232 adafruitms1438 adafruitss adc121c021 adis16448 ads1x15 adxl335 adxl345 \
35 adxrs610 am2315 apa102 apds9002 apds9930 at42qt1070 bh1749 bh1750 bh1792 biss0001 bma220 \
36 bma250e bmg160 bmi160 bmm150 bmp280 bmpx8x bmx055 bno055 button buzzer cjq4435 collision \
37 cwlsxxa dfrec dfrorp dfrph ds1307 ds1808lc ds18b20 ds2413 ecezo ecs1030 \
38 ehr eldriver electromagnet emg enc03r flex gas gp2y0a gprs \
39 gsr guvas12d h3lis331dl hcsr04 hdc1000 hdxxvxta hka5 hlg150h hm11 hmc5883l hmtrp hp20x \
40 ht9170 htu21d hx711 ili9341 ims ina132 interfaces isd1820 itg3200 jhd1313m1 joystick12 kx122 \
41 kxcjk1013 kxtj3 l298 l3gd20 lcd lcdks lcm1602 ldt0028 led lidarlitev3 light linefinder lis2ds12 \
42 lis3dh lm35 lol loudness lp8860 lpd8806 lsm303agr lsm303d lsm303dlh lsm6ds3h lsm6dsl lsm9ds0 \
43 m24lr64e mag3110 max30100 max31723 max31855 max44000 max44009 max5487 maxds3231m maxsonarez \
44 mb704x mcp2515 mcp9808 md mg811 mhz16 mic micsv89 mlx90614 mma7361 mma7455 mma7660 mma8x5x \
45 mmc35240 moisture mpl3115a2 mpr121 mpu9150 mq303a ms5611 ms5803 my9221 nlgpio16 nmea_gps \
46 nrf24l01 nrf8001 nunchuck o2 otp538u p9813 pca9685 pn532 ppd42ns pulsensor relay rf22 \
47 rfr359f rgbringcoder rhusb rn2903 rotary rotaryencoder rpr220 rsc scam sensortemplate \
48 servo sht1x si1132 si114x si7005 slide sm130 smartdrive speaker ssd1351 st7735 stepmotor \
49 sx1276 sx6119 t6713 ta12200 tca9548a tcs3414cs tcs37727 teams temperature \
50 tex00 th02 tm1637 tmp006 tsl2561 ttp223 uartat uln200xa ultrasonic urm37 utilities vdiv \
51 veml6070 water waterlevel wfs wheelencoder wt5001 xbee yg1006 zfm20 \
52 vcap t3311 hwxpxx h803x ozw curieimu
53 # (require libbacnet) tb7300 t8100 e50hx bacnetmstp
54 # (require libtinyb) 2jciebu01_ble 2jciebu01_usb
56 CMAKE_OPTIONS
=-DBUILDSWIGNODE
=$(if
$(CONFIG_PACKAGE_libmraa-node
),ON
,OFF
) \
57 -DPYTHON2LIBS_FOUND
=FALSE \
58 -DPYTHON2INTERP_FOUND
=FALSE \
60 define Package
/libupm
/Default
64 URL
:=https
://github.com
/intel-iot-devkit
/upm
65 DEPENDS
:=+libmraa
+librt
68 define Package
/libupm
/Default
/description
69 UPM is a high level repository that provides software drivers for a wide variety
70 of commonly used sensors and actuators. These software drivers interact with the
71 underlying hardware platform through calls to MRAA APIs.
72 MRAA that allows you to use various sensors on platforms such
as the Intel Galileo
,
73 Intel Edison
, Minnowboard MAX and others.
77 $(call Package
/libupm
/Default
)
78 TITLE
:=Intel IoT sensor library
- Full
79 DEPENDS
+=+libjpeg
+libmodbus
+openzwave
80 DEPENDS
+= $(foreach module
, $(UPM_MODULES
), +libupm-
$(module
))
81 DEPENDS
+= $(foreach module
, $(UPM_MODULES
), +libupm-
$(module
)-node
)
82 DEPENDS
+= $(foreach module
, $(UPM_MODULES
), +libupm-
$(module
)-python3
)
85 define Package
/libupm
/description
86 $(call Package
/libupm
/Default
/description
)
88 This package contains sensor libraries
91 define Package
/libupm
/install/Default
92 $(INSTALL_DIR
) $(1)/usr
/lib
/
93 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libupm
*-$(2).so
* $(1)/usr
/lib
/ ;
96 define Package
/libupm
/install/Default-node
97 $(INSTALL_DIR
) $(1)/usr
/lib
/node
/
98 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/node_modules
/jsupm_
$(2) $(1)/usr
/lib
/node
/ ;
101 define Package
/libupm
/install/Default-python3
102 $(INSTALL_DIR
) $(1)/usr
/lib
/python
$(PYTHON3_VERSION
)/site-packages
/upm
103 $(CP
) $(CMAKE_BINARY_DIR
)/$(if
$(filter interfaces
, $(2)),,src
/)$(2)/python
$(PYTHON3_VERSION
)/pyupm_
$(2).py \
104 $(1)/usr
/lib
/python
$(PYTHON3_VERSION
)/site-packages
/upm
/
105 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/python
$(PYTHON3_VERSION
)/site-packages
/upm
/_pyupm_
$(2).so \
106 $(1)/usr
/lib
/python
$(PYTHON3_VERSION
)/site-packages
/upm
/ ;
109 define Package
/libupm
/install
110 $(foreach module
, $(UPM_MODULES
), \
111 $(call Package
/libupm
/install/Default
,$(1),$(module
)) \
112 $(call Package
/libupm
/install/Default-node
,$(1),$(module
)) \
113 $(call Package
/libupm
/install/Default-python3
,$(1),$(module
)))
117 define UpmPackage
/depends
118 ifeq ($$(1),adafruitms1438
)
119 DEPENDS
+=+libupm-pca9685
122 DEPENDS
+=+libupm-interfaces
125 DEPENDS
+=+libupm-utilities
128 DEPENDS
+=+libupm-utilities
131 DEPENDS
+=+libupm-utilities
134 DEPENDS
+=+libupm-utilities
137 DEPENDS
+=+libupm-utilities
140 DEPENDS
+=+libupm-utilities
143 DEPENDS
+=+libupm-utilities
146 DEPENDS
+=+libupm-utilities
149 DEPENDS
+=+libupm-interfaces
+libupm-utilities
152 DEPENDS
+=+libupm-interfaces
+libupm-utilities
155 DEPENDS
+=+libupm-utilities
+libupm-bma250e
+libupm-bmg160
+libupm-bmm150
158 DEPENDS
+=+libupm-utilities
161 DEPENDS
+=+libupm-utilities
164 DEPENDS
+=+libupm-utilities
167 DEPENDS
+=+libupm-utilities
+libupm-ds18b20
170 DEPENDS
+=+libupm-utilities
173 DEPENDS
+=+libupm-utilities
175 ifeq ($$(1),ds1808lc
)
176 DEPENDS
+=+libupm-interfaces
179 DEPENDS
+=+libupm-utilities
182 DEPENDS
+=+libupm-utilities
184 ifeq ($$(1),guvas12d
)
185 DEPENDS
+=+libupm-utilities
188 DEPENDS
+=+libupm-utilities
191 DEPENDS
+=+libupm-utilities
194 DEPENDS
+=+libupm-interfaces
197 DEPENDS
+=+libupm-utilities
199 ifeq ($$(1),jhd1313m1
)
200 DEPENDS
+=+libupm-utilities
+libupm-lcm1602
203 DEPENDS
+=+libupm-utilities
206 DEPENDS
+=+libupm-utilities
209 DEPENDS
+=+libupm-utilities
+libupm-lcm1602
211 ifeq ($$(1),lis2ds12
)
212 DEPENDS
+=+libupm-utilities
215 DEPENDS
+=+libupm-utilities
218 DEPENDS
+=+libupm-interfaces
220 ifeq ($$(1),lsm303agr
)
221 DEPENDS
+=+libupm-utilities
224 DEPENDS
+=+libupm-utilities
226 ifeq ($$(1),lsm6ds3h
)
227 DEPENDS
+=+libupm-utilities
230 DEPENDS
+=+libupm-utilities
232 ifeq ($$(1),m24lr64e
)
233 DEPENDS
+=+libupm-utilities
235 ifeq ($$(1),max30100
)
236 DEPENDS
+=+libupm-utilities
238 ifeq ($$(1),max44009
)
239 DEPENDS
+=+libupm-interfaces
242 DEPENDS
+=+libupm-utilities
245 DEPENDS
+=+libupm-utilities
248 DEPENDS
+=+libupm-utilities
251 DEPENDS
+=+libupm-utilities
254 DEPENDS
+=+libupm-interfaces
257 DEPENDS
+=+libupm-utilities
260 DEPENDS
+=+libupm-utilities
262 ifeq ($$(1),nmea_gps
)
263 DEPENDS
+=+libupm-utilities
+libatomic
265 ifeq ($$(1),nunchuck
)
266 DEPENDS
+=+libupm-utilities
269 DEPENDS
+=+libupm-utilities
272 DEPENDS
+=+libupm-utilities
275 DEPENDS
+=+libupm-utilities
278 DEPENDS
+=+libupm-utilities
281 DEPENDS
+=+libupm-utilities
284 DEPENDS
+=+libupm-utilities
287 DEPENDS
+=+libupm-utilities
290 DEPENDS
+=+libupm-interfaces
293 DEPENDS
+=+libupm-interfaces
296 DEPENDS
+=+libupm-utilities
299 DEPENDS
+=+libupm-interfaces
302 DEPENDS
+=+libupm-utilities
305 DEPENDS
+=+libupm-utilities
307 ifeq ($$(1),uln200xa
)
308 DEPENDS
+=+libupm-utilities
311 DEPENDS
+=+libupm-utilities
314 DEPENDS
+=+libupm-utilities
317 DEPENDS
+=+libupm-utilities
336 define Package
/libupm-
$(1)
337 $(call Package
/libupm
/Default
)
338 $(call UpmPackage
/depends
,$(1))
339 TITLE
:=$(1) C
/C
++ library
342 define Package
/libupm-
$(1)/description
343 $(call Package
/libupm
/Default
/description
)
345 This package contains
$(1) sensor C
/C
++ library
348 define Package
/libupm-
$(1)-node
349 $(call Package
/libupm
/Default
)
350 $(call UpmPackage
/depends
,$(1))
351 TITLE
:=$(1) Node.js library
352 DEPENDS
+=+libupm-
$(1) +libmraa-node
355 define Package
/libupm-
$(1)-node
/description
356 $(call Package
/libupm
/Default
/description
)
358 This package contains
$(1) sensor Node.js library
361 define Package
/libupm-
$(1)-python3
362 $(call Package
/libupm
/Default
)
363 $(call UpmPackage
/depends
,$(1))
364 TITLE
:=$(1) Python3 library
365 DEPENDS
+=+libupm-
$(1) +libmraa-python3
+python3-light
368 define Package
/libupm-
$(1)-python3
/description
369 $(call Package
/libupm
/Default
/description
)
371 This package contains
$(1) sensor Python3 library
374 define Package
/libupm-
$(1)/install
375 $(call Package
/libupm
/install/Default
,$$(1),$(1))
377 define Package
/libupm-
$(1)-node
/install
378 $(call Package
/libupm
/install/Default-node
,$$(1),$(1))
380 define Package
/libupm-
$(1)-python3
/install
381 $(call Package
/libupm
/install/Default-python3
,$$(1),$(1))
385 $(eval
$(call BuildPackage
,libupm
))
386 $(foreach module
, $(UPM_MODULES
), \
387 $(eval
$(call UpmPackage
,$(module
))) \
388 $(eval
$(call BuildPackage
,libupm-
$(module
))) \
389 $(eval
$(call BuildPackage
,libupm-
$(module
)-node
)) \
390 $(eval
$(call BuildPackage
,libupm-
$(module
)-python3
)))