Makefile 2.6 KB

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