summaryrefslogtreecommitdiff
path: root/arch/cris/arch-v10/boot/compressed/Makefile
blob: 5f71c2c819e69e3697f52300260f3c8c416181bb (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
#
# linux/arch/etrax100/boot/compressed/Makefile
#
# create a compressed vmlinux image from the original vmlinux files and romfs
#

CC = gcc-cris -melf -I $(TOPDIR)/include
CFLAGS = -O2
LD = ld-cris
OBJCOPY = objcopy-cris
OBJCOPYFLAGS = -O binary --remove-section=.bss
OBJECTS = head.o misc.o

# files to compress
SYSTEM = $(TOPDIR)/vmlinux.bin

all: vmlinuz

decompress.bin: $(OBJECTS)
	$(LD) -T decompress.ld -o decompress.o $(OBJECTS)
	$(OBJCOPY) $(OBJCOPYFLAGS) decompress.o decompress.bin
# save it for mkprod in the topdir.
	cp decompress.bin $(TOPDIR)


vmlinuz: piggy.img decompress.bin
	cat decompress.bin piggy.img > vmlinuz
	rm -f piggy.img

head.o: head.S
	$(CC) -D__ASSEMBLY__ -traditional -c head.S -o head.o

# gzip the kernel image

piggy.img: $(SYSTEM)
	cat $(SYSTEM) | gzip -f -9 > piggy.img

clean:
	rm -f piggy.img vmlinuz vmlinuz.o