1 #############################################################
3 # Setup the kernel headers. I include a generic package of
4 # kernel headers here, so you shouldn't need to include your
5 # own. Be aware these kernel headers _will_ get blown away
6 # by a 'make clean' so don't put anything sacred in here...
8 #############################################################
9 ifeq ("$(DEFAULT_KERNEL_HEADERS)","2.4.25")
10 KERNEL_MAJORVERSION:=2
13 LINUX_HEADERS_VERSION:=$(KERNEL_MAJORVERSION).$(KERNEL_PATCHLEVEL).$(KERNEL_SUBLEVEL)$(KERNEL_EXTRAVERSION)
14 LINUX_HEADERS_SITE:=http://www.uclibc.org/downloads/toolchain
15 LINUX_HEADERS_SOURCE:=linux-libc-headers-2.4.25.tar.bz2
16 LINUX_HEADERS_CAT:=$(BZCAT)
17 LINUX_HEADERS_DIR:=$(TOOL_BUILD_DIR)/linux
18 LINUX_HEADERS_UNPACK_DIR:=$(TOOL_BUILD_DIR)/linux-libc-headers-2.4.25
21 ifeq ("$(DEFAULT_KERNEL_HEADERS)","2.4.27")
22 KERNEL_MAJORVERSION:=2
25 LINUX_HEADERS_VERSION:=$(KERNEL_MAJORVERSION).$(KERNEL_PATCHLEVEL).$(KERNEL_SUBLEVEL)$(KERNEL_EXTRAVERSION)
26 LINUX_HEADERS_SITE:=http://www.uclibc.org/downloads/toolchain
27 LINUX_HEADERS_CAT:=$(BZCAT)
28 LINUX_HEADERS_SOURCE:=linux-libc-headers-2.4.27.tar.bz2
29 LINUX_HEADERS_DIR:=$(TOOL_BUILD_DIR)/linux
30 LINUX_HEADERS_UNPACK_DIR:=$(TOOL_BUILD_DIR)/linux-libc-headers-2.4.27
33 ifeq ("$(DEFAULT_KERNEL_HEADERS)","2.4.29")
34 KERNEL_MAJORVERSION:=2
37 LINUX_HEADERS_VERSION:=$(KERNEL_MAJORVERSION).$(KERNEL_PATCHLEVEL).$(KERNEL_SUBLEVEL)$(KERNEL_EXTRAVERSION)
38 LINUX_HEADERS_SITE:=http://www.uclibc.org/downloads/toolchain
39 LINUX_HEADERS_SOURCE:=linux-libc-headers-2.4.29.tar.bz2
40 LINUX_HEADERS_CAT:=$(BZCAT)
41 LINUX_HEADERS_DIR:=$(TOOL_BUILD_DIR)/linux
42 LINUX_HEADERS_UNPACK_DIR:=$(TOOL_BUILD_DIR)/linux-libc-headers-2.4.29
45 ifeq ("$(DEFAULT_KERNEL_HEADERS)","2.4.31")
46 KERNEL_MAJORVERSION:=2
49 LINUX_HEADERS_VERSION:=$(KERNEL_MAJORVERSION).$(KERNEL_PATCHLEVEL).$(KERNEL_SUBLEVEL)$(KERNEL_EXTRAVERSION)
50 LINUX_HEADERS_SITE:=http://www.uclibc.org/downloads/toolchain
51 LINUX_HEADERS_SOURCE:=linux-libc-headers-2.4.31.tar.bz2
52 LINUX_HEADERS_CAT:=$(BZCAT)
53 LINUX_HEADERS_DIR:=$(TOOL_BUILD_DIR)/linux
54 LINUX_HEADERS_UNPACK_DIR:=$(TOOL_BUILD_DIR)/linux-libc-headers-2.4.31
57 ifeq ("$(DEFAULT_KERNEL_HEADERS)","2.6.9")
58 KERNEL_MAJORVERSION:=2
61 LINUX_HEADERS_VERSION:=$(KERNEL_MAJORVERSION).$(KERNEL_PATCHLEVEL).$(KERNEL_SUBLEVEL)$(KERNEL_EXTRAVERSION)
62 LINUX_HEADERS_SITE:=http://ep09.pld-linux.org/~mmazur/linux-libc-headers/
63 LINUX_HEADERS_SOURCE:=linux-libc-headers-2.6.9.1.tar.bz2
64 LINUX_HEADERS_CAT:=$(BZCAT)
65 LINUX_HEADERS_DIR:=$(TOOL_BUILD_DIR)/linux
66 LINUX_HEADERS_UNPACK_DIR:=$(TOOL_BUILD_DIR)/linux-libc-headers-2.6.9.1
69 ifeq ("$(DEFAULT_KERNEL_HEADERS)","2.6.10")
70 KERNEL_MAJORVERSION:=2
73 LINUX_HEADERS_VERSION:=$(KERNEL_MAJORVERSION).$(KERNEL_PATCHLEVEL).$(KERNEL_SUBLEVEL)$(KERNEL_EXTRAVERSION)
74 LINUX_HEADERS_SITE:=http://ep09.pld-linux.org/~mmazur/linux-libc-headers/
75 LINUX_HEADERS_SOURCE:=linux-libc-headers-2.6.10.0.tar.bz2
76 LINUX_HEADERS_CAT:=$(BZCAT)
77 LINUX_HEADERS_DIR:=$(TOOL_BUILD_DIR)/linux
78 LINUX_HEADERS_UNPACK_DIR:=$(TOOL_BUILD_DIR)/linux-libc-headers-2.6.10.0
81 ifeq ("$(DEFAULT_KERNEL_HEADERS)","2.6.11")
82 KERNEL_MAJORVERSION:=2
85 LINUX_HEADERS_VERSION:=$(KERNEL_MAJORVERSION).$(KERNEL_PATCHLEVEL).$(KERNEL_SUBLEVEL)$(KERNEL_EXTRAVERSION)
86 LINUX_HEADERS_SITE:=http://ep09.pld-linux.org/~mmazur/linux-libc-headers/
87 LINUX_HEADERS_SOURCE:=linux-libc-headers-2.6.11.0.tar.bz2
88 LINUX_HEADERS_CAT:=$(BZCAT)
89 LINUX_HEADERS_DIR:=$(TOOL_BUILD_DIR)/linux
90 LINUX_HEADERS_UNPACK_DIR:=$(TOOL_BUILD_DIR)/linux-libc-headers-2.6.11.0
93 ifeq ("$(DEFAULT_KERNEL_HEADERS)","2.6.12")
94 KERNEL_MAJORVERSION:=2
97 LINUX_HEADERS_VERSION:=$(KERNEL_MAJORVERSION).$(KERNEL_PATCHLEVEL).$(KERNEL_SUBLEVEL)$(KERNEL_EXTRAVERSION)
98 LINUX_HEADERS_SITE:=http://ep09.pld-linux.org/~mmazur/linux-libc-headers/
99 LINUX_HEADERS_SOURCE:=linux-libc-headers-2.6.12.0.tar.bz2
100 LINUX_HEADERS_CAT:=$(BZCAT)
101 LINUX_HEADERS_DIR:=$(TOOL_BUILD_DIR)/linux
102 LINUX_HEADERS_UNPACK_DIR:=$(TOOL_BUILD_DIR)/linux-libc-headers-2.6.12.0
106 # the old sanitized kernel-headers
107 ifeq ($(LINUX_HEADERS_IS_KERNEL),n)
109 $(LINUX_HEADERS_UNPACK_DIR)/.unpacked: $(DL_DIR)/$(LINUX_HEADERS_SOURCE)
110 @echo "Using old sanitized kernel-headers"
111 rm -rf $(LINUX_HEADERS_DIR)
112 $(LINUX_HEADERS_CAT) $(DL_DIR)/$(LINUX_HEADERS_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
113 ifneq ($(LINUX_HEADERS_UNPACK_DIR),$(LINUX_HEADERS_DIR))
114 ln -fs $(LINUX_HEADERS_UNPACK_DIR) $(LINUX_HEADERS_DIR)
116 touch $(LINUX_HEADERS_UNPACK_DIR)/.unpacked
118 $(LINUX_HEADERS_DIR)/.patched: $(LINUX_HEADERS_UNPACK_DIR)/.unpacked
119 toolchain/patch-kernel.sh $(LINUX_HEADERS_DIR) toolchain/kernel-headers \
120 linux-libc-headers-$(LINUX_HEADERS_VERSION)\*.patch
121 ifeq ($(strip $(ARCH)),nios2)
122 toolchain/patch-kernel.sh $(LINUX_HEADERS_DIR) toolchain/kernel-headers \
123 linux-libc-headers-$(LINUX_HEADERS_VERSION)-nios2nommu.patch.conditional
125 touch $(LINUX_HEADERS_DIR)/.patched
127 $(LINUX_HEADERS_DIR)/.configured: $(LINUX_HEADERS_DIR)/.patched
128 rm -f $(LINUX_HEADERS_DIR)/include/asm
129 @if [ ! -f $(LINUX_HEADERS_DIR)/Makefile ] ; then \
130 /bin/echo -e "VERSION = $(KERNEL_MAJORVERSION)\nPATCHLEVEL = $(KERNEL_PATCHLEVEL)\n" > \
131 $(LINUX_HEADERS_DIR)/Makefile; \
132 /bin/echo -e "SUBLEVEL = $(KERNEL_SUBLEVEL)\nEXTRAVERSION =\n" >> \
133 $(LINUX_HEADERS_DIR)/Makefile; \
134 /bin/echo -e "KERNELRELEASE=\$$(VERSION).\$$(PATCHLEVEL).\$$(SUBLEVEL)\$$(EXTRAVERSION)" >> \
135 $(LINUX_HEADERS_DIR)/Makefile; \
137 @if [ "$(ARCH)" = "powerpc" ];then \
138 (cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-ppc$(NOMMU) asm;) \
139 elif [ "$(ARCH)" = "mips" ];then \
140 (cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-mips$(NOMMU) asm;) \
141 elif [ "$(ARCH)" = "mipsel" ];then \
142 (cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-mips$(NOMMU) asm;) \
143 elif [ "$(ARCH)" = "nios2" ];then \
144 (cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-nios2nommu asm;) \
145 elif [ "$(ARCH)" = "arm" ];then \
146 (cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-arm$(NOMMU) asm; \
148 if [ ! -L proc ] ; then \
149 ln -fs proc-armv proc; \
150 ln -fs arch-ebsa285 arch; fi); \
151 elif [ "$(ARCH)" = "armeb" ];then \
152 (cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-arm$(NOMMU) asm; \
154 if [ ! -L proc ] ; then \
155 ln -fs proc-armv proc; \
156 ln -fs arch-ebsa285 arch; fi); \
157 elif [ "$(ARCH)" = "cris" ];then \
158 (cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-cris asm;) \
159 elif [ "$(ARCH)" = "sh3" ];then \
160 (cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-sh asm; \
163 elif [ "$(ARCH)" = "sh3eb" ];then \
164 (cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-sh asm; \
167 elif [ "$(ARCH)" = "sh4" ];then \
168 (cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-sh asm; \
171 elif [ "$(ARCH)" = "sh4eb" ];then \
172 (cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-sh asm; \
175 elif [ "$(ARCH)" = "i386" -o "$(ARCH)" = "i486" -o "$(ARCH)" = "i586" -o "$(ARCH)" = "i686" ];then \
176 (cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-i386$(NOMMU) asm;) \
178 (cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-$(ARCH)$(NOMMU) asm;) \
180 touch $(LINUX_HEADERS_DIR)/include/linux/autoconf.h
181 touch $(LINUX_HEADERS_DIR)/.configured