Radix cross Linux

The main Radix cross Linux repository contains the build scripts of packages, which have the most complete and common functionality for desktop machines

452 Commits   2 Branches   1 Tag

COMPONENT_TARGETS  = $(HARDWARE_LEEZ_P710)

NEED_ABS_PATH      = true

COMPONENT_IS_3PP   = true


include ../../../../build-system/constants.mk


SOURCE_REQUIRES    = sources/Linux/v6.x

REQUIRES           = boot/kernel/leez-p710/6.1.53

# ======= __END_OF_REQUIRES__ =======


version            = 6.1.53
subversion         =
modules_version    = 6.1.53
full_version       = $(version)
tar_xz_archive     = $(SRC_PACKAGE_PATH)/Linux/v6.x/linux-$(full_version).tar.xz
SRC_ARCHIVE        = $(tar_xz_archive)
SRC_DIR            = $(TARGET_BUILD_DIR)/usr/src/linux-$(full_version)
src_done           = $(TARGET_BUILD_DIR)/.source_done

config             = $(TARGET_DEST_DIR)/bootfs/config
readme_in          = $(CURDIR)/doc/README.in

devel_source_done  = $(TARGET_BUILD_DIR)/.devel_source_done


PATCHES = PATCHES


ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_RK339X_GLIBC)),)
ARCH = arm64
endif

USE_TARGET_DEST_DIR_SYSROOT = no


####### Targets


PKG_GROUP = dev

KERNEL_DEV_PKG_NAME                = kernel-source
KERNEL_DEV_PKG_VERSION             = 6.1.53
KERNEL_DEV_PKG_ARCH                = $(PKGARCH)
KERNEL_DEV_PKG_DISTRO_NAME         = $(DISTRO_NAME)
KERNEL_DEV_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
KERNEL_DEV_PKG_GROUP               = $(PKG_GROUP)
###                                 |---handy-ruler-------------------------------|
KERNEL_DEV_PKG_SHORT_DESCRIPTION   = Linux Kernel Source
KERNEL_DEV_PKG_URL                 = $(BUG_URL)
KERNEL_DEV_PKG_LICENSE             = GPLv2
KERNEL_DEV_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(KERNEL_DEV_PKG_NAME)-pkg-description
KERNEL_DEV_PKG_DESCRIPTION_FILE_IN = $(KERNEL_DEV_PKG_NAME)-pkg-description.in
KERNEL_DEV_PKG_INSTALL_SCRIPT      = $(KERNEL_DEV_PKG_NAME)-pkg-install.sh

KERNEL_DEV_PKG     = $(CURDIR)/$(TARGET_BUILD_DIR)/$(KERNEL_DEV_PKG_NAME)-package

build_kernel_pkg   = $(TARGET_BUILD_DIR)/.kernel_pkg_done

pkg_basename       = $(KERNEL_DEV_PKG_NAME)-$(KERNEL_DEV_PKG_VERSION)-$(KERNEL_DEV_PKG_ARCH)-$(KERNEL_DEV_PKG_DISTRO_NAME)-$(KERNEL_DEV_PKG_DISTRO_VERSION)

pkg_archive        = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
pkg_certificate  = $(call cert-name,$(pkg_archive))
pkg_signature      = $(call sign-name,$(pkg_archive))
pkg_description    = $(call desc-name,$(pkg_archive))
products           = $(call pkg-files,$(pkg_archive))

BUILD_TARGETS      = $(devel_source_done)
BUILD_TARGETS     += $(build_kernel_pkg)

PRODUCT_TARGETS    = $(products)

ROOTFS_TARGETS     = $(pkg_archive)


include ../../../../build-system/core.mk


####### Dependencies

$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
	$(UNPACK_SRC_ARCHIVE)
	$(APPLY_PATCHES)
	@touch $@

$(devel_source_done): $(src_done)
	@cp $(config) $(SRC_DIR)/.config
	@touch $@

$(build_kernel_pkg): $(devel_source_done)
	@mkdir -p $(KERNEL_DEV_PKG)/usr/src
	# ======= Install kernel sources =======
	@cat $(readme_in) | \
	     sed 's,@KERNEL_SOURCE@,linux-$(full_version),' \
	     > $(KERNEL_DEV_PKG)/usr/src/README.linux-$(full_version)
	@cp -a $(SRC_DIR) $(KERNEL_DEV_PKG)/usr/src
	@mkdir -p $(KERNEL_DEV_PKG)/lib/modules/$(modules_version)
	@( cd $(KERNEL_DEV_PKG)/lib/modules/$(modules_version)  ; \
	   ln -sf ../../../usr/src/linux-$(full_version) build  ; \
	   ln -sf ../../../usr/src/linux-$(full_version) source ; \
	 )
	@touch $@

$(KERNEL_DEV_PKG_DESCRIPTION_FILE): $(KERNEL_DEV_PKG_DESCRIPTION_FILE_IN)
	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@

$(pkg_certificate) : $(pkg_archive) ;
$(pkg_signature)   : $(pkg_archive) ;
$(pkg_description) : $(pkg_archive) ;

$(pkg_archive): $(build_kernel_pkg) $(KERNEL_DEV_PKG_DESCRIPTION_FILE) $(KERNEL_DEV_PKG_INSTALL_SCRIPT)
	@cp $(KERNEL_DEV_PKG_DESCRIPTION_FILE) $(KERNEL_DEV_PKG)/.DESCRIPTION
	@cp $(KERNEL_DEV_PKG_INSTALL_SCRIPT) $(KERNEL_DEV_PKG)/.INSTALL
	@$(BUILD_PKG_REQUIRES) $(KERNEL_DEV_PKG)/.REQUIRES
	@echo "pkgname=$(KERNEL_DEV_PKG_NAME)"                            >  $(KERNEL_DEV_PKG)/.PKGINFO ; \
	 echo "pkgver=$(KERNEL_DEV_PKG_VERSION)"                          >> $(KERNEL_DEV_PKG)/.PKGINFO ; \
	 echo "arch=$(KERNEL_DEV_PKG_ARCH)"                               >> $(KERNEL_DEV_PKG)/.PKGINFO ; \
	 echo "distroname=$(KERNEL_DEV_PKG_DISTRO_NAME)"                  >> $(KERNEL_DEV_PKG)/.PKGINFO ; \
	 echo "distrover=$(KERNEL_DEV_PKG_DISTRO_VERSION)"                >> $(KERNEL_DEV_PKG)/.PKGINFO ; \
	 echo "group=$(KERNEL_DEV_PKG_GROUP)"                             >> $(KERNEL_DEV_PKG)/.PKGINFO ; \
	 echo "short_description=\"$(KERNEL_DEV_PKG_SHORT_DESCRIPTION)\"" >> $(KERNEL_DEV_PKG)/.PKGINFO ; \
	 echo "url=$(KERNEL_DEV_PKG_URL)"                                 >> $(KERNEL_DEV_PKG)/.PKGINFO ; \
	 echo "license=$(KERNEL_DEV_PKG_LICENSE)"                         >> $(KERNEL_DEV_PKG)/.PKGINFO
	@$(PSEUDO) sh -c "cd $(KERNEL_DEV_PKG) && \
	                  chown -R root:root . && \
	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."