#!/usr/bin/make -f
#
# debian/rules for kernel-image-*-sparc
#
# GNU copyright 1997 to 1999 by Joey Hess.
# Copyright (c) 1999 Herbert Xu <herbert@debian.org>
# Copyright (c) 2000 Ben Collins <bcollins@debian.org>
#

KPKG_MAINTAINER	:= "Ben Collins"
KPKG_EMAIL	:= "bcollins@debian.org"
VERSION		:= 2.2.25
kdir		:= kernel-source-$(VERSION)
debver		:= $(shell dpkg-parsechangelog | awk -F' ' '/^Version:/ {print $$2}')
SHELL		:= /bin/bash -e
do_clean	:= no
DEFAULT_ARCH	:= sun4cdm
SUBARCH		:= $(DEFAULT_ARCH)

export KPKG_MAINTAINER KPKG_EMAIL do_clean 

all_subarches	:= $(foreach subarch,$(shell ls config),stamps/build-$(subarch)-stamp)

ifneq (root,$(shell whoami))
ROOTCMD		:= fakeroot
endif

stamps/addon-stamp: stamps/unpack-stamp
	@for addon in addons/*; do \
		tarflags=""; \
		case "$$addon" in \
			*.tar.bz2) tarflags="--bzip2 -xf" ;; \
			*.tar.gz) tarflags="-zxf" ;; \
			*) continue ;; \
		esac; \
		echo "tar $$tarflags $$addon -C $(kdir)" ;\
		tar $$tarflags $$addon -C $(kdir) ;\
	done
	touch $@
			
stamps/unpack-stamp:
	dh_testdir
	tar --bzip2 -xf /usr/src/kernel-source-$(VERSION).tar.bz2
	touch $@

stamps/patch-stamp: stamps/addon-stamp stamps/unpack-stamp
	dh_testdir
	@for patch in patches/*; do \
		echo "patch -d kernel-source-$(VERSION) -p1 < $$patch"; \
		patch -d kernel-source-$(VERSION) -p1 < $$patch; \
	done
	touch $@ 

debian/control: debian/control.in debian/rules
	dh_testdir
	sed -e 's/=V/$(VERSION)/g' debian/control.in > debian/control

stamps/build-%-stamp: config/% stamps/patch-stamp
	dh_testdir
	rm -f $@
	mkdir -p $(kdir)/debian
	cp debian/changelog $(kdir)/debian
	echo official > $(kdir)/debian/official
	cp config/$* $(kdir)/.config
	sparc32 $(ROOTCMD) $(SHELL) -c "( \
		cd $(kdir); \
		make-kpkg clean; \
		make-kpkg --subarch $* --append-to-version '-$*' build; \
		cp ../debian/control debian/control; \
		make-kpkg --subarch $* --append-to-version '-$*' kernel-image; \
		cat debian/files >> ../debian/files; \
	);"
	mv -f kernel-image-$(VERSION)-$*_$(debver)_sparc.deb ../
	touch $@

stamps/kernel-headers-stamp: config/$(DEFAULT_ARCH)
	dh_testdir
	dh_testroot
	sparc32 $(ROOTCMD) $(SHELL) -c "( \
		cd $(kdir); \
		make-kpkg clean; \
		make-kpkg --append-to-version '-sparc' kernel-headers; \
	);"
	mv -f kernel-headers-$(VERSION)-sparc_$(debver)_sparc.deb ../
	touch $@

clean: debian/control
	rm -rf kernel-source-$(VERSION)
	rm -f *.deb stamps/*-stamp debian/files
	dh_clean

binary-indep: build install
# Ye olde no-op.

binary-arch: stamps/kernel-headers-stamp stamps/build-stamp install

install: stamps/install-stamp
stamps/install-stamp: build stamps/patch-stamp debian/control
	touch $@
	
build: debian/control stamps/build-stamp
stamps/build-stamp: stamps/patch-stamp $(all_subarches)
	touch $@

binary: binary-indep binary-arch

.PHONY: build clean binary-indep binary-arch binary install unpack debian/control
