| 1 |
|
| 2 |
|
| 3 |
|
| 4 |
|
| 5 |
|
| 6 |
|
| 7 | OBJECTS := head.o misc.o trampoline.o piggy.o
|
| 8 | OBJECTS += memcpy.o memmove.o memset.o
|
| 9 | OBJECTS += __divqu.o __remqu.o __divlu.o __remlu.o
|
| 10 | targets := vmlinux.lds vmlinux vmlinux.bin
|
| 11 | targets += vmlinux.bin.bz2 vmlinux.bin.gz vmlinux.bin.lz4
|
| 12 | targets += vmlinux.bin.lzma vmlinux.bin.lzo vmlinux.bin.xz
|
| 13 | targets += vmlinux.bin.zst
|
| 14 | targets += $(OBJECTS)
|
| 15 |
|
| 16 |
|
| 17 |
|
| 18 |
|
| 19 | KBUILD_CFLAGS := -D__KERNEL__ -std=gnu11 -Os -fno-strict-aliasing
|
| 20 | KBUILD_CFLAGS += -fno-PIE -ffreestanding -fno-stack-protector
|
| 21 | KBUILD_CFLAGS += -fno-asynchronous-unwind-tables
|
| 22 | KBUILD_CFLAGS += -pipe -mcpu=ev4 -mno-fp-regs -ffixed-8
|
| 23 | KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING -D__DISABLE_EXPORTS
|
| 24 | KBUILD_CFLAGS += $(CC_FLAGS_DIALECT)
|
| 25 | KBUILD_AFLAGS := -D__ASSEMBLY__ $(KBUILD_CFLAGS)
|
| 26 |
|
| 27 |
|
| 28 |
|
| 29 |
|
| 30 | UBSAN_SANITIZE := n
|
| 31 | GCOV_PROFILE := n
|
| 32 |
|
| 33 | $(obj)/memcpy.o: $(srctree)/arch/alpha/lib/memcpy.c FORCE
|
| 34 | $(call if_changed_dep,cc_o_c)
|
| 35 |
|
| 36 | $(obj)/memmove.o: $(srctree)/arch/alpha/lib/memmove.S FORCE
|
| 37 | $(call if_changed_dep,as_o_S)
|
| 38 |
|
| 39 | $(obj)/memset.o: $(srctree)/arch/alpha/lib/memset.S FORCE
|
| 40 | $(call if_changed_dep,as_o_S)
|
| 41 |
|
| 42 | AFLAGS___divqu.o := -DDIV
|
| 43 | AFLAGS___remqu.o := -DREM
|
| 44 | AFLAGS___divlu.o := -DDIV -DINTSIZE
|
| 45 | AFLAGS___remlu.o := -DREM -DINTSIZE
|
| 46 |
|
| 47 | $(addprefix $(obj)/,__divqu.o __remqu.o __divlu.o __remlu.o): $(srctree)/arch/alpha/lib/divide.S FORCE
|
| 48 | $(call if_changed_dep,as_o_S)
|
| 49 |
|
| 50 |
|
| 51 |
|
| 52 |
|
| 53 |
|
| 54 | LIBGCC := $(shell $(CC) -print-libgcc-file-name)
|
| 55 |
|
| 56 | LDFLAGS_vmlinux := -X --orphan-handling=warn -T
|
| 57 | $(obj)/vmlinux: $(obj)/vmlinux.lds $(addprefix $(obj)/, $(OBJECTS)) $(LIBGCC) FORCE
|
| 58 | $(call if_changed,ld)
|
| 59 |
|
| 60 | OBJCOPYFLAGS_vmlinux.bin := -R .comment -R .note -S
|
| 61 | $(obj)/vmlinux.bin: vmlinux FORCE
|
| 62 | $(call if_changed,objcopy)
|
| 63 |
|
| 64 | suffix-$(CONFIG_KERNEL_BZIP2) := bz2
|
| 65 | suffix-$(CONFIG_KERNEL_GZIP) := gz
|
| 66 | suffix-$(CONFIG_KERNEL_LZ4) := lz4
|
| 67 | suffix-$(CONFIG_KERNEL_LZMA) := lzma
|
| 68 | suffix-$(CONFIG_KERNEL_LZO) := lzo
|
| 69 | suffix-$(CONFIG_KERNEL_XZ) := xz
|
| 70 | suffix-$(CONFIG_KERNEL_ZSTD) := zst
|
| 71 |
|
| 72 | $(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE
|
| 73 | $(call if_changed,bzip2_with_size)
|
| 74 | $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE
|
| 75 | $(call if_changed,gzip)
|
| 76 | $(obj)/vmlinux.bin.lz4: $(obj)/vmlinux.bin FORCE
|
| 77 | $(call if_changed,lz4_with_size)
|
| 78 | $(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE
|
| 79 | $(call if_changed,lzma_with_size)
|
| 80 | $(obj)/vmlinux.bin.lzo: $(obj)/vmlinux.bin FORCE
|
| 81 | $(call if_changed,lzo_with_size)
|
| 82 | $(obj)/vmlinux.bin.xz: $(obj)/vmlinux.bin FORCE
|
| 83 | $(call if_changed,xzkern_with_size)
|
| 84 | $(obj)/vmlinux.bin.zst: $(obj)/vmlinux.bin FORCE
|
| 85 | $(call if_changed,zstd22_with_size)
|
| 86 |
|
| 87 | LDFLAGS_piggy.o := -r --format binary --oformat elf64-alpha -T
|
| 88 | $(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix-y) FORCE
|
| 89 | $(call if_changed,ld)
|