Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) include ../../scripts/Makefile.include
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) ifeq ($(srctree),)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) srctree := $(patsubst %/,%,$(dir $(CURDIR)))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) srctree := $(patsubst %/,%,$(dir $(srctree)))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) srctree := $(patsubst %/,%,$(dir $(srctree)))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) ifeq ($(V),1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11)   Q =
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13)   Q = @
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) BPF_DIR = $(srctree)/tools/lib/bpf/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) ifneq ($(OUTPUT),)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19)   LIBBPF_OUTPUT = $(OUTPUT)/libbpf/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20)   LIBBPF_PATH = $(LIBBPF_OUTPUT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22)   LIBBPF_PATH = $(BPF_DIR)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) LIBBPF = $(LIBBPF_PATH)libbpf.a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) BPFTOOL_VERSION ?= $(shell make -rR --no-print-directory -sC ../../.. kernelversion)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) $(LIBBPF): FORCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) 	$(if $(LIBBPF_OUTPUT),@mkdir -p $(LIBBPF_OUTPUT))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) 	$(Q)$(MAKE) -C $(BPF_DIR) OUTPUT=$(LIBBPF_OUTPUT) $(LIBBPF_OUTPUT)libbpf.a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) $(LIBBPF)-clean:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) 	$(call QUIET_CLEAN, libbpf)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) 	$(Q)$(MAKE) -C $(BPF_DIR) OUTPUT=$(LIBBPF_OUTPUT) clean >/dev/null
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) prefix ?= /usr/local
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) bash_compdir ?= /usr/share/bash-completion/completions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) CFLAGS += -O2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) CFLAGS += -W -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) CFLAGS += $(filter-out -Wswitch-enum -Wnested-externs,$(EXTRA_WARNINGS))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) CFLAGS += -DPACKAGE='"bpftool"' -D__EXPORTED_HEADERS__ \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) 	-I$(if $(OUTPUT),$(OUTPUT),.) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) 	-I$(srctree)/kernel/bpf/ \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 	-I$(srctree)/tools/include \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) 	-I$(srctree)/tools/include/uapi \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) 	-I$(srctree)/tools/lib \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) 	-I$(srctree)/tools/perf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) CFLAGS += -DBPFTOOL_VERSION='"$(BPFTOOL_VERSION)"'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) ifneq ($(EXTRA_CFLAGS),)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) CFLAGS += $(EXTRA_CFLAGS)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) ifneq ($(EXTRA_LDFLAGS),)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) LDFLAGS += $(EXTRA_LDFLAGS)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) INSTALL ?= install
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) RM ?= rm -f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) CLANG ?= clang
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) LLVM_STRIP ?= llvm-strip
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) FEATURE_USER = .bpftool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) FEATURE_TESTS = libbfd disassembler-four-args reallocarray zlib libcap \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) 	clang-bpf-co-re
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) FEATURE_DISPLAY = libbfd disassembler-four-args zlib libcap \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 	clang-bpf-co-re
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) check_feat := 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) NON_CHECK_FEAT_TARGETS := clean uninstall doc doc-clean doc-install doc-uninstall
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) ifdef MAKECMDGOALS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) ifeq ($(filter-out $(NON_CHECK_FEAT_TARGETS),$(MAKECMDGOALS)),)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73)   check_feat := 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) ifeq ($(check_feat),1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) ifeq ($(FEATURES_DUMP),)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) include $(srctree)/tools/build/Makefile.feature
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) include $(FEATURES_DUMP)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) ifeq ($(feature-disassembler-four-args), 1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) CFLAGS += -DDISASM_FOUR_ARGS_SIGNATURE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) ifeq ($(feature-reallocarray), 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) CFLAGS += -DCOMPAT_NEED_REALLOCARRAY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) LIBS = $(LIBBPF) -lelf -lz
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) ifeq ($(feature-libcap), 1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) CFLAGS += -DUSE_LIBCAP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) LIBS += -lcap
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) include $(wildcard $(OUTPUT)*.d)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) all: $(OUTPUT)bpftool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) BFD_SRCS = jit_disasm.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) SRCS = $(filter-out $(BFD_SRCS),$(wildcard *.c))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) ifeq ($(feature-libbfd),1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108)   LIBS += -lbfd -ldl -lopcodes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) else ifeq ($(feature-libbfd-liberty),1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110)   LIBS += -lbfd -ldl -lopcodes -liberty
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) else ifeq ($(feature-libbfd-liberty-z),1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112)   LIBS += -lbfd -ldl -lopcodes -liberty -lz
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) ifneq ($(filter -lbfd,$(LIBS)),)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) CFLAGS += -DHAVE_LIBBFD_SUPPORT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) SRCS += $(BFD_SRCS)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) BPFTOOL_BOOTSTRAP := $(if $(OUTPUT),$(OUTPUT)bpftool-bootstrap,./bpftool-bootstrap)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) BOOTSTRAP_OBJS = $(addprefix $(OUTPUT),main.o common.o json_writer.o gen.o btf.o)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) OBJS = $(patsubst %.c,$(OUTPUT)%.o,$(SRCS)) $(OUTPUT)disasm.o
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) VMLINUX_BTF_PATHS ?= $(if $(O),$(O)/vmlinux)				\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) 		     $(if $(KBUILD_OUTPUT),$(KBUILD_OUTPUT)/vmlinux)	\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) 		     ../../../vmlinux					\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) 		     /sys/kernel/btf/vmlinux				\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) 		     /boot/vmlinux-$(shell uname -r)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) VMLINUX_BTF ?= $(abspath $(firstword $(wildcard $(VMLINUX_BTF_PATHS))))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) ifneq ($(VMLINUX_BTF)$(VMLINUX_H),)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) ifeq ($(feature-clang-bpf-co-re),1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) BUILD_BPF_SKELS := 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) $(OUTPUT)vmlinux.h: $(VMLINUX_BTF) $(BPFTOOL_BOOTSTRAP)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) ifeq ($(VMLINUX_H),)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) 	$(QUIET_GEN)$(BPFTOOL_BOOTSTRAP) btf dump file $< format c > $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) 	$(Q)cp "$(VMLINUX_H)" $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) $(OUTPUT)%.bpf.o: skeleton/%.bpf.c $(OUTPUT)vmlinux.h $(LIBBPF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) 	$(QUIET_CLANG)$(CLANG) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) 		-I$(if $(OUTPUT),$(OUTPUT),.) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) 		-I$(srctree)/tools/include/uapi/ \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) 		-I$(LIBBPF_PATH) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) 		-I$(srctree)/tools/lib \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) 		-g -O2 -target bpf -c $< -o $@ && $(LLVM_STRIP) -g $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) $(OUTPUT)%.skel.h: $(OUTPUT)%.bpf.o $(BPFTOOL_BOOTSTRAP)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) 	$(QUIET_GEN)$(BPFTOOL_BOOTSTRAP) gen skeleton $< > $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) $(OUTPUT)prog.o: $(OUTPUT)profiler.skel.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) $(OUTPUT)pids.o: $(OUTPUT)pid_iter.skel.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) CFLAGS += $(if $(BUILD_BPF_SKELS),,-DBPFTOOL_WITHOUT_SKELETONS)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) $(OUTPUT)disasm.o: $(srctree)/kernel/bpf/disasm.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) 	$(QUIET_CC)$(CC) $(CFLAGS) -c -MMD -o $@ $<
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) $(OUTPUT)feature.o: | zdep
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) $(BPFTOOL_BOOTSTRAP): $(BOOTSTRAP_OBJS) $(LIBBPF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) 	$(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(BOOTSTRAP_OBJS) $(LIBS)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) $(OUTPUT)bpftool: $(OBJS) $(LIBBPF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) 	$(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) $(OUTPUT)%.o: %.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) 	$(QUIET_CC)$(CC) $(CFLAGS) -c -MMD -o $@ $<
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) feature-detect-clean:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) 	$(call QUIET_CLEAN, feature-detect)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) 	$(Q)$(MAKE) -C $(srctree)/tools/build/feature/ clean >/dev/null
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) clean: $(LIBBPF)-clean feature-detect-clean
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) 	$(call QUIET_CLEAN, bpftool)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) 	$(Q)$(RM) -- $(OUTPUT)bpftool $(OUTPUT)*.o $(OUTPUT)*.d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) 	$(Q)$(RM) -- $(BPFTOOL_BOOTSTRAP) $(OUTPUT)*.skel.h $(OUTPUT)vmlinux.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) 	$(Q)$(RM) -r -- $(OUTPUT)libbpf/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) 	$(call QUIET_CLEAN, core-gen)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) 	$(Q)$(RM) -- $(OUTPUT)FEATURE-DUMP.bpftool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) 	$(Q)$(RM) -r -- $(OUTPUT)feature/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) install: $(OUTPUT)bpftool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) 	$(call QUIET_INSTALL, bpftool)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) 	$(Q)$(INSTALL) -m 0755 -d $(DESTDIR)$(prefix)/sbin
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) 	$(Q)$(INSTALL) $(OUTPUT)bpftool $(DESTDIR)$(prefix)/sbin/bpftool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) 	$(Q)$(INSTALL) -m 0755 -d $(DESTDIR)$(bash_compdir)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) 	$(Q)$(INSTALL) -m 0644 bash-completion/bpftool $(DESTDIR)$(bash_compdir)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) uninstall:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) 	$(call QUIET_UNINST, bpftool)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) 	$(Q)$(RM) -- $(DESTDIR)$(prefix)/sbin/bpftool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) 	$(Q)$(RM) -- $(DESTDIR)$(bash_compdir)/bpftool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) doc:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) 	$(call descend,Documentation)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) doc-clean:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) 	$(call descend,Documentation,clean)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) doc-install:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) 	$(call descend,Documentation,install)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) doc-uninstall:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) 	$(call descend,Documentation,uninstall)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) FORCE:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) zdep:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) 	@if [ "$(feature-zlib)" != "1" ]; then echo "No zlib found"; exit 1 ; fi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) .SECONDARY:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) .PHONY: all FORCE clean install uninstall zdep
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) .PHONY: doc doc-clean doc-install doc-uninstall
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) .DEFAULT_GOAL := all