2 # linux/arch/x86_64/boot/compressed/Makefile
4 # create a compressed vmlinux image from the original vmlinux
6 # Note all the files here are compiled/linked as 32bit executables.
9 targets
:= vmlinux vmlinux.bin vmlinux.bin.gz head.o misc.o piggy.o
10 EXTRA_AFLAGS
:= -traditional
-m32
12 # cannot use EXTRA_CFLAGS because base CFLAGS contains -mkernel which conflicts with
14 CFLAGS
:= -m32
-D__KERNEL__
-Iinclude
-O2
-fno-strict-aliasing
15 LDFLAGS
:= -m elf_i386
17 LDFLAGS_vmlinux
:= -Ttext
$(IMAGE_OFFSET
) -e startup_32
-m elf_i386
19 $(obj
)/vmlinux
: $(obj
)/head.o
$(obj
)/misc.o
$(obj
)/piggy.o FORCE
23 $(obj
)/vmlinux.bin
: vmlinux FORCE
24 $(call if_changed
,objcopy
)
26 $(obj
)/vmlinux.bin.gz
: $(obj
)/vmlinux.bin FORCE
27 $(call if_changed
,gzip
)
29 LDFLAGS_piggy.o
:= -r
--format binary
--oformat elf32-i386
-T
31 $(obj
)/piggy.o
: $(obj
)/vmlinux.scr
$(obj
)/vmlinux.bin.gz FORCE