Makefile 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. include $(TOPDIR)/rules.mk
  2. PKG_NAME:=libubox
  3. PKG_RELEASE=2
  4. PKG_SOURCE_PROTO:=git
  5. PKG_SOURCE_URL=$(PROJECT_GIT)/project/libubox.git
  6. PKG_SOURCE_DATE:=2018-06-07
  7. PKG_SOURCE_VERSION:=3c1b33b7d57ad8b8aeeab8babd48625b86532e0b
  8. PKG_MIRROR_HASH:=0a4328591496eabbe46611037f8fc2087baec5ac37c8af125a839a5a9a0419d2
  9. CMAKE_INSTALL:=1
  10. PKG_LICENSE:=ISC
  11. PKG_LICENSE_FILES:=
  12. PKG_MAINTAINER:=Felix Fietkau <[email protected]>
  13. PKG_BUILD_DEPENDS:=lua
  14. HOST_BUILD_DEPENDS:=libjson-c/host
  15. include $(INCLUDE_DIR)/package.mk
  16. include $(INCLUDE_DIR)/host-build.mk
  17. include $(INCLUDE_DIR)/cmake.mk
  18. define Package/libubox
  19. SECTION:=libs
  20. CATEGORY:=Libraries
  21. TITLE:=Basic utility library
  22. ABI_VERSION:=$(PKG_VERSION)
  23. DEPENDS:=
  24. endef
  25. define Package/libblobmsg-json
  26. SECTION:=libs
  27. CATEGORY:=Libraries
  28. TITLE:=blobmsg <-> json conversion library
  29. DEPENDS:=+libjson-c +libubox
  30. endef
  31. define Package/jshn
  32. SECTION:=utils
  33. CATEGORY:=Utilities
  34. DEPENDS:=+libjson-c +libubox +libblobmsg-json
  35. TITLE:=JSON SHell Notation
  36. endef
  37. define Package/jshn/description
  38. Library for parsing and generating JSON from shell scripts
  39. endef
  40. define Package/libjson-script
  41. SECTION:=utils
  42. CATEGORY:=Utilities
  43. DEPENDS:=+libubox
  44. TITLE:=Minimalistic JSON based scripting engine
  45. endef
  46. define Package/libubox-lua
  47. SECTION:=libs
  48. CATEGORY:=Libraries
  49. DEPENDS:=+libubox +liblua
  50. TITLE:=Lua binding for the OpenWrt Basic utility library
  51. endef
  52. TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include
  53. CMAKE_OPTIONS = \
  54. -DLUAPATH=/usr/lib/lua
  55. define Package/libubox/install
  56. $(INSTALL_DIR) $(1)/lib/
  57. $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libubox.so $(1)/lib/
  58. endef
  59. define Package/libblobmsg-json/install
  60. $(INSTALL_DIR) $(1)/lib/
  61. $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libblobmsg_json.so $(1)/lib/
  62. endef
  63. define Package/jshn/install
  64. $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/share/libubox
  65. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/jshn $(1)/usr/bin
  66. $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/libubox/jshn.sh $(1)/usr/share/libubox
  67. endef
  68. define Package/libjson-script/install
  69. $(INSTALL_DIR) $(1)/lib/
  70. $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libjson_script.so $(1)/lib/
  71. endef
  72. define Package/libubox-lua/install
  73. $(INSTALL_DIR) $(1)/usr/lib/lua
  74. $(CP) $(PKG_BUILD_DIR)/lua/uloop.so $(1)/usr/lib/lua/
  75. endef
  76. CMAKE_HOST_OPTIONS += \
  77. -DBUILD_LUA=OFF \
  78. -DBUILD_EXAMPLES=OFF \
  79. $(eval $(call BuildPackage,libubox))
  80. $(eval $(call BuildPackage,libblobmsg-json))
  81. $(eval $(call BuildPackage,jshn))
  82. $(eval $(call BuildPackage,libjson-script))
  83. $(eval $(call BuildPackage,libubox-lua))
  84. $(eval $(call HostBuild))