Makefile 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. include $(TOPDIR)/rules.mk
  3. PKG_NAME:=batman-adv
  4. PKG_VERSION:=2025.1
  5. PKG_RELEASE:=1
  6. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
  7. PKG_SOURCE_URL:=https://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION)
  8. PKG_HASH:=03ad429297961fb3acd9c2c806432d037b0ed7aac0f0a1e645e32af5210b98e1
  9. PKG_EXTMOD_SUBDIRS:=net/batman-adv
  10. PKG_MAINTAINER:=Simon Wunderlich <sw@simonwunderlich.de>
  11. PKG_LICENSE:=GPL-2.0-only MIT
  12. PKG_LICENSE_FILES:=LICENSES/preferred/GPL-2.0 LICENSES/preferred/MIT
  13. PKG_BUILD_PARALLEL:=1
  14. STAMP_CONFIGURED_DEPENDS := $(STAGING_DIR)/usr/include/mac80211-backport/backport/autoconf.h
  15. PKG_CONFIG_DEPENDS += \
  16. CONFIG_BATMAN_ADV_BATMAN_V \
  17. CONFIG_BATMAN_ADV_BLA \
  18. CONFIG_BATMAN_ADV_DAT \
  19. CONFIG_BATMAN_ADV_NC \
  20. CONFIG_BATMAN_ADV_MCAST \
  21. CONFIG_BATMAN_ADV_DEBUG \
  22. CONFIG_BATMAN_ADV_TRACING
  23. include $(INCLUDE_DIR)/kernel.mk
  24. include $(INCLUDE_DIR)/package.mk
  25. define KernelPackage/batman-adv
  26. SUBMENU:=Network Support
  27. TITLE:=B.A.T.M.A.N. Adv
  28. URL:=https://www.open-mesh.org/
  29. DEPENDS:=+BATMAN_ADV_BLA:kmod-lib-crc16 +kmod-lib-crc32c +kmod-cfg80211 +batctl
  30. FILES:=$(PKG_BUILD_DIR)/net/batman-adv/batman-adv.$(LINUX_KMOD_SUFFIX)
  31. AUTOLOAD:=$(call AutoProbe,batman-adv)
  32. endef
  33. define KernelPackage/batman-adv/description
  34. B.A.T.M.A.N. (better approach to mobile ad-hoc networking) is
  35. a routing protocol for multi-hop ad-hoc mesh networks. The
  36. networks may be wired or wireless. See
  37. https://www.open-mesh.org/ for more information and user space
  38. tools. This package builds version $(PKG_VERSION) of the kernel
  39. module.
  40. endef
  41. define KernelPackage/batman-adv/config
  42. source "$(SOURCE)/Config.in"
  43. endef
  44. define Package/kmod-batman-adv/conffiles
  45. /etc/config/batman-adv
  46. endef
  47. PKG_EXTRA_KCONFIG:= \
  48. CONFIG_BATMAN_ADV=m \
  49. CONFIG_BATMAN_ADV_DEBUG=$(if $(CONFIG_BATMAN_ADV_DEBUG),y,n) \
  50. CONFIG_BATMAN_ADV_BLA=$(if $(CONFIG_BATMAN_ADV_BLA),y,n) \
  51. CONFIG_BATMAN_ADV_DAT=$(if $(CONFIG_BATMAN_ADV_DAT),y,n) \
  52. CONFIG_BATMAN_ADV_MCAST=$(if $(CONFIG_BATMAN_ADV_MCAST),y,n) \
  53. CONFIG_BATMAN_ADV_NC=$(if $(CONFIG_BATMAN_ADV_NC),y,n) \
  54. CONFIG_BATMAN_ADV_BATMAN_V=$(if $(CONFIG_BATMAN_ADV_BATMAN_V),y,n) \
  55. CONFIG_BATMAN_ADV_TRACING=$(if $(CONFIG_BATMAN_ADV_TRACING),y,n) \
  56. PKG_EXTRA_CFLAGS:= \
  57. $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=m,%,$(filter %=m,$(PKG_EXTRA_KCONFIG)))) \
  58. $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=y,%,$(filter %=y,$(PKG_EXTRA_KCONFIG)))) \
  59. NOSTDINC_FLAGS = \
  60. $(KERNEL_NOSTDINC_FLAGS) \
  61. -I$(PKG_BUILD_DIR)/net/batman-adv \
  62. -I$(STAGING_DIR)/usr/include/mac80211-backport \
  63. -I$(STAGING_DIR)/usr/include/mac80211-backport/uapi \
  64. -I$(STAGING_DIR)/usr/include/mac80211 \
  65. -I$(STAGING_DIR)/usr/include/mac80211/uapi \
  66. -I$(PKG_BUILD_DIR)/include/ \
  67. -include backport/autoconf.h \
  68. -include backport/backport.h \
  69. -include $(PKG_BUILD_DIR)/compat-hacks.h \
  70. -DBATADV_SOURCE_VERSION=\\\"$(PKG_VERSION)-openwrt-$(PKG_RELEASE)\\\"
  71. define Build/Compile
  72. $(MAKE) $(PKG_JOBS) -C "$(LINUX_DIR)" \
  73. $(KERNEL_MAKE_FLAGS) \
  74. M="$(PKG_BUILD_DIR)/net/batman-adv" \
  75. $(PKG_EXTRA_KCONFIG) \
  76. EXTRA_CFLAGS="$(PKG_EXTRA_CFLAGS)" \
  77. NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \
  78. modules
  79. endef
  80. define KernelPackage/batman-adv/install
  81. $(CP) ./files/. $(1)/
  82. endef
  83. $(eval $(call KernelPackage,batman-adv))