| # | |
| # linux/arch/unicore32/boot/compressed/Makefile | |
| # | |
| # create a compressed vmlinuz image from the original vmlinux | |
| # | |
| # This file is subject to the terms and conditions of the GNU General Public | |
| # License. See the file "COPYING" in the main directory of this archive | |
| # for more details. | |
| # | |
| # Copyright (C) 2001~2010 GUAN Xue-tao | |
| # | |
| ccflags-y := -fpic -fno-builtin | |
| asflags-y := -Wa,-march=all | |
| OBJS := misc.o | |
| # font.c and font.o | |
| CFLAGS_font.o := -Dstatic= | |
| $(obj)/font.c: $(srctree)/lib/fonts/font_8x8.c | |
| $(call cmd,shipped) | |
| # piggy.S and piggy.o | |
| suffix_$(CONFIG_KERNEL_GZIP) := gzip | |
| suffix_$(CONFIG_KERNEL_BZIP2) := bz2 | |
| suffix_$(CONFIG_KERNEL_LZO) := lzo | |
| suffix_$(CONFIG_KERNEL_LZMA) := lzma | |
| $(obj)/piggy.$(suffix_y): $(obj)/../Image FORCE | |
| $(call if_changed,$(suffix_y)) | |
| SEDFLAGS_piggy = s/DECOMP_SUFFIX/$(suffix_y)/ | |
| $(obj)/piggy.S: $(obj)/piggy.S.in | |
| @sed "$(SEDFLAGS_piggy)" < $< > $@ | |
| $(obj)/piggy.o: $(obj)/piggy.$(suffix_y) $(obj)/piggy.S FORCE | |
| targets := vmlinux vmlinux.lds font.o font.c head.o misc.o \ | |
| piggy.$(suffix_y) piggy.o piggy.S \ | |
| # Make sure files are removed during clean | |
| extra-y += piggy.gzip piggy.bz2 piggy.lzo piggy.lzma | |
| # ? | |
| LDFLAGS_vmlinux += -p | |
| # Report unresolved symbol references | |
| LDFLAGS_vmlinux += --no-undefined | |
| # Delete all temporary local symbols | |
| LDFLAGS_vmlinux += -X | |
| # Next argument is a linker script | |
| LDFLAGS_vmlinux += -T | |
| # For uidivmod | |
| $(obj)/vmlinux: $(obj)/vmlinux.lds $(obj)/head.o $(obj)/piggy.o \ | |
| $(obj)/misc.o FORCE | |
| $(call if_changed,ld) | |
| # We now have a PIC decompressor implementation. Decompressors running | |
| # from RAM should not define ZTEXTADDR. Decompressors running directly | |
| # from ROM or Flash must define ZTEXTADDR (preferably via the config) | |
| ZTEXTADDR := 0x03000000 | |
| ZBSSADDR := ALIGN(4) | |
| SEDFLAGS_lds = s/TEXT_START/$(ZTEXTADDR)/;s/BSS_START/$(ZBSSADDR)/ | |
| $(obj)/vmlinux.lds: $(obj)/vmlinux.lds.in arch/unicore32/boot/Makefile $(KCONFIG_CONFIG) | |
| @sed "$(SEDFLAGS_lds)" < $< > $@ | |