18515ce8a6349f4ce652fa85403d77c3981b701a
[feed/packages.git] / libs / libmraa / Makefile
1 #
2 # Copyright (C) 2015-2018 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:=libmraa
11 PKG_VERSION:=2.1.0
12 PKG_RELEASE:=2
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=https://codeload.github.com/eclipse/mraa/tar.gz/v$(PKG_VERSION)?
16 PKG_HASH:=5351ce9eb654014d8ea7f43bdb2d17e6d1955536938a2ea0d467f4008e614345
17 PKG_BUILD_DIR:=$(BUILD_DIR)/mraa-$(PKG_VERSION)
18
19 PKG_MAINTAINER:=John Crispin <blogic@openwrt.org>, Hirokazu MORIKAWA <morikw2@gmail.com>
20 PKG_LICENSE:=MIT
21 PKG_LICENSE_FILES:=COPYING
22
23 PKG_BUILD_DEPENDS:=node swig/host node/host
24 CMAKE_INSTALL:=1
25 PKG_USE_MIPS16:=0
26 PYTHON3_PKG_BUILD:=0
27
28 include $(INCLUDE_DIR)/package.mk
29 include $(INCLUDE_DIR)/cmake.mk
30 include ../../lang/python/python3-package.mk
31
32 CMAKE_OPTIONS=-DENABLEEXAMPLES=0 \
33 -DFIRMATA=ON \
34 -DBUILDSWIG=OFF
35
36 TARGET_CFLAGS+=-I$(STAGING_DIR)/usr/include/node
37
38 define Package/libmraa/Default
39 SECTION:=libs
40 CATEGORY:=Libraries
41 SUBMENU:=IoT
42 TITLE:=Eclipse MRAA lowlevel IO library
43 URL:=https://projects.eclipse.org/projects/iot.mraa
44 endef
45
46 define Package/libmraa/Default/description
47 Libmraa is a C/C++ library with bindings to Java, Python and JavaScript to interface
48 with the IO on Galileo, Edison & other platforms, with a structured and sane API where
49 port names/numbering matches the board that you are on. Use of libmraa does not tie you
50 to specific hardware with board detection done at runtime you can create portable code
51 that will work across the supported platforms.
52 endef
53
54 define Package/libmraa
55 $(call Package/libmraa/Default)
56 TITLE:=Eclipse MRAA lowlevel IO C/C++ library
57 DEPENDS:=+libstdcpp +libjson-c @!arc @!armeb @!powerpc
58 endef
59
60 define Package/libmraa/description
61 $(call Package/libmraa/Default/description)
62
63 This package contains the C/C++ libraries.
64 endef
65
66 define Package/libmraa-node
67 $(call Package/libmraa/Default)
68 TITLE:=Eclipse MRAA lowlevel IO Node.js library
69 DEPENDS:=+libmraa +node
70 endef
71
72 define Package/libmraa-node/description
73 $(call Package/libmraa/Default/description)
74
75 This package contains the Node.js libraries.
76 endef
77
78 define Package/libmraa-python3
79 $(call Package/libmraa/Default)
80 TITLE:=Eclipse MRAA lowlevel IO Python3 library
81 DEPENDS:=+libmraa +python3-light @BROKEN
82 endef
83
84 define Package/libmraa-python3/description
85 $(call Package/libmraa/Default/description)
86
87 This package contains the Python3 libraries.
88 endef
89
90 define Package/libmraa/install
91 $(INSTALL_DIR) $(1)/usr/lib
92 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libmraa.so* $(1)/usr/lib/
93 $(INSTALL_DIR) $(1)/usr/bin
94 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mraa-* $(1)/usr/bin/
95 endef
96
97 define Package/libmraa-node/install
98 $(INSTALL_DIR) $(1)/usr/lib/node/mraa
99 $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/mraa/* $(1)/usr/lib/node/mraa/
100 endef
101
102 define Package/libmraa-python3/install
103 $(INSTALL_DIR) $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages
104 $(CP) $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON3_VERSION)/site-packages/* \
105 $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/
106 endef
107
108 $(eval $(call BuildPackage,libmraa))
109 $(eval $(call BuildPackage,libmraa-node))
110 $(eval $(call BuildPackage,libmraa-python3))