Makefile (2959B)
1 # 2 # Copyright (C) 2014 Arduino LLC 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_NPM_NAME:=cylon 11 PKG_NAME:=node-$(PKG_NPM_NAME) 12 PKG_VERSION:=0.22.0 13 PKG_RELEASE:=5 14 15 PKG_SOURCE_PROTO:=git 16 PKG_SOURCE_URL:=https://github.com/hybridgroup/cylon-firmata.git 17 PKG_SOURCE_VERSION:=0c37da77e48b3e2cc3a8d566822a17689de91b40 18 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_SOURCE_VERSION) 19 PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz 20 21 PKG_BUILD_DEPENDS:=node/host 22 PKG_NODE_VERSION:=4.4.5 23 24 PKG_MAINTAINER:=John Crispin <blogic@openwrt.org> 25 PKG_LICENSE:=Apache-2.0 26 PKG_LICENSE_FILES:=LICENSE 27 28 include $(INCLUDE_DIR)/package.mk 29 30 define Package/node-cylon/default 31 DEPENDS:=+node $(2) 32 SUBMENU:=Node.js 33 SECTION:=lang 34 CATEGORY:=Languages 35 TITLE:=CylonJS - $(1) 36 URL:=https://www.npmjs.org/package/cylon 37 endef 38 39 define Package/node-cylon 40 $(call Package/node-cylon/default,Core) 41 endef 42 43 define Package/node-cylon-i2c 44 $(call Package/node-cylon/default,I2C,+node-cylon) 45 endef 46 47 define Package/node-cylon-gpio 48 $(call Package/node-cylon/default,GPIO,+node-cylon) 49 endef 50 51 define Package/node-cylon-firmata 52 $(call Package/node-cylon/default,Firmata,+node-cylon-gpio +node-cylon-i2c +node-arduino-firmata) 53 endef 54 55 define Package/node-cylon/description 56 JavaScript Robotics, By Your Command Next generation robotics framework with support for 36 different platforms Get Started 57 endef 58 59 define Build/Prepare 60 /bin/tar xzf $(DL_DIR)/$(PKG_SOURCE) -C $(PKG_BUILD_DIR) --strip-components 1 61 $(Build/Patch) 62 endef 63 64 EXTRA_LDFLAGS="-L$(TOOLCHAIN_DIR)/lib/ -Wl,-rpath-link $(TOOLCHAIN_DIR)/lib/" \ 65 66 define Build/Compile 67 $(MAKE_FLAGS) \ 68 npm_config_arch=$(CONFIG_ARCH) \ 69 npm_config_nodedir=$(BUILD_DIR)/node-v$(PKG_NODE_VERSION)/ \ 70 npm_config_cache=$(BUILD_DIR)/node-v$(PKG_NODE_VERSION)/npm-cache \ 71 PREFIX="$(PKG_INSTALL_DIR)/usr/" \ 72 npm install -g $(PKG_BUILD_DIR) 73 endef 74 75 define Package/node-cylon/install 76 mkdir -p $(1)/usr/lib/node/cylon 77 $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/cylon-firmata/node_modules/cylon/* $(1)/usr/lib/node/cylon/ 78 endef 79 80 define Package/node-cylon-i2c/install 81 mkdir -p $(1)/usr/lib/node/cylon-i2c 82 $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/cylon-firmata/node_modules/cylon-i2c/* $(1)/usr/lib/node/cylon-i2c/ 83 endef 84 85 define Package/node-cylon-gpio/install 86 mkdir -p $(1)/usr/lib/node/cylon-gpio 87 $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/cylon-firmata/node_modules/cylon-gpio/* $(1)/usr/lib/node/cylon-gpio/ 88 endef 89 90 define Package/node-cylon-firmata/install 91 mkdir -p $(1)/usr/lib/node/cylon-firmata 92 $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/cylon-firmata/{index.js,lib,LICENSE,package.json,README.md,RELEASES.md,spec} $(1)/usr/lib/node/cylon-firmata/ 93 endef 94 95 $(eval $(call BuildPackage,node-cylon)) 96 $(eval $(call BuildPackage,node-cylon-i2c)) 97 $(eval $(call BuildPackage,node-cylon-gpio)) 98 $(eval $(call BuildPackage,node-cylon-firmata)) 99