.PHONY: all clean patch clean-merged clean-numbered clean-other # # You can force DIFFVER to a particular value when rebuilding the final patch # against a different base version without redoing everything. Eg: # # make BASEVER=2.4.27 DIFFVER=2.4.28 # automatically filled from CONTENTS BASEVER:= $(shell set -- $$(grep -ih -m 1 "^++.*Based" CONTENTS); echo $$5) KERNVER:= $(shell set -- $$(grep -ih -m 1 "^++.*Kernel" CONTENTS); echo $$4) CSETVER:= $(shell set -- $$(grep -ih -m 1 "^++.*Changeset" CONTENTS); echo $$4) ifeq "$(CSETVER)" "" CSETVER:= $(BASEVER) endif DIFFVER:= $(BASEVER) KERNDIR:= /usr/src/linux-$(BASEVER) export BASEVER DIFFVER KERNVER CSETVET KERNDIR all: patch release: patch web web: patch clean-web mkdir web ( rm -f merged/2.4*-2.4*; \ bzip2 -9 merged/*.diff ; DIR=$${PWD##*/} ;\ mkdir web/$$DIR ; mv merged/* web/$$DIR ; \ chmod ugo+r pool/* BUGS CHANGELOG CONTENTS ; \ cp BUGS CHANGELOG CONTENTS web/$$DIR/ ; \ make clean-other ; \ tar -C .. --exclude=$$DIR/web --exclude=$$DIR/merged \ --exclude=$$DIR/numbered --exclude=$$DIR/kernel \ -c $$DIR \ | bzip2 -c9 >web/$$DIR/$$DIR.tar.bz2 ; \ chmod 755 web/$$DIR ; chmod 644 web/$$DIR/* ; \ mv web/$$DIR web/$${DIR##patches-} 2>/dev/null ; true ) patch: merged/$(DIFFVER)-$(KERNVER).diff merged/$(DIFFVER)-$(KERNVER).diff: kernel/linux-$(DIFFVER)/.copied \ kernel/linux-$(KERNVER)/.patched mkdir -p merged BASEVER=$(DIFFVER) tools/mkpatch kernel/linux-$(KERNVER)/.patched: kernel/linux-$(BASEVER)/.copied numbered tools/patch-copy kernel/linux-%/.copied: numbered BASEVER=$* KERNDIR=$(KERNDIR:$(BASEVER)=$*) tools/make-copy numbered: CONTENTS pool/patch-contents pool/patch-version mkdir -p numbered tools/create-links < $< pool/patch-contents: CONTENTS tools/mkcontents pool/patch-version: CONTENTS tools/mkversion clean: clean-merged clean-kernel clean-numbered clean-other clean-merged: rm -rf merged clean-kernel: rm -rf kernel clean-numbered: rm -rf numbered rm -f pool/patch-contents pool/patch-version clean-other: rm -rf *~ doc/*~ clean-web: rm -rf web distclean: clean clean-web check: @sed -e 's/applying [0-9]\{3\}-/applying /' apply.log >a.log~ @sed -e 's/applying [0-9]\{3\}-/applying /' kernel/patch-*.log >b.log~ @xterm -geometry 160x25 -e sh -c '(diff -y -W 160 {a,b}.log~;rm -f {a,b}.log~) | sed -ne "1~2s/$$//p;2~2s/$$//p" | less -r' &