linux/debian/rules

120 lines
3.5 KiB
Plaintext
Raw Normal View History

#!/usr/bin/make -f
#
# Required variables
#
version := 2.6.11
abiname := 1
ltver := 5
#
# Generally nothing needs to be modified below this line
#
SHELL := sh -e
controls := $(wildcard debian/arch/*/control.in debian/arch/*/*/control.in)
karch := $(shell dpkg-architecture -qDEB_HOST_ARCH)
major := $(basename $(version))
srcver := $(shell dpkg-parsechangelog | awk '/^Version:/ {print $$2}')
release := $(version)-$(ltver)
#
# Construct depends and provides for the linux-tree
#
lt_depends += $(shell seq -f 'linux-source-$(version) (= $(version)-%g)' \
-s ' | ' 1 $(ltver))
lt_provides := $(shell seq -f 'linux-tree-$(version)-%g' -s ', ' 1 $(ltver))
#
# If we are not passed a subarchs variable, we obtain the complete
# subarch list as a list of subdirectories in arch/$(karch). We
# also export the flavours variables, which allows to control which
# flavours are built.
#
ifndef subarchs
subarchs := $(shell find debian/arch/$(karch) \
-type d -mindepth 1 -maxdepth 1 \
! -name '.svn' ! -name 'patches' \
-printf '%f\n')
endif
ifeq (,$(subarchs))
subarchs := none
endif
export version abiname ltver kbuildver flavours
patch: debian/patch-stamp
debian/patch-stamp: debian/bin/apply
override_version=$(release) home=debian/patches debian/bin/apply
touch debian/patch-stamp
unpatch:
if [ -e debian/patch-stamp ]; then \
override_version=$(release) home=debian/patches \
debian/bin/apply $(version); \
rm -f debian/patch-stamp; \
fi
unpack: debian/linux-source-$(version).tar.bz2 unpack-stamp
unpack-stamp:
dh_testdir
for i in $(subarchs); do \
cd debian; \
$(MAKE) -f Makefile.subarch subarch=$${i} unpack; \
done
ln -s $$(command -v touch) debian/bin/touch.orig
touch unpack-stamp
build: build-stamp
build-stamp: unpack-stamp
dh_testdir
for i in $(subarchs); do \
cd debian; \
$(MAKE) -f Makefile.subarch subarch=$${i} build; \
done
touch build-stamp
clean:
dh_testdir
cd debian; \
rm -f *-stamp-* *-stamp config.*; \
rm -f header-install-* post-install-* bin/touch.orig; \
rm -rf kernel-source-* build-* install-*
dh_clean
binary-indep: build
binary-arch: build
dh_testdir
for i in $(subarchs); do \
cd debian; \
$(MAKE) -f Makefile.subarch subarch=$${i} binary; \
done
binary: binary-indep binary-arch
#
# Makes the master debian/control file by substituting
# variable values into the template.
#
debian/control: debian/templates/control.main.in
cat debian/templates/control.main.in | \
sed -e 's/@version@/$(version)/g' \
-e 's/@major@/$(major)/g' \
-e 's/@ltver@/$(ltver)/g' \
-e 's/@srcver@/$(srcver)/g' \
-e 's/@lt_depends@/$(lt_depends)/g' \
-e 's/@lt_provides@/$(lt_provides)/g' \
-e 's/@abiname@/$(abiname)/g' | \
sed '/^[[:space:]]*$$/d' | \
sed 's/^Package:/\n&/g' > debian/control
#
# If we ended up here, either we need to perform the linux-source
# build, or use the existing linux-source to unpack the kernels.
# This can be controlled by the use_existing_source variable.
#
debian/linux-source-$(version).tar.bz2: debian/Makefile.source
dh_testdir
if [ '$(use_existing_source)' = 'yes' ]; then \
ln -s /usr/src/linux-source-$(version).tar.bz2 \
debian/linux-source-$(version).tar.bz2; \
else \
$(MAKE) -f debian/Makefile.source binary; \
fi
.PHONY: clean build unpack binary-indep binary-arch binary patch unpatch