4 p_ini
= lib
$(p_bin
)-initial
5 p_dev
= lib
$(p_bin
)-dev
6 p_mul
= lib
$(p_bin
)-multiarch
7 p_doc
= lib
$(p_bin
)-doc
8 p_src
= $(p_bin
)-source
12 d_ini
= debian
/$(p_ini
)
13 d_dev
= debian
/$(p_dev
)
14 d_mul
= debian
/$(p_mul
)
15 d_doc
= debian
/$(p_doc
)
16 d_src
= debian
/$(p_src
)
18 # Uncomment this to turn on verbose mode.
23 ifneq (,$(findstring noopt
,$(DEB_BUILD_OPTIONS
)))
29 DEB_BUILD_ARCH ?
= $(shell dpkg-architecture
-qDEB_BUILD_ARCH
)
30 DEB_HOST_ARCH ?
= $(shell dpkg-architecture
-qDEB_HOST_ARCH
)
31 DEB_HOST_GNU_TYPE ?
= $(shell dpkg-architecture
-qDEB_HOST_GNU_TYPE
)
33 UCLIBC_HOST_GNU_TYPE ?
= $(TARGET
)
35 ifneq ($(DEB_HOST_ARCH
),$(DEB_BUILD_ARCH
))
36 CROSS
= $(DEB_HOST_GNU_TYPE
)-
41 ifeq ($(DEB_HOST_ARCH
),mipsel
)
44 ifeq ($(DEB_HOST_ARCH
),amd64
)
47 ifeq ($(DEB_HOST_ARCH
),armel
)
50 KERNEL_ARCH
= $(DEB_HOST_ARCH
)
58 UCLIBC_VERSION
:= 0.9.30
59 KERNEL_VERSION
:= $(shell sed
-ne
'/^Build-Depends: /s/.*linux-source-\([0-9\.]*\),*.*/\1/p' debian
/control
)
60 #KERNEL_SOURCE := $(shell pwd)/kernel/linux-source-$(KERNEL_VERSION)
61 KERNEL_SOURCE
:= $(pwd
)/linux-source
/linux-
$(KERNEL_VERSION
)
62 k_dev
= debian
/kernel-libc-dev
64 ifeq ($(KERNEL_VERSION
),)
65 $(error Could not determine kernel version
)
68 DEVEL_PREFIX
= /usr
/$(UCLIBC_HOST_GNU_TYPE
)
69 source_files
= $(addprefix $(shell basename $(pwd
))/, \
70 $(filter-out %-stamp .svn linux-source debian builddir-
% test-summary
, $(wildcard *)))
72 STAMPS
:= unpack-kernel uclibc-source configured install_headers \
73 install_runtime install_dev
74 STAMP
= touch
$@
-stamp
76 $(patsubst %,%-stamp
,$(STAMPS
)): %-stamp
: %
78 /usr
/src
/linux-source-
$(KERNEL_VERSION
).
tar.bz2
:
79 wget
-O
$@ http
://www.kernel.org
/pub
/linux
/kernel
/v2.6
/linux-
$(KERNEL_VERSION
).
tar.bz2
81 unpack-kernel
: /usr
/src
/linux-source-
$(KERNEL_VERSION
).
tar.bz2
83 $(RM
) -r
$(pwd
)/linux-source
$(pwd
)/$(k_dev
)
84 mkdir
$(pwd
)/linux-source
85 cd
$(pwd
)/linux-source
&& tar -xjf
/usr
/src
/linux-source-
$(KERNEL_VERSION
).
tar.bz2
86 $(MAKE
) -C
$(KERNEL_SOURCE
) ARCH
=$(KERNEL_ARCH
) HOSTCC
=$(HOSTCC
) \
88 $(MAKE
) -C
$(KERNEL_SOURCE
) ARCH
=$(KERNEL_ARCH
) HOSTCC
=$(HOSTCC
) \
89 INSTALL_HDR_PATH
=$(pwd
)/$(k_dev
) headers_install
94 install -d
$(pwd
)/$(d_src
)/DEBIAN
$(pwd
)/$(d_src
)/usr
/src
/uClibc
95 tar -cj
-C ..
--exclude
=.svn \
96 -f
$(pwd
)/$(d_src
)/usr
/src
/uClibc
/uclibc-
$(UCLIBC_VERSION
).
tar.bz2 \
98 dh_gencontrol
-- -isp
-P
$(d_src
) -p
$(p_src
)
100 chmod
-R go
=rX
$(d_src
)
106 configured
: unpack-kernel-stamp uclibc-source-stamp
108 cat debian
/config-
$(DEB_HOST_ARCH
) debian
/config-common | \
109 sed
-e
's@\(KERNEL_HEADERS *= *\).*@\1"$(pwd)/$(k_dev)"@' \
110 -e
's@\(DEVEL_PREFIX *= *\).*@\1"$(DEVEL_PREFIX)"@' \
111 -e
's@\(CROSS_COMPILER_PREFIX *= *\).*@\1"$(CROSS)"@' \
113 $(MAKE
) HOSTCC
="$(HOSTCC)" oldconfig
116 install_headers
: unpack-kernel-stamp configured-stamp
119 $(MAKE
) HOSTCC
="$(HOSTCC)" oldconfig
120 $(MAKE
) HOSTCC
="$(HOSTCC)" \
121 PREFIX
=$(pwd
)/$(d_dev
) \
125 install_runtime
: unpack-kernel-stamp configured-stamp
127 $(MAKE
) HOSTCC
="$(HOSTCC)" $@
130 install_dev
: unpack-kernel-stamp configured-stamp
132 $(MAKE
) HOSTCC
="$(HOSTCC)" $@
135 build
: unpack-kernel-stamp configured-stamp
137 #XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
138 ##$(MAKE) CROSS="$(CROSS)" CC="$(CC)" headers
139 ##cd extra/locale && find charmaps -name "*.pairs" >codesets.txt
140 ##$(MAKE) -C extra/locale
141 $(MAKE
) CROSS
="$(CROSS)" CC
="$(CC)"
146 $(RM
) configured-stamp unpack-kernel-stamp install_headers-stamp \
148 install_runtime-stamp install_hostutils-stamp
150 $(RM
) debian
/uclibc-dev.files debian
/ldconfig
.1 debian
/uclibc.shlibs \
151 debian
/ldd
.1 debian
/uclibc.postinst debian
/uclibc.files \
152 debian
/uclibc-dev.prerm debian
/uclibc.prerm debian
/dirs \
153 debian
/docs debian
/uclibc-dev.postinst
158 #XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
162 $(MAKE
) PREFIX
=$(pwd
)/debian
/tmp
install
163 $(RM
) debian
/tmp
/lib
/libnsl
* debian
/tmp
/usr
/lib
/libnsl.so
164 dh_install
--fail-missing
167 # Build architecture-independent files here. (for the stage compiler)
168 binary-indep
: install_headers-stamp
170 dh_gencontrol
-- -isp
-P
$(d_ini
) -p
$(p_ini
)
174 # Build architecture-dependent runtime files here. (dynamic)
175 binary-runtime
: install_runtime-stamp
178 dh_installchangelogs Changelog
184 # dh_installlogrotate
195 dh_fixperms
-Xld-uClibc
200 dh_shlibdeps
-Luclibc
$(UCLIBC_VERSION
) -Xlibc-uClibc-
$(UCLIBC_VERSION
).so
-Xld-uClibc-
$(UCLIBC_VERSION
).so
201 dh_gencontrol
-- -isp
-P
$(d_bin
) -p
$(p_bin
)
205 # Build architecture-dependent development files here (archives).
206 binary-devel
: install_dev-stamp
209 dh_installchangelogs Changelog
215 # dh_installlogrotate
226 dh_fixperms
-Xld-uClibc
231 dh_shlibdeps
-Luclibc
$(UCLIBC_VERSION
) -Xlibc-uClibc-
$(UCLIBC_VERSION
).so
-Xld-uClibc-
$(UCLIBC_VERSION
).so
232 dh_gencontrol
-- -isp
-P
$(d_dev
) -p
$(p_dev
)
236 runtime
: binary-runtime
238 .PHONY
: clean binary-indep binary-runtime binary-devel