| # |
| # create a compressed vmlinuz image from the binary vmlinux.bin file |
| # |
| target = $(target_compressed_dir) |
| src = $(src_compressed_dir) |
| |
| CC = gcc-cris -melf $(LINUXINCLUDE) |
| CFLAGS = -O2 |
| LD = ld-cris |
| OBJCOPY = objcopy-cris |
| OBJCOPYFLAGS = -O binary --remove-section=.bss |
| OBJECTS = $(target)/head.o $(target)/misc.o |
| |
| # files to compress |
| SYSTEM = $(objtree)/vmlinux.bin |
| |
| all: $(target_compressed_dir)/vmlinuz |
| |
| $(target)/decompress.bin: $(OBJECTS) |
| $(LD) -T $(src)/decompress.ld -o $(target)/decompress.o $(OBJECTS) |
| $(OBJCOPY) $(OBJCOPYFLAGS) $(target)/decompress.o $(target)/decompress.bin |
| |
| # Create vmlinuz image in top-level build directory |
| $(target_compressed_dir)/vmlinuz: $(target) piggy.img $(target)/decompress.bin |
| @echo " COMPR vmlinux.bin --> vmlinuz" |
| @cat $(target)/decompress.bin piggy.img > $(target_compressed_dir)/vmlinuz |
| @rm -f piggy.img |
| |
| $(target)/head.o: $(src)/head.S |
| $(CC) -D__ASSEMBLY__ -traditional -c $< -o $@ |
| |
| $(target)/misc.o: $(src)/misc.c |
| $(CC) -D__KERNEL__ -c $< -o $@ |
| |
| # gzip the kernel image |
| |
| piggy.img: $(SYSTEM) |
| @cat $(SYSTEM) | gzip -f -9 > piggy.img |
| |
| $(target): |
| mkdir -p $(target) |
| |
| clean: |
| rm -f piggy.img $(objtree)/vmlinuz |
| |