#!/usr/bin/make -f
#
# debian/rules for Ubuntu linux-source 
#
# Use this however you want, just give credit where credit is due.
#
# Copyright (c) 2007 Ben Collins <bcollins@ubuntu.com>
#
# Example build for a specific arch:
#	fakeroot debian/rules binary-arch arch=i386 flavours="generic"
#

# dpkg-buildpackage passes options that are incomptatible
# with the kernel build.
unexport CFLAGS
unexport LDFLAGS

# This is the debhelper compatability version to use.
export DH_COMPAT=4
export LC_ALL=C
export SHELL=/bin/bash -e

# Common variables for all architectures
include debian/rules.d/0-common-vars.mk

# Pill in some arch specific stuff
include debian/rules.d/$(arch).mk

# Maintainer targets
include debian/rules.d/1-maintainer.mk

# Builds the image, arch headers and debug packages
include debian/rules.d/2-binary-arch.mk

# Builds indep packages (e.g. firmware)
include debian/rules.d/3-binary-indep.mk

# Udeb stuff
include debian/rules.d/4-udebs.mk

# Debian Build System targets
binary: binary-indep binary-arch

build: build-arch build-indep


clean: debian/control.stub
	dh_testdir
	dh_testroot
	dh_clean

	rm -rf $(udebdir)
	rm -rf $(builddir)
	rm -f $(stampdir)/stamp-*
	rm -rf debian/*-di
	$(MAKE) -C kconfig clean

	# This gets rid of the d-i packages in control
	cp -f debian/control.stub debian/control

# Misc stuff
debian/control.stub: debian/d-i/kernel-versions.in	\
		debian/scripts/control-create		\
		debian/control.stub.in			\
		debian/changelog			\
		$(wildcard debian/control.d/*)
	for i in debian/d-i/kernel-versions.in debian/control.stub.in; do	\
	  new=`echo $$i | sed 's/\.in$$//'`;					\
	  cat $$i | sed -e 's/PKGVER/$(release)/g' -e 's/ABINUM/$(abinum)/g' > \
		$$new;								\
	done
	$(SHELL) debian/scripts/control-head $@ $(release)-$(abinum) > $@.tmp
	flavours="$(wildcard debian/control.d/vars.*)";				\
	for i in $$flavours; do							\
	  $(SHELL) debian/scripts/control-create $$i |				\
		sed -e 's/PKGVER/$(release)/g' -e 's/ABINUM/$(abinum)/g' >>	\
		$@.tmp;						\
	done
	rm -f $@
	mv $@.tmp $@
	cp $@ debian/control

.PHONY: debian/control
debian/control: debian/control.stub
	rm -rf $(udebdir)
	install -d $(udebdir)/firmware/$(arch)
	install -d $(udebdir)/modules/$(arch)
	test ! -d debian/d-i/modules || cp debian/d-i/modules/* $(udebdir)/modules/$(arch)/
	test ! -d debian/d-i/firmware || cp debian/d-i/firmware/* $(udebdir)/firmware/$(arch)/
	cp debian/d-i/package-list debian/d-i/kernel-versions \
		$(udebdir)/
	ln -s .. $(udebdir)/debian

	(cd $(udebdir); kernel-wedge gen-control) > $@

kconfig/kconfig:
	$(MAKE) -C kconfig kconfig
