1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- #############################################################
- #
- # Setup the kernel headers. I include a generic package of
- # kernel headers here, so you shouldn't need to include your
- # own. Be aware these kernel headers _will_ get blown away
- # by a 'make clean' so don't put anything sacred in here...
- #
- #############################################################
- DEFAULT_KERNEL_HEADERS:=$(call qstrip,$(BR2_DEFAULT_KERNEL_HEADERS))
- LINUX_HEADERS_SITE:=127.0.0.1
- LINUX_HEADERS_SOURCE:=unspecified-kernel-headers
- LINUX_HEADERS_UNPACK_DIR:=$(TOOLCHAIN_DIR)/linux-libc-headers-null
- # parse linux version string
- LNXVER:=$(subst ., , $(strip $(DEFAULT_KERNEL_HEADERS)))
- VERSION:=$(word 1, $(LNXVER))
- PATCHLEVEL:=$(word 2, $(LNXVER))
- SUBLEVEL:=$(word 3, $(LNXVER))
- EXTRAVERSION:=$(word 4, $(LNXVER))
- LOCALVERSION:=
- # should contain prepended dot
- SUBLEVEL:=$(if $(SUBLEVEL),.$(SUBLEVEL),)
- EXTRAVERSION:=$(if $(EXTRAVERSION),.$(EXTRAVERSION),)
- LINUX_HEADERS_VERSION:=$(VERSION).$(PATCHLEVEL)$(SUBLEVEL)$(EXTRAVERSION)
- ifeq ($(findstring x2.6.,x$(DEFAULT_KERNEL_HEADERS)),x2.6.)
- LINUX_HEADERS_SITE:=$(BR2_KERNEL_MIRROR)/linux/kernel/v2.6/
- else
- LINUX_HEADERS_SITE:=$(BR2_KERNEL_MIRROR)/linux/kernel/v3.x/
- endif
- LINUX_HEADERS_SOURCE:=linux-$(LINUX_HEADERS_VERSION).tar.bz2
- LINUX_HEADERS_CAT:=$(BZCAT)
- LINUX_HEADERS_UNPACK_DIR:=$(TOOLCHAIN_DIR)/linux-$(LINUX_HEADERS_VERSION)
- LINUX_HEADERS_DIR:=$(TOOLCHAIN_DIR)/linux
- # long term support kernels are stored in a longterm/v2.6.x subdir
- ifeq ($(BR2_KERNEL_HEADERS_2_6_35),y)
- DEFAULT_KERNEL_HEADERS_MAJOR := \
- $(shell echo $(DEFAULT_KERNEL_HEADERS) | sed 's/\.[0-9]*$$//')
- # += adds a space between
- LINUX_HEADERS_SITE:= \
- $(LINUX_HEADERS_SITE)longterm/v$(DEFAULT_KERNEL_HEADERS_MAJOR)/
- endif
- LINUX_HEADERS_DEPENDS:=
- $(LINUX_HEADERS_UNPACK_DIR)/.unpacked: $(DL_DIR)/$(LINUX_HEADERS_SOURCE)
- rm -rf $(LINUX_HEADERS_DIR)
- $(INSTALL) -d $(@D)
- $(LINUX_HEADERS_CAT) $(DL_DIR)/$(LINUX_HEADERS_SOURCE) | \
- tar $(TAR_STRIP_COMPONENTS)=1 -C $(@D) $(TAR_OPTIONS) -
- touch $@
- $(LINUX_HEADERS_UNPACK_DIR)/.patched: $(LINUX_HEADERS_UNPACK_DIR)/.unpacked $(LINUX_HEADERS_DEPENDS)
- support/scripts/apply-patches.sh $(LINUX_HEADERS_UNPACK_DIR) toolchain/kernel-headers \
- linux-$(LINUX_HEADERS_VERSION)-\*.patch{,.gz,.bz2}
- ifneq ($(KERNEL_HEADERS_PATCH_DIR),)
- support/scripts/apply-patches.sh $(LINUX_HEADERS_UNPACK_DIR) $(KERNEL_HEADERS_PATCH_DIR) \
- linux-$(LINUX_HEADERS_VERSION)-\*.patch{,.gz,.bz2}
- endif
- touch $@
- $(LINUX_HEADERS_DIR)/.configured: $(LINUX_HEADERS_UNPACK_DIR)/.patched
- (cd $(LINUX_HEADERS_UNPACK_DIR); \
- $(MAKE) ARCH=$(KERNEL_ARCH) \
- HOSTCC="$(HOSTCC)" HOSTCFLAGS="$(HOSTCFLAGS)" \
- HOSTCXX="$(HOSTCXX)" \
- INSTALL_HDR_PATH=$(LINUX_HEADERS_DIR) headers_install; \
- )
- touch $@
- $(DL_DIR)/$(LINUX_HEADERS_SOURCE):
- ifeq ($(BR2_KERNEL_HEADERS_SNAP),y)
- $(error No local $@ found, cannot continue. Are you sure you wanted to enable BR2_KERNEL_HEADERS_SNAP?)
- endif
- $(call DOWNLOAD,$(LINUX_HEADERS_SITE)/$(LINUX_HEADERS_SOURCE))
- kernel-headers: $(LINUX_HEADERS_DIR)/.configured
- kernel-headers-source: $(DL_DIR)/$(LINUX_HEADERS_SOURCE)
- kernel-headers-clean: clean
- rm -rf $(LINUX_HEADERS_DIR)
- kernel-headers-dirclean:
- rm -rf $(LINUX_HEADERS_DIR)
- rm -rf $(LINUX_HEADERS_UNPACK_DIR)
- .PHONY: kernel-headers
|