summaryrefslogtreecommitdiff
path: root/packages/linux/linux-ezx-2.6.21/patches/Makefile.OpenEZX
blob: 7e7e0f289811515f262a7e5cbcb99a7ca795447d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# Makefile used to build binary images of OpenEZX kernels
#
# If you are currently in the linux kernel toplevel dir,
# you can call this Makefile with:
#   $ make -f path_to/Makefile.OpenEZX
#
# Note that you can set the CROSS_COMPILE and QUILT_PATCHES variable
# in your environment.
#

PHONES = a780 e680 a1200 e2 e6

CROSS_COMPILE ?= /home/wyrm/ezx/dev/cross/bin/arm-angstrom-linux-gnueabi-
QUILT_PATCHES ?= patches

DATE = $(shell date +%Y%m%d)

all: $(foreach p, $(PHONES), zImage-$(p) modules-$(p).tar.gz)

zImages: $(foreach p, $(PHONES), zImage-$(p))

modules: $(foreach p, $(PHONES), modules-$(p).tar.gz)

release: $(foreach p, $(PHONES), tag-$(p))
	cat md5sums.tmp | gpg --clearsign > md5sums
	tar -rf ezxrelease.tar md5sums
	rm -f md5sums.tmp md5sums
	mv ezxrelease.tar ezxrelease-$(DATE).tar

tag-%: zImage-% modules-%.tar.gz
	p=$(patsubst tag-%,%,$@) && \
	tag=$(shell cat include/config/kernel.release)-$(DATE) && \
	cp zImage-$$p zImage-$$tag-$$p && \
	cp modules-$$p.tar.gz modules-$$tag-$$p.tar.gz && \
	tar -rf ezxrelease.tar zImage-$$tag-$$p modules-$$tag-$$p.tar.gz && \
	md5sum zImage-$$tag-$$p modules-$$tag-$$p.tar.gz >> md5sums.tmp && \
	rm -f zImage-$$tag-$$p modules-$$tag-$$p.tar.gz

zImage-%: $(QUILT_PATCHES)/defconfig-%
	cp $< ./.config
	make ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) zImage
	mv arch/arm/boot/zImage $@

modules-%.tar.gz: $(QUILT_PATCHES)/defconfig-%
	cp $< ./.config
	-find . -name "*.ko" -print0 | xargs -r0 rm
	mkdir /tmp/$@
	make ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) \
		INSTALL_MOD_PATH=/tmp/$@ modules modules_install
	tar -C /tmp/$@ -czf $@ .
	rm -rf /tmp/$@