diff options
Diffstat (limited to 'toolchain/kernel-headers/kernel-headers.mk')
-rw-r--r-- | toolchain/kernel-headers/kernel-headers.mk | 35 |
1 files changed, 30 insertions, 5 deletions
diff --git a/toolchain/kernel-headers/kernel-headers.mk b/toolchain/kernel-headers/kernel-headers.mk index 6f3a6ad55..f999ebfd4 100644 --- a/toolchain/kernel-headers/kernel-headers.mk +++ b/toolchain/kernel-headers/kernel-headers.mk @@ -83,6 +83,7 @@ LINUX_HEADERS_SITE:=http://ep09.pld-linux.org/~mmazur/linux-libc-headers/ LINUX_HEADERS_SOURCE:=linux-libc-headers-2.6.12.0.tar.bz2 LINUX_HEADERS_UNPACK_DIR:=$(TOOL_BUILD_DIR)/linux-libc-headers-2.6.12.0 endif +LINUX_HEADERS_IS_KERNEL=n ifeq ("$(strip $(DEFAULT_KERNEL_HEADERS))","2.6.18") VERSION:=2 @@ -91,25 +92,51 @@ SUBLEVEL:=18 LINUX_HEADERS_SITE:=http://www.kernel.org/pub/linux/kernel/v2.6/ LINUX_HEADERS_SOURCE:=linux-2.6.18.tar.bz2 LINUX_HEADERS_UNPACK_DIR:=$(TOOL_BUILD_DIR)/linux-2.6.18 +LINUX_HEADERS_IS_KERNEL=y endif LINUX_HEADERS_VERSION:=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL) LINUX_HEADERS_DIR:=$(TOOL_BUILD_DIR)/linux +LINUX_HEADERS_DO_MOVE=n +ifneq ($(LINUX_HEADERS_UNPACK_DIR),$(LINUX_HEADERS_DIR)) +LINUX_HEADERS_DO_MOVE=y +endif +ifeq ($(LINUX_HEADERS_IS_KERNEL),y) +LINUX_HEADERS_DO_MOVE=n +endif + $(DL_DIR)/$(LINUX_HEADERS_SOURCE): mkdir -p $(DL_DIR) $(WGET) -P $(DL_DIR) $(LINUX_HEADERS_SITE)/$(LINUX_HEADERS_SOURCE) +ifeq ($(LINUX_HEADERS_DO_MOVE),y) $(LINUX_HEADERS_DIR)/.unpacked: $(DL_DIR)/$(LINUX_HEADERS_SOURCE) rm -rf $(LINUX_HEADERS_DIR) mkdir -p $(TOOL_BUILD_DIR) bzcat $(DL_DIR)/$(LINUX_HEADERS_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) - -ifneq ($(LINUX_HEADERS_UNPACK_DIR),$(LINUX_HEADERS_DIR)) mv $(LINUX_HEADERS_UNPACK_DIR) $(LINUX_HEADERS_DIR) -endif touch $(LINUX_HEADERS_DIR)/.unpacked +else +$(LINUX_HEADERS_UNPACK_DIR)/.unpacked: $(DL_DIR)/$(LINUX_HEADERS_SOURCE) + rm -rf $(LINUX_HEADERS_DIR) + mkdir -p $(TOOL_BUILD_DIR) + bzcat $(DL_DIR)/$(LINUX_HEADERS_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) - + touch $(LINUX_HEADERS_UNPACK_DIR)/.unpacked +endif +ifeq ($(LINUX_HEADERS_IS_KERNEL),y) +# full kernel tarball >= 2.6.18 +$(LINUX_HEADERS_UNPACK_DIR)/.patched: $(LINUX_HEADERS_UNPACK_DIR)/.unpacked + toolchain/patch-kernel.sh $(LINUX_HEADERS_UNPACK_DIR) toolchain/kernel-headers linux-$(LINUX_HEADERS_VERSION)\*.patch + +$(LINUX_HEADERS_DIR)/.configured: $(LINUX_HEADERS_UNPACK_DIR)/.patched + (cd $(LINUX_HEADERS_UNPACK_DIR) ; \ + $(MAKE) INSTALL_HDR_PATH=$(LINUX_HEADERS_DIR) headers_install) + touch $(LINUX_HEADERS_DIR)/.configured +else +# the sanitized kernel-headers $(LINUX_HEADERS_DIR)/.patched: $(LINUX_HEADERS_DIR)/.unpacked toolchain/patch-kernel.sh $(LINUX_HEADERS_DIR) toolchain/kernel-headers linux-libc-headers-$(LINUX_HEADERS_VERSION)\*.patch ifeq ($(strip $(ARCH)),nios2) @@ -171,10 +198,8 @@ $(LINUX_HEADERS_DIR)/.configured: $(LINUX_HEADERS_DIR)/.patched (cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-$(ARCH)$(NOMMU) asm;) \ fi touch $(LINUX_HEADERS_DIR)/include/linux/autoconf.h; -ifeq ("$(strip $(DEFAULT_KERNEL_HEADERS))","2.6.18") - (cd $(LINUX_HEADERS_DIR) ; $(MAKE) include/linux/version.h ; ) -endif touch $(LINUX_HEADERS_DIR)/.configured +endif $(LINUX_KERNEL): $(LINUX_HEADERS_DIR)/.configured |