blob: a567019c40abe45066b33f63f3877bf0c15b9aed (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
#############################################################
#
# 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...
#
#############################################################
ifneq ($(filter $(TARGETS),kernel-headers),)
DEFAULT_KERNEL_HEADERS:=$(strip $(DEFAULT_KERNEL_HEADERS))
LINUX_HEADERS_SITE:=127.0.0.1
LINUX_HEADERS_SOURCE:=unspecified-kernel-headers
ifeq ("$(strip $(DEFAULT_KERNEL_HEADERS))","2.4.25")
VERSION:=2
PATCHLEVEL:=4
SUBLEVEL:=25
LINUX_HEADERS_SITE:=http://www.uclibc.org/downloads/toolchain
LINUX_HEADERS_SOURCE:=linux-libc-headers-2.4.25.tar.bz2
LINUX_HEADERS_UNPACK_DIR:=$(TOOL_BUILD_DIR)/linux-libc-headers-2.4.25
endif
ifeq ("$(strip $(DEFAULT_KERNEL_HEADERS))","2.4.27")
VERSION:=2
PATCHLEVEL:=4
SUBLEVEL:=25
LINUX_HEADERS_SITE:=http://www.uclibc.org/downloads/toolchain
LINUX_HEADERS_SOURCE:=linux-libc-headers-2.4.27.tar.bz2
LINUX_HEADERS_UNPACK_DIR:=$(TOOL_BUILD_DIR)/linux-libc-headers-2.4.27
endif
ifeq ("$(strip $(DEFAULT_KERNEL_HEADERS))","2.6.7")
VERSION:=2
PATCHLEVEL:=6
SUBLEVEL:=7
LINUX_HEADERS_SITE:=http://ep09.pld-linux.org/~mmazur/linux-libc-headers/
LINUX_HEADERS_SOURCE:=linux-libc-headers-2.6.7.0.tar.bz2
LINUX_HEADERS_UNPACK_DIR:=$(TOOL_BUILD_DIR)/linux-libc-headers-2.6.7.0
endif
ifeq ("$(strip $(DEFAULT_KERNEL_HEADERS))","2.6.8")
VERSION:=2
PATCHLEVEL:=6
SUBLEVEL:=8
LINUX_HEADERS_SITE:=http://ep09.pld-linux.org/~mmazur/linux-libc-headers/
LINUX_HEADERS_SOURCE:=linux-libc-headers-2.6.8.1.tar.bz2
LINUX_HEADERS_UNPACK_DIR:=$(TOOL_BUILD_DIR)/linux-libc-headers-2.6.8.1
endif
ifeq ("$(strip $(DEFAULT_KERNEL_HEADERS))","2.6.9")
VERSION:=2
PATCHLEVEL:=6
SUBLEVEL:=8
LINUX_HEADERS_SITE:=http://ep09.pld-linux.org/~mmazur/linux-libc-headers/
LINUX_HEADERS_SOURCE:=linux-libc-headers-2.6.9.1.tar.bz2
LINUX_HEADERS_UNPACK_DIR:=$(TOOL_BUILD_DIR)/linux-libc-headers-2.6.9.1
endif
LINUX_VERSION:=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)
LINUX_HEADERS_DIR:=$(TOOL_BUILD_DIR)/linux
$(DL_DIR)/$(LINUX_HEADERS_SOURCE):
mkdir -p $(DL_DIR)
$(WGET) -P $(DL_DIR) $(LINUX_HEADERS_SITE)/$(LINUX_HEADERS_SOURCE)
$(LINUX_HEADERS_DIR)/.unpacked: $(DL_DIR)/$(LINUX_HEADERS_SOURCE)
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
$(LINUX_HEADERS_DIR)/.patched: $(LINUX_HEADERS_DIR)/.unpacked
toolchain/patch-kernel.sh $(LINUX_HEADERS_DIR) toolchain/kernel-headers linux-libc-headers-$(LINUX_VERSION)-\*.patch
touch $(LINUX_HEADERS_DIR)/.patched
$(LINUX_HEADERS_DIR)/.configured: $(LINUX_HEADERS_DIR)/.patched
rm -f $(LINUX_HEADERS_DIR)/include/asm
@if [ ! -f $(LINUX_HEADERS_DIR)/Makefile ] ; then \
echo -e "VERSION = $(VERSION)\nPATCHLEVEL = $(PATCHLEVEL)\n" > \
$(LINUX_HEADERS_DIR)/Makefile; \
echo -e "SUBLEVEL = $(SUBLEVEL)\nEXTRAVERSION =\n" >> \
$(LINUX_HEADERS_DIR)/Makefile; \
echo -e "KERNELRELEASE=\$$(VERSION).\$$(PATCHLEVEL).\$$(SUBLEVEL)\$$(EXTRAVERSION)" >> \
$(LINUX_HEADERS_DIR)/Makefile; \
fi;
@if [ "$(ARCH)" = "powerpc" ];then \
(cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-ppc$(NOMMU) asm;) \
elif [ "$(ARCH)" = "mips" ];then \
(cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-mips$(NOMMU) asm;) \
elif [ "$(ARCH)" = "mipsel" ];then \
(cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-mips$(NOMMU) asm;) \
elif [ "$(ARCH)" = "arm" ];then \
(cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-arm$(NOMMU) asm; \
cd asm; \
if [ ! -L proc ] ; then \
ln -fs proc-armv proc; \
ln -fs arch-ebsa285 arch; fi); \
elif [ "$(ARCH)" = "armeb" ];then \
(cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-arm$(NOMMU) asm; \
cd asm; \
if [ ! -L proc ] ; then \
ln -fs proc-armv proc; \
ln -fs arch-ebsa285 arch; fi); \
elif [ "$(ARCH)" = "cris" ];then \
(cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-cris asm;) \
elif [ "$(ARCH)" = "sh4" ];then \
(cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-sh asm; \
cd asm; \
ln -s cpu-sh4 cpu) \
else \
(cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-$(ARCH)$(NOMMU) asm;) \
fi
touch $(LINUX_HEADERS_DIR)/include/linux/autoconf.h;
touch $(LINUX_HEADERS_DIR)/.configured
$(LINUX_KERNEL): $(LINUX_HEADERS_DIR)/.configured
kernel-headers: $(LINUX_HEADERS_DIR)/.configured
kernel-headers-source: $(DL_DIR)/$(LINUX_HEADERS_SOURCE)
kernel-headers-clean: clean
rm -f $(LINUX_KERNEL)
rm -rf $(LINUX_HEADERS_DIR)
kernel-headers-dirclean:
rm -rf $(LINUX_HEADERS_DIR)
endif
|