mirror of
https://github.com/openwrt/routing.git
synced 2026-04-15 19:02:12 +00:00
The OpenWrt routing feed was tried to be merged together with the OpenWrt package feed. But they ended up being rejected due to formalities like the slightly different package template. Just moving to the OpenWrt package based one should simplify similar approaches in the future. Signed-off-by: Sven Eckelmann <sven@narfation.org>
233 lines
5.2 KiB
Makefile
233 lines
5.2 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=batctl
|
|
PKG_VERSION:=2020.0
|
|
PKG_RELEASE:=1
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
|
PKG_SOURCE_URL:=https://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION)
|
|
PKG_HASH:=60efe9b148f66aa1b29110493244dc9f1f1d722e6d96969e4d4b2c0ab9278104
|
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
|
|
|
|
PKG_MAINTAINER:=Simon Wunderlich <sw@simonwunderlich.de>
|
|
PKG_LICENSE:=GPL-2.0-only ISC MIT
|
|
PKG_LICENSE_FILES:=LICENSES/preferred/GPL-2.0 LICENSES/preferred/MIT LICENSES/deprecated/ISC
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
define Package/batctl/Default
|
|
SECTION:=net
|
|
CATEGORY:=Network
|
|
URL:=https://www.open-mesh.org/
|
|
DEPENDS:=+libnl-tiny +libc +librt
|
|
PROVIDES:=batctl
|
|
endef
|
|
|
|
define Package/batctl/description
|
|
batctl is a more intuitive managment utility for B.A.T.M.A.N.-Advanced.
|
|
It is an easier method for configuring batman-adv and provides some
|
|
additional tools for debugging as well. This package builds
|
|
version $(PKG_VERSION) of the user space utility.
|
|
endef
|
|
|
|
define Package/batctl-tiny
|
|
$(call Package/batctl/Default)
|
|
TITLE:=B.A.T.M.A.N. Advanced user space configuration tool (Minimal)
|
|
VARIANT:=tiny
|
|
PROVIDES:=batctl
|
|
ALTERNATIVES:=100:/usr/sbin/batctl:/usr/libexec/batctl-tiny
|
|
endef
|
|
|
|
define Package/batctl-tiny/description
|
|
$(Package/batctl/description)
|
|
Only configuration relevant subcommands are enabled.
|
|
endef
|
|
|
|
define Package/batctl-default
|
|
$(call Package/batctl/Default)
|
|
TITLE:=B.A.T.M.A.N. Advanced user space configuration tool (Default)
|
|
VARIANT:=default
|
|
ALTERNATIVES:=200:/usr/sbin/batctl:/usr/libexec/batctl-default
|
|
endef
|
|
|
|
define Package/batctl-default/description
|
|
$(Package/batctl/description)
|
|
Standard subcommands for configuration and online debugging are enabled.
|
|
endef
|
|
|
|
define Package/batctl-full
|
|
$(call Package/batctl/Default)
|
|
TITLE:=B.A.T.M.A.N. Advanced user space configuration tool (Full)
|
|
VARIANT:=full
|
|
ALTERNATIVES:=300:/usr/sbin/batctl:/usr/libexec/batctl-full
|
|
endef
|
|
|
|
define Package/batctl-full/description
|
|
$(Package/batctl/description)
|
|
Subcommands for configuration, online and offline debugging are enabled.
|
|
endef
|
|
|
|
# The linker can identify unused sections of a binary when each symbol is stored
|
|
# in a separate section. This mostly removes unused linker sections and reduces
|
|
# the size by ~3% on mipsel.
|
|
|
|
TARGET_CFLAGS += -ffunction-sections -fdata-sections
|
|
TARGET_LDFLAGS += -Wl,--gc-sections
|
|
|
|
# Link-time optimization allows to move parts of the optimization from the single
|
|
# source file to the global source view. This is done by emitting the GIMPLE
|
|
# representation in each object file and analyzing it again during the link step.
|
|
|
|
TARGET_CFLAGS += -flto
|
|
TARGET_LDFLAGS += -fuse-linker-plugin
|
|
|
|
MAKE_VARS += \
|
|
LIBNL_NAME="libnl-tiny" \
|
|
LIBNL_GENL_NAME="libnl-tiny"
|
|
|
|
MAKE_FLAGS += \
|
|
REVISION="$(PKG_VERSION)-openwrt-$(PKG_RELEASE)"
|
|
|
|
config-n := \
|
|
aggregation \
|
|
ap_isolation \
|
|
backbonetable \
|
|
bisect_iv \
|
|
bonding \
|
|
bridge_loop_avoidance \
|
|
claimtable \
|
|
dat_cache \
|
|
distributed_arp_table \
|
|
elp_interval \
|
|
event \
|
|
fragmentation \
|
|
gateways \
|
|
gw_mode \
|
|
hop_penalty \
|
|
interface \
|
|
isolation_mark \
|
|
loglevel \
|
|
mcast_flags \
|
|
multicast_fanout \
|
|
multicast_forceflood \
|
|
multicast_mode \
|
|
nc_nodes \
|
|
neighbors \
|
|
network_coding \
|
|
orig_interval \
|
|
originators \
|
|
ping \
|
|
routing_algo \
|
|
statistics \
|
|
tcpdump \
|
|
throughput_override \
|
|
throughputmeter \
|
|
traceroute \
|
|
transglobal \
|
|
translate \
|
|
translocal \
|
|
|
|
config-settings := \
|
|
aggregation \
|
|
ap_isolation \
|
|
bonding \
|
|
bridge_loop_avoidance \
|
|
distributed_arp_table \
|
|
elp_interval \
|
|
fragmentation \
|
|
gw_mode \
|
|
hop_penalty \
|
|
interface \
|
|
isolation_mark \
|
|
loglevel \
|
|
multicast_fanout \
|
|
multicast_forceflood \
|
|
multicast_mode \
|
|
network_coding \
|
|
orig_interval \
|
|
routing_algo \
|
|
throughput_override \
|
|
|
|
config-tables := \
|
|
backbonetable \
|
|
claimtable \
|
|
dat_cache \
|
|
gateways \
|
|
loglevel \
|
|
nc_nodes \
|
|
neighbors \
|
|
originators \
|
|
statistics \
|
|
transglobal \
|
|
translocal \
|
|
|
|
config-tools := \
|
|
event \
|
|
ping \
|
|
tcpdump \
|
|
throughputmeter \
|
|
traceroute \
|
|
translate \
|
|
|
|
config-extratools := \
|
|
bisect_iv \
|
|
|
|
ifeq ($(BUILD_VARIANT),tiny)
|
|
|
|
config-y := \
|
|
$(config-settings) \
|
|
|
|
endif
|
|
|
|
ifeq ($(BUILD_VARIANT),default)
|
|
|
|
config-y := \
|
|
$(config-settings) \
|
|
$(config-tables) \
|
|
$(config-tools) \
|
|
|
|
endif
|
|
|
|
ifeq ($(BUILD_VARIANT),full)
|
|
|
|
config-y := \
|
|
$(config-settings) \
|
|
$(config-tables) \
|
|
$(config-tools) \
|
|
$(config-extratools) \
|
|
|
|
endif
|
|
|
|
define ConfigVars
|
|
$(subst $(space),,$(foreach opt,$(config-$(1)),CONFIG_$(opt)=$(1)
|
|
))
|
|
endef
|
|
|
|
define batctl_config
|
|
$(call ConfigVars,n)$(call ConfigVars,y)
|
|
endef
|
|
$(eval $(call shexport,batctl_config))
|
|
|
|
MAKE_FLAGS += $$$$$(call shvar,batctl_config)
|
|
|
|
define Package/batctl-tiny/install
|
|
$(INSTALL_DIR) $(1)/usr/libexec
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/batctl $(1)/usr/libexec/batctl-tiny
|
|
endef
|
|
|
|
define Package/batctl-default/install
|
|
$(INSTALL_DIR) $(1)/usr/libexec
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/batctl $(1)/usr/libexec/batctl-default
|
|
endef
|
|
|
|
define Package/batctl-full/install
|
|
$(INSTALL_DIR) $(1)/usr/libexec
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/batctl $(1)/usr/libexec/batctl-full
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,batctl-default))
|
|
$(eval $(call BuildPackage,batctl-tiny))
|
|
$(eval $(call BuildPackage,batctl-full))
|