2 # Copyright (C) 2022 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
12 PKG_SOURCE_URL
=$(PROJECT_GIT
)/project
/unetd.git
13 PKG_SOURCE_DATE
:=2022-09-01
14 PKG_SOURCE_VERSION
:=d7fb9e5b065bf9eecb5bcbcf741b5f89695c5dcc
15 PKG_MIRROR_HASH
:=a693c2b4b4bda5e1e44b493019e8e6e6d39c4048f417b581c801a9931e6b9b39
18 PKG_MAINTAINER
:=Felix Fietkau
<nbd@nbd.name
>
20 PKG_BUILD_DEPENDS
:=bpf-headers
24 PKG_CONFIG_DEPENDS
+= CONFIG_UNETD_VXLAN_SUPPORT
26 include $(INCLUDE_DIR
)/package.mk
27 include $(INCLUDE_DIR
)/cmake.mk
28 include $(INCLUDE_DIR
)/bpf.mk
29 include $(INCLUDE_DIR
)/nls.mk
34 TITLE
:=WireGuard based VPN connection manager for OpenWrt
35 DEPENDS
:=+libubox
+libubus
+libblobmsg-json
+libnl-tiny
+kmod-wireguard
+UNETD_VXLAN_SUPPORT
:libbpf
38 define Package
/unetd
/config
39 config UNETD_VXLAN_SUPPORT
41 depends on PACKAGE_unetd
42 depends on HAS_BPF_TOOLCHAIN
47 define Package
/unet-cli
50 DEPENDS
:=unetd
+ucode
+ucode-mod-fs
51 TITLE
:=unetd administration command line utility
55 -I
$(STAGING_DIR
)/usr
/include/libnl-tiny \
56 -I
$(STAGING_DIR
)/usr
/include
59 -DLIBNL_LIBS
=-lnl-tiny \
60 -DVXLAN_SUPPORT
=$(if
$(CONFIG_UNETD_VXLAN_SUPPORT
),ON
,OFF
)
62 ifdef CONFIG_UNETD_VXLAN_SUPPORT
64 $(call CompileBPF
,$(PKG_BUILD_DIR
)/mss-bpf.c
)
65 $(call Build
/Compile
/Default
,)
69 define Package
/unetd
/conffiles
73 define Package
/unetd
/install
78 $(1)/lib
/netifd
/proto \
81 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/lib
/libunet.so
* $(1)/usr
/lib
/
83 $(PKG_INSTALL_DIR
)/usr
/sbin
/unetd \
84 $(PKG_INSTALL_DIR
)/usr
/sbin
/unet-tool \
86 $(if
$(CONFIG_UNETD_VXLAN_SUPPORT
),$(INSTALL_DATA
) $(PKG_BUILD_DIR
)/mss-bpf.o
$(1)/lib
/bpf
/mss.o
)
87 $(INSTALL_BIN
) .
/files
/unetd.init
$(1)/etc
/init.d
/unetd
88 $(INSTALL_BIN
) .
/files
/unetd.sh
$(1)/lib
/netifd
/proto
91 define Package
/unet-cli
/install
92 $(INSTALL_DIR
) $(1)/usr
/sbin
93 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/scripts
/unet-cli
$(1)/usr
/sbin
96 $(eval
$(call BuildPackage
,unetd
))
97 $(eval
$(call BuildPackage
,unet-cli
))