#!/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