0a4856ce27
This modifies the definition of DOWNLOAD to receive two arguments: the first one is the full URL of the file to download, whereas the second (and optional) is the name the file will have once downloaded. Same thing with the SOURCE_CHECK_WGET and SCP functions. All calls to these functions have been changed to the shortest form of the new API, except for toolchains acquisition. Since there is quite a number of different toolchains this call to DOWNLOAD is better set to the generic one. Signed-off-by: Alvaro G. M <alvaro.gamez@hazent.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Tested-by: Stephan Hoffmann <sho@relinux.de> Downloading Microblaze LE toolchain works on a clean install Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
98 lines
3.5 KiB
Makefile
98 lines
3.5 KiB
Makefile
#############################################################
|
|
#
|
|
# 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; \
|
|
)
|
|
ifeq ($(BR2_ARCH),"cris")
|
|
ln -s $(LINUX_HEADERS_DIR)/include/arch-v10/arch $(LINUX_HEADERS_DIR)/include/arch
|
|
cp -a $(LINUX_HEADERS_UNPACK_DIR)/include/linux/user.h $(LINUX_HEADERS_DIR)/include/linux
|
|
$(SED) "/^#include <asm\/page\.h>/d" $(LINUX_HEADERS_DIR)/include/asm/user.h
|
|
endif
|
|
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
|