Makefile 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #
  2. # Copyright (C) 2020-2024 Tony Ambardar <[email protected]>
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. PKG_NAME:=libbpf
  9. PKG_VERSION:=1.6.2
  10. PKG_RELEASE:=1
  11. PKG_SOURCE_URL:=https://github.com/libbpf/libbpf
  12. PKG_MIRROR_HASH:=9620f45b4fc0ee5e0f43502634fe48fbcb34ab49d2553b7275fa92f7e02d3dc7
  13. PKG_SOURCE_PROTO:=git
  14. PKG_SOURCE_VERSION:=v$(PKG_VERSION)
  15. PKG_ABI_VERSION:=$(firstword $(subst .,$(space),$(PKG_VERSION)))
  16. PKG_MAINTAINER:=Tony Ambardar <[email protected]>
  17. PKG_CPE_ID:=cpe:/a:libbpf_project:libbpf
  18. PKG_BUILD_FLAGS:=no-mips16 no-gc-sections no-lto
  19. PKG_BUILD_PARALLEL:=1
  20. PKG_INSTALL:=1
  21. include $(INCLUDE_DIR)/package.mk
  22. include $(INCLUDE_DIR)/nls.mk
  23. define Package/libbpf
  24. SECTION:=libs
  25. CATEGORY:=Libraries
  26. TITLE:=libbpf - eBPF helper library
  27. LICENSE:=LGPL-2.1 OR BSD-2-Clause
  28. ABI_VERSION:=$(PKG_ABI_VERSION)
  29. URL:=http://www.kernel.org
  30. DEPENDS:=+libelf
  31. endef
  32. define Package/libbpf/description
  33. libbpf is a library for loading eBPF programs and reading and manipulating eBPF objects from user-space.
  34. endef
  35. MAKE_FLAGS += \
  36. $(if $(findstring c,$(OPENWRT_VERBOSE)),V=1,V='') \
  37. LIBSUBDIR=lib
  38. MAKE_PATH = src
  39. define Build/InstallDev/libbpf
  40. $(INSTALL_DIR) $(1)/usr/include/bpf
  41. $(CP) $(PKG_INSTALL_DIR)/usr/include/bpf/*.h $(1)/usr/include/bpf/
  42. $(INSTALL_DIR) $(1)/usr/lib
  43. $(CP) $(PKG_INSTALL_DIR)/usr/lib/libbpf.{a,so*} \
  44. $(1)/usr/lib/
  45. $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
  46. $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libbpf.pc \
  47. $(1)/usr/lib/pkgconfig/
  48. $(SED) 's,/usr/include,$$$${prefix}/include,g' \
  49. $(1)/usr/lib/pkgconfig/libbpf.pc
  50. $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' \
  51. $(1)/usr/lib/pkgconfig/libbpf.pc
  52. endef
  53. Build/InstallDev=$(Build/InstallDev/libbpf)
  54. define Package/libbpf/install
  55. $(INSTALL_DIR) $(1)/usr/lib
  56. $(CP) $(PKG_INSTALL_DIR)/usr/lib/libbpf.so.* $(1)/usr/lib/
  57. endef
  58. $(eval $(call BuildPackage,libbpf))