cca2b7a51d4b1bf9077e7ff290b05a8a8b0de837
[openwrt/staging/chunkeey.git] / package / network / config / qosify / Makefile
1 #
2 # Copyright (C) 2021 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9 include $(INCLUDE_DIR)/kernel.mk
10
11 PKG_NAME:=qosify
12 PKG_SOURCE_URL=$(PROJECT_GIT)/project/qosify.git
13 PKG_SOURCE_PROTO:=git
14 PKG_SOURCE_DATE:=2021-11-21
15 PKG_SOURCE_VERSION:=2743e58741b304c37858dbc44435a164215b0a87
16 PKG_MIRROR_HASH:=7def343f6b4956bd8a58659f66fe90dfc12883ec81394c9d209eab613c4924c0
17
18 PKG_LICENSE:=GPL-2.0
19 PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
20
21 PKG_BUILD_DEPENDS:=bpf-headers
22 PKG_FLAGS:=nonshared
23
24 include $(INCLUDE_DIR)/package.mk
25 include $(INCLUDE_DIR)/cmake.mk
26 include $(INCLUDE_DIR)/bpf.mk
27 include $(INCLUDE_DIR)/nls.mk
28
29 define Package/qosify
30 SECTION:=utils
31 CATEGORY:=Base system
32 TITLE:=A simple QoS solution based eBPF + CAKE
33 DEPENDS:=+libbpf +libubox +libubus +kmod-sched-cake +kmod-sched-bpf +kmod-ifb +tc-full $(BPF_DEPENDS)
34 endef
35
36 define Build/Compile
37 $(call CompileBPF,$(PKG_BUILD_DIR)/qosify-bpf.c)
38 $(Build/Compile/Default)
39 endef
40
41 define Package/qosify/conffiles
42 /etc/config/qosify
43 /etc/qosify/00-defaults.conf
44 endef
45
46 define Package/qosify/install
47 $(INSTALL_DIR) \
48 $(1)/lib/bpf \
49 $(1)/usr/sbin \
50 $(1)/etc/init.d \
51 $(1)/etc/config \
52 $(1)/etc/qosify \
53 $(1)/etc/hotplug.d/net \
54 $(1)/etc/hotplug.d/iface
55 $(INSTALL_DATA) $(PKG_BUILD_DIR)/qosify-bpf.o $(1)/lib/bpf
56 $(INSTALL_BIN) \
57 $(PKG_INSTALL_DIR)/usr/bin/qosify \
58 ./files/qosify-status \
59 $(1)/usr/sbin/
60 $(INSTALL_BIN) ./files/qosify.init $(1)/etc/init.d/qosify
61 $(INSTALL_DATA) ./files/qosify-defaults.conf $(1)/etc/qosify/00-defaults.conf
62 $(INSTALL_DATA) ./files/qosify.conf $(1)/etc/config/qosify
63 $(INSTALL_DATA) ./files/qosify.hotplug $(1)/etc/hotplug.d/net/10-qosify
64 $(INSTALL_DATA) ./files/qosify.hotplug $(1)/etc/hotplug.d/iface/10-qosify
65 endef
66
67 $(eval $(call BuildPackage,qosify))