File: rules

package info (click to toggle)
kernel-image-2.6.8-alpha 2.6.8-17sarge1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 188 kB
  • ctags: 16
  • sloc: sh: 88; makefile: 84
file content (118 lines) | stat: -rwxr-xr-x 3,039 bytes parent folder | download
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
#!/usr/bin/make -f
#
# debian/rules for kernel-image-*
#
# GNU copyright 1997 to 1999 by Joey Hess.
# Copyright (c) 1999-2002 Herbert Xu <herbert@debian.org>
#
# $Id: rules,v 1.8 2004/04/27 11:42:48 herbert Exp $

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

# This is the debhelper compatability version to use.
export DH_COMPAT=2

SHELL := sh -e

khsed := s/^Package: kernel-headers-\(.*\)\(-[[:digit:]]*\)$$/\1 \2/
debver := $(shell sed -n '$(khsed); t e; b; :e; p; q' debian/control)
export version := $(firstword $(debver))
export debnum := $(word 2,$(debver))
debver := $(version)$(debnum)
appvan :=

ifneq ($(debnum),)
appvan := --append_to_version $(debnum)
endif

flavours := $(shell \
	find config -maxdepth 1 -type f ! -name default -printf '%f\n' \
)

ktver := $(shell \
	sed -n 's/.*kernel-tree-\([^,]*\).*/\1/p; t e; b; :e q' \
		debian/control \
)

kbsed := s/^Depends: .*\(kernel-kbuild-[^ ,]*\).*/\1/p
kbpkg := $(shell sed -n '$(kbsed); t e; b; :e q' debian/control)

export DEBIAN_SRCTOP := $(CURDIR)/kernel-source-$(version)
export DEBIAN_UPSTREAM_VERSION := $(version)

unpack: unpack-stamp
unpack-stamp:
	dh_testdir
	tar jxf /usr/src/kernel-source-$(version).tar.bz2
	cd kernel-source-$(version); \
		/usr/src/kernel-patches/all/$(version)/apply/debian $(ktver)
	mkdir -p kernel-source-$(version)/debian
	cp debian/changelog kernel-source-$(version)/debian
	cp debian/control kernel-source-$(version)/debian
	cp debian/copyright kernel-source-$(version)/debian
	> kernel-source-$(version)/debian/official
	install post-install kernel-source-$(version)/debian
	for i in $(flavours); do \
		cp -al kernel-source-$(version) build-$$i; \
		cp config/$$i build-$$i/.config; \
	done
	cp config/default kernel-source-$(version)/.config
	ln -s `command -v touch` bin/touch.orig
	sed 's/@kbpkg@/$(kbpkg)/g' header-install > header-install.out
	chmod u+x header-install.out

	touch unpack-stamp

build: build-stamp
build-stamp: unpack-stamp
	dh_testdir
	PATH=$$PWD/bin:$$PATH; \
	for i in $(flavours); do \
		cd build-$$i; \
		make-kpkg --append_to_version $(debnum)-$$i build; \
		cd ..; \
	done

	touch build-stamp

debnum:
	@echo $(debnum)

clean:
	dh_testdir
	rm -f unpack-stamp build-stamp
	rm -rf kernel-source-$(version) build-* install-*
	rm -f bin/touch.orig
	dh_clean

install: build
	dh_testdir
	dh_clean -k
	dh_installdirs

# Build architecture-independent files here.
binary-indep:

# Build architecture-dependent files here.
binary-arch: install
	dh_testdir

	cd kernel-source-$(version); \
		 HEADER_CLEAN_HOOK=$(CURDIR)/header-install.out \
			 make-kpkg $(appvan) kernel-headers
	mv kernel-source-$(version)/debian/files debian

	for i in $(flavours); do \
		cp -al build-$$i install-$$i; \
		cd install-$$i; \
		make-kpkg --append_to_version $(debnum)-$$i \
			--initrd kernel-image; \
		cd ..; \
		cat install-$$i/debian/files >> debian/files; \
		rm -rf install-$$i; \
	done
	mv *.deb ..

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install unpack