#
# Makefile for s390 kernel patch package
#
# (C) 2001, 2002 by Jochen Rhrig (jr@debian.org)
#

KERNEL_VERSION=2.4.17

export CP    = /bin/cp
export DIFF  = /usr/bin/diff -uN 
export GUNZIP= /bin/gunzip
export MKDIR = /bin/mkdir
export MV    = /bin/mv
export PATCH = /usr/bin/patch --no-backup-if-mismatch
export TAR   = /bin/tar
export TOUCH = /usr/bin/touch

# for variables 'tarred_patches' & 'zipped_patches' the patch order
# doesn't matter:

tarred_patches=linux-$(KERNEL_VERSION)-s390       \
               linux-$(KERNEL_VERSION)-s390-1-lcs \
               linux-$(KERNEL_VERSION)-s390-2     \
               linux-$(KERNEL_VERSION)-s390-3     \
               linux-$(KERNEL_VERSION)-s390-4-iucv

zipped_patches=linux-s390_ksyms linux-ramdisk linux-cpint linux-cmsfs

extra_patches=linux-2.4.17-s390-ptrace

# for variable 'patches' the patch order must correspond to the order
# in which the patches have to be applied:

patches=$(tarred_patches) $(zipped_patches)

patch_patchfile=patches.diff
kernel_source=kernel-source-$(KERNEL_VERSION)
kernel_source_tar=/usr/src/$(kernel_source).tar.bz2

kernel_patch=linux-$(KERNEL_VERSION)-s390.debian.diff

default: build

build: mk_patch_done
	@echo "Extracting kernel source ..."
	$(TAR) -xjf $(kernel_source_tar)
#	$(RM) $(kernel_source)/include/asm
	$(MKDIR) $(kernel_source).orig
	@echo "Copying kernel source ..."
	$(CP) -a $(kernel_source)/* $(kernel_source).orig/
	set -e ; cd $(kernel_source);			\
	for patch in $(patches) $(extra_patches); do		\
	  echo "Applying patch $$patch ...";	\
	  $(PATCH) -p1 < ../$$patch.diff;	\
	done;					\
	cd ..
	@echo "Generating new patch ..."
	-$(DIFF) -r $(kernel_source).orig $(kernel_source) > $(kernel_patch)

install: all

mk_patch_done: mk_extract_done
	$(PATCH) -p2 < ./$(patch_patchfile) && $(TOUCH) $@

mk_extract_done:
	for patch in $(tarred_patches); do		\
	  $(TAR) -xvpzf $$patch.tar.gz;		        \
	done
	for patch in $(zipped_patches); do		\
	  $(GUNZIP) -c $$patch.diff.gz > $$patch.diff;  \
	done
	$(TOUCH) $@

clean:
	$(RM) -r $(kernel_source).orig $(kernel_source) $(kernel_patch)
	$(RM) LICENSE mk_extract_done mk_patch_done
	for patch in $(patches); do		\
	  $(RM) $$patch.diff $$patch.readme;	\
	done
