nbd's makefile/menuconfig rewrite
[openwrt-10.03/.git] / toolchain / kernel-headers / kernel-headers.mk
1 # linux kernel headers for toolchain
2
3 LINUX_HEADERS_VERSION=2.4.29
4 LINUX_HEADERS_SITE=http://www.kernel.org/pub/linux/kernel/v2.4
5 LINUX_HEADERS_SOURCE=linux-$(LINUX_HEADERS_VERSION).tar.bz2
6 LINUX_HEADERS_CONFIG=./linux.config
7 LINUX_HEADERS_ARCH:=$(shell echo $(ARCH) | sed -e 's/i[3-9]86/i386/' \
8         -e 's/mipsel/mips/' \
9         -e 's/powerpc/ppc/' \
10         -e 's/sh[234]/sh/' \
11         )
12
13 $(DL_DIR)/$(LINUX_HEADERS_SOURCE):
14         -mkdir -p $(DL_DIR)
15         $(WGET) -P $(DL_DIR) $(LINUX_HEADERS_SITE)/$(LINUX_HEADERS_SOURCE)
16
17 $(LINUX_HEADERS_DIR)/.unpacked: $(DL_DIR)/$(LINUX_HEADERS_SOURCE)
18         mkdir -p $(TOOL_BUILD_DIR)
19         bzcat $(DL_DIR)/$(LINUX_HEADERS_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) - \
20                 linux-$(LINUX_HEADERS_VERSION)/include \
21                 linux-$(LINUX_HEADERS_VERSION)/Makefile \
22                 linux-$(LINUX_HEADERS_VERSION)/Rules.make \
23                 linux-$(LINUX_HEADERS_VERSION)/arch/$(LINUX_HEADERS_ARCH)/Makefile \
24                 linux-$(LINUX_HEADERS_VERSION)/scripts \
25                 linux-$(LINUX_HEADERS_VERSION)/arch/$(LINUX_HEADERS_ARCH)/config*.in \
26                 linux-$(LINUX_HEADERS_VERSION)/*/*/Config.in \
27                 linux-$(LINUX_HEADERS_VERSION)/*/Config.in
28         ln -sf $(LINUX_HEADERS_DIR)-$(LINUX_HEADERS_VERSION) $(LINUX_HEADERS_DIR)
29         touch $(LINUX_HEADERS_DIR)/.unpacked
30
31 $(LINUX_HEADERS_DIR)/.configured: $(LINUX_HEADERS_DIR)/.unpacked
32         -cp -af $(LINUX_HEADERS_CONFIG) $(LINUX_HEADERS_DIR)/.config
33         $(MAKE) -C $(LINUX_HEADERS_DIR) ARCH=$(LINUX_HEADERS_ARCH) oldconfig include/linux/version.h
34         touch $(LINUX_HEADERS_DIR)/.configured
35
36 kernel-headers: $(LINUX_HEADERS_DIR)/.configured
37
38 kernel-headers-source: $(DL_DIR)/$(LINUX_HEADERS_SOURCE)
39
40 kernel-headers-clean: clean
41         rm -rf $(LINUX_HEADERS_DIR)
42
43 kernel-headers-toolclean:
44         rm -rf $(LINUX_HEADERS_DIR)