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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
# 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 e6 e2
CROSS_COMPILE ?= /home/wyrm/ezx/dev/cross/bin/arm-angstrom-linux-gnueabi-
QUILT_PATCHES ?= patches
LV ?= ezxdev# replace LOCALVERSION string
J ?= 2 # simultaneous jobs
SIG ?= 0 # BOOL sign md5sums file
DATE = $(shell date +%Y%m%d)
DEPLOY_SERVER ?= people.openezx.org
DEPLOY_DIR ?= public_html/images/$(DATE)/
all: $(foreach p, $(PHONES), zImage-$(p) modules-$(p).tar.gz)
zImages: $(foreach p, $(PHONES), zImage-$(p))
modules: $(foreach p, $(PHONES), modules-$(p).tar.gz)
config: $(foreach p, $(PHONES), config-$(p))
config-%: $(QUILT_PATCHES)/defconfig-%
cp $< .config
make ARCH=arm oldconfig
cp .config $<
deploy: release
ssh $(DEPLOY_SERVER) \
mkdir -p $(DEPLOY_DIR)
scp ezxrelease-$(DATE).tar $(DEPLOY_SERVER):$(DEPLOY_DIR)
ssh $(DEPLOY_SERVER) \
cd $(DEPLOY_DIR)\; \
tar -xf ezxrelease-$(DATE).tar\; \
rm -f ezxrelease-$(DATE).tar
release: $(foreach p, $(PHONES), tag-$(p))
cp md5sums.tmp md5sums
test "$(SIG)" = "1" && \
cat md5sums.tmp | gpg --clearsign > md5sums \
; echo
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) && \
mv zImage-$$p zImage-$$tag-$$p && \
mv 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-%
cat $< | sed 's/LOCALVERSION=".*"$$/LOCALVERSION="-$(LV)"/' > .config
make -j$(J) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) zImage
mv arch/arm/boot/zImage $@
modules-%.tar.gz: $(QUILT_PATCHES)/defconfig-%
cat $< | sed 's/LOCALVERSION=".*"$$/LOCALVERSION="-$(LV)"/' > .config
-find . -name "*.ko" -print0 | xargs -r0 rm
mkdir -p Makefile.OpenEZX-tmp/$@
make -j$(J) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) modules
make -j1 ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) \
INSTALL_MOD_PATH=Makefile.OpenEZX-tmp/$@ modules_install
tar -C Makefile.OpenEZX-tmp/$@ -czf $@ .
rm -rf Makefile.OpenEZX-tmp/
|