123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- #
- # Copyright (C) 2006-2009 OpenWrt.org
- #
- # This is free software, licensed under the GNU General Public License v2.
- # See /LICENSE for more information.
- #
- include $(TOPDIR)/rules.mk
- override QUILT:=
- override HOST_QUILT:=
- include $(INCLUDE_DIR)/kernel.mk
- PKG_NAME:=linux
- PKG_PATCHVER:=5.15
- # Manually include kernel version and hash from kernel details file
- include $(INCLUDE_DIR)/kernel-$(PKG_PATCHVER)
- PKG_VERSION:=$(PKG_PATCHVER)$(strip $(LINUX_VERSION-$(PKG_PATCHVER)))
- PKG_SOURCE:=$(PKG_NAME)-libre-$(PKG_VERSION)-gnu.tar.xz
- PKG_SOURCE_URL:=$(LINUX_SITE)
- PKG_HASH:=$(LINUX_KERNEL_HASH-$(strip $(PKG_VERSION)))
- PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/bpf-headers/$(PKG_NAME)-$(PKG_VERSION)
- GENERIC_PLATFORM_DIR := $(CURDIR)/../../../target/linux/generic
- GENERIC_BACKPORT_DIR := $(GENERIC_PLATFORM_DIR)/backport$(if $(wildcard $(GENERIC_PLATFORM_DIR)/backport-$(PKG_PATCHVER)),-$(PKG_PATCHVER))
- GENERIC_PATCH_DIR := $(GENERIC_PLATFORM_DIR)/pending$(if $(wildcard $(GENERIC_PLATFORM_DIR)/pending-$(PKG_PATCHVER)),-$(PKG_PATCHVER))
- GENERIC_HACK_DIR := $(GENERIC_PLATFORM_DIR)/hack$(if $(wildcard $(GENERIC_PLATFORM_DIR)/hack-$(PKG_PATCHVER)),-$(PKG_PATCHVER))
- GENERIC_FILES_DIR := $(foreach dir,$(wildcard $(GENERIC_PLATFORM_DIR)/files $(GENERIC_PLATFORM_DIR)/files-$(PKG_PATCHVER)),"$(dir)")
- PATCH_DIR := $(CURDIR)/patches
- FILES_DIR :=
- REAL_LINUX_DIR := $(LINUX_DIR)
- LINUX_DIR := $(PKG_BUILD_DIR)
- include $(INCLUDE_DIR)/bpf.mk
- include $(INCLUDE_DIR)/package.mk
- define Package/bpf-headers
- SECTION:=kernel
- CATEGORY:=Kernel modules
- TITLE:=eBPF kernel headers
- BUILDONLY:=1
- HIDDEN:=1
- endef
- PKG_CONFIG_PATH:=
- export HOST_EXTRACFLAGS=-I$(STAGING_DIR_HOST)/include
- KERNEL_MAKE := \
- $(MAKE) -C $(PKG_BUILD_DIR) \
- ARCH=$(BPF_KARCH) \
- CROSS_COMPILE=$(BPF_ARCH)-linux- \
- LLVM=1 CC="$(CLANG)" LD="$(TARGET_CROSS)ld" \
- HOSTCC="$(HOSTCC)" \
- HOSTCXX="$(HOSTCXX)" \
- KBUILD_HOSTLDLIBS="-L$(STAGING_DIR_HOST)/lib" \
- CONFIG_SHELL="$(BASH)" \
- INSTALL_HDR_PATH="$(PKG_BUILD_DIR)/user_headers"
- define Build/Patch
- $(Kernel/Patch/Default)
- endef
- BPF_DOC = $(PKG_BUILD_DIR)/scripts/bpf_doc.py
- define Build/Configure/64
- echo 'CONFIG_CPU_MIPS64_R2=y' >> $(PKG_BUILD_DIR)/.config
- echo 'CONFIG_64BIT=y' >> $(PKG_BUILD_DIR)/.config
- endef
- define Build/Configure
- grep -vE 'CONFIG_(CPU_.*ENDIAN|HZ)' $(PKG_BUILD_DIR)/arch/mips/configs/generic_defconfig > $(PKG_BUILD_DIR)/.config
- echo 'CONFIG_CPU_$(if $(CONFIG_BIG_ENDIAN),BIG,LITTLE)_ENDIAN=y' >> $(PKG_BUILD_DIR)/.config
- $(if $(CONFIG_ARCH_64BIT),$(Build/Configure/64))
- grep CONFIG_HZ $(REAL_LINUX_DIR)/.config >> $(PKG_BUILD_DIR)/.config
- yes '' | $(KERNEL_MAKE) oldconfig
- grep 'CONFIG_HZ=' $(REAL_LINUX_DIR)/.config | \
- cut -d= -f2 | \
- bc -q $(LINUX_DIR)/kernel/time/timeconst.bc \
- > $(LINUX_DIR)/include/generated/timeconst.h
- $(BPF_DOC) --header \
- --file $(LINUX_DIR)/tools/include/uapi/linux/bpf.h \
- > $(PKG_BUILD_DIR)/tools/lib/bpf/bpf_helper_defs.h
- endef
- define Build/Compile
- $(KERNEL_MAKE) archprepare headers_install
- endef
- define Build/InstallDev
- mkdir -p $(1)/bpf-headers/arch $(1)/bpf-headers/tools
- $(CP) \
- $(PKG_BUILD_DIR)/arch/$(BPF_KARCH) \
- $(1)/bpf-headers/arch/
- $(CP) \
- $(PKG_BUILD_DIR)/tools/lib \
- $(PKG_BUILD_DIR)/tools/testing \
- $(1)/bpf-headers/tools/
- $(CP) \
- $(PKG_BUILD_DIR)/include \
- $(PKG_BUILD_DIR)/samples \
- $(PKG_BUILD_DIR)/scripts \
- $(PKG_BUILD_DIR)/user_headers \
- $(1)/bpf-headers
- $(CP) \
- $(CURDIR)/files/stdarg.h \
- $(1)/bpf-headers/include
- endef
- $(eval $(call BuildPackage,bpf-headers))
|