2 # Copyright (C) 2014 Arduino LLC
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
11 PKG_NAME
:=node-
$(PKG_NPM_NAME
)
12 PKG_SRC_NAME
:=$(PKG_NPM_NAME
)-firmata
16 PKG_SOURCE
:=$(PKG_SRC_NAME
)-$(PKG_VERSION
).tgz
17 PKG_SOURCE_URL
:=https
://registry.npmjs.org
/$(PKG_SRC_NAME
)/-/
18 PKG_HASH
:=06ac7a8e2e6012577d2f4b043af766bf28a1d3e2a0d50e46629dab4f0bb65104
19 PKG_SOURCE_SUBDIR
:=$(PKG_SRC_NAME
)-$(PKG_VERSION
)
21 PKG_BUILD_DEPENDS
:=node
/host
24 PKG_MAINTAINER
:=Hirokazu MORIKAWA
<morikw2@gmail.com
>
25 PKG_LICENSE
:=Apache-2.0
26 PKG_LICENSE_FILES
:=LICENSE
28 include $(INCLUDE_DIR
)/package.mk
30 define Package
/node-cylon
/default
35 URL
:=https
://www.npmjs.org
/package
/cylon-firmata
36 DEPENDS
:=+node
+node-npm
$(2)
39 define Package
/node-cylon
40 $(call Package
/node-cylon
/default
,Core
)
43 define Package
/node-cylon-i2c
44 $(call Package
/node-cylon
/default
,I2C
,+node-cylon
)
47 define Package
/node-cylon-gpio
48 $(call Package
/node-cylon
/default
,GPIO
,+node-cylon
)
51 define Package
/node-cylon-firmata
52 $(call Package
/node-cylon
/default
,Firmata
,+node-cylon-gpio
+node-cylon-i2c
+node-arduino-firmata
)
55 define Package
/node-cylon
/description
56 JavaScript Robotics
, By Your Command Next generation robotics framework with support for
36 different platforms Get Started
59 TAR_OPTIONS
+= --strip-components
1
60 TAR_CMD
=$(HOST_TAR
) -C
$(1) $(TAR_OPTIONS
)
62 NODEJS_CPU
:=$(subst powerpc
,ppc
,$(subst aarch64
,arm64
,$(subst x86_64
,x64
,$(subst i386
,ia32
,$(ARCH
)))))
67 npm_config_arch
=$(NODEJS_CPU
) \
68 npm_config_target_arch
=$(NODEJS_CPU
) \
69 npm_config_build_from_source
=true \
70 npm_config_nodedir
=$(STAGING_DIR
)/usr
/ \
71 npm_config_prefix
=$(PKG_INSTALL_DIR
)/usr
/ \
72 npm_config_cache
=$(TMP_DIR
)/npm-cache \
73 npm_config_tmp
=$(TMP_DIR
)/npm-tmp \
74 npm
install -g
$(PKG_BUILD_DIR
)
75 rm -rf
$(TMP_DIR
)/npm-tmp
76 rm -rf
$(TMP_DIR
)/npm-cache
79 define Package
/node-cylon
/install
80 $(INSTALL_DIR
) $(1)/usr
/lib
/node
/cylon
81 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/node_modules
/cylon-firmata
/node_modules
/cylon
/* $(1)/usr
/lib
/node
/cylon
/
84 define Package
/node-cylon-i2c
/install
85 $(INSTALL_DIR
) $(1)/usr
/lib
/node
/cylon-i2c
86 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/node_modules
/cylon-firmata
/node_modules
/cylon-i2c
/* $(1)/usr
/lib
/node
/cylon-i2c
/
89 define Package
/node-cylon-gpio
/install
90 $(INSTALL_DIR
) $(1)/usr
/lib
/node
/cylon-gpio
91 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/node_modules
/cylon-firmata
/node_modules
/cylon-gpio
/* $(1)/usr
/lib
/node
/cylon-gpio
/
94 define Package
/node-cylon-firmata
/install
95 $(INSTALL_DIR
) $(1)/usr
/lib
/node
/cylon-firmata
96 $(CP
) $(PKG_BUILD_DIR
)/{package.json
,LICENSE
,*.md
} \
97 $(1)/usr
/lib
/node
/cylon-firmata
/
98 $(CP
) $(PKG_BUILD_DIR
)/{docs
,examples
,*.js
} \
99 $(1)/usr
/lib
/node
/cylon-firmata
/
100 $(CP
) $(PKG_BUILD_DIR
)/{lib
,spec
} \
101 $(1)/usr
/lib
/node
/cylon-firmata
/
104 $(eval
$(call BuildPackage
,node-cylon
))
105 $(eval
$(call BuildPackage
,node-cylon-i2c
))
106 $(eval
$(call BuildPackage
,node-cylon-gpio
))
107 $(eval
$(call BuildPackage
,node-cylon-firmata
))