Makefile 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #
  2. # Copyright (C) 2022 OpenWrt.org
  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:=bridger
  9. PKG_SOURCE_PROTO:=git
  10. PKG_SOURCE_URL=https://github.com/nbd168/bridger
  11. PKG_SOURCE_DATE:=2023-05-12
  12. PKG_SOURCE_VERSION:=d0f79a16c749ad310d79e1c31f593860619f99eb
  13. PKG_MIRROR_HASH:=052beb648545c67a4e24034347e4cb5d91319147bfe3f8d498d1aa576d14a089
  14. PKG_LICENSE:=GPL-2.0
  15. PKG_MAINTAINER:=Felix Fietkau <[email protected]>
  16. PKG_BUILD_DEPENDS:=bpf-headers
  17. PKG_BUILD_PARALLEL:=1
  18. include $(INCLUDE_DIR)/package.mk
  19. include $(INCLUDE_DIR)/cmake.mk
  20. include $(INCLUDE_DIR)/bpf.mk
  21. include $(INCLUDE_DIR)/nls.mk
  22. define Package/bridger
  23. SECTION:=utils
  24. CATEGORY:=Base system
  25. TITLE:=Bridge forwarding accelerator
  26. DEPENDS:=+libbpf +libubox +libubus +libnl-tiny +kmod-sched-core +kmod-sched-flower +kmod-sched-bpf +kmod-sched-act-vlan $(BPF_DEPENDS)
  27. endef
  28. TARGET_CFLAGS += \
  29. -I$(STAGING_DIR)/usr/include/libnl-tiny \
  30. -I$(STAGING_DIR)/usr/include
  31. CMAKE_OPTIONS += \
  32. -DLIBNL_LIBS=-lnl-tiny
  33. define Build/Compile
  34. $(call CompileBPF,$(PKG_BUILD_DIR)/bridger-bpf.c)
  35. $(Build/Compile/Default)
  36. endef
  37. define Package/bridger/install
  38. $(INSTALL_DIR) \
  39. $(1)/etc/config \
  40. $(1)/etc/init.d \
  41. $(1)/lib/bpf \
  42. $(1)/usr/sbin
  43. $(INSTALL_DATA) $(PKG_BUILD_DIR)/bridger-bpf.o $(1)/lib/bpf
  44. $(INSTALL_BIN) \
  45. $(PKG_INSTALL_DIR)/usr/bin/bridger \
  46. $(1)/usr/sbin/
  47. $(INSTALL_DATA) ./files/bridger.conf $(1)/etc/config/bridger
  48. $(INSTALL_BIN) ./files/bridger.init $(1)/etc/init.d/bridger
  49. endef
  50. $(eval $(call BuildPackage,bridger))