2 # linux/arch/x86_64/boot/compressed/Makefile
4 # create a compressed vmlinux image from the original vmlinux
7 targets
:= vmlinux vmlinux.bin vmlinux.bin.gz head.o misc.o piggy.o
9 CFLAGS
:= -m64
-D__KERNEL__
$(LINUXINCLUDE
) -O2 \
10 -fno-strict-aliasing
-fPIC
-mcmodel
=small \
11 $(call cc-option
, -ffreestanding
) \
12 $(call cc-option
, -fno-stack-protector
)
13 AFLAGS
:= $(CFLAGS
) -D__ASSEMBLY__
14 LDFLAGS
:= -m elf_x86_64
17 $(obj
)/vmlinux
: $(src
)/vmlinux.lds
$(obj
)/head.o
$(obj
)/misc.o
$(obj
)/piggy.o FORCE
21 $(obj
)/vmlinux.bin
: vmlinux FORCE
22 $(call if_changed
,objcopy
)
24 $(obj
)/vmlinux.bin.gz
: $(obj
)/vmlinux.bin FORCE
25 $(call if_changed
,gzip
)
27 LDFLAGS_piggy.o
:= -r
--format binary
--oformat elf64-x86-64
-T
29 $(obj
)/piggy.o
: $(obj
)/vmlinux.scr
$(obj
)/vmlinux.bin.gz FORCE