~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/s390/boot/Makefile

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /arch/s390/boot/Makefile (Architecture ppc) and /arch/mips/boot/Makefile (Architecture mips)


  1 # SPDX-License-Identifier: GPL-2.0             << 
  2 #                                                   1 #
  3 # Makefile for the linux s390-specific parts o !!   2 # This file is subject to the terms and conditions of the GNU General Public
                                                   >>   3 # License.  See the file "COPYING" in the main directory of this archive
                                                   >>   4 # for more details.
  4 #                                                   5 #
                                                   >>   6 # Copyright (C) 1995, 1998, 2001, 2002 by Ralf Baechle
                                                   >>   7 # Copyright (C) 2004  Maciej W. Rozycki
                                                   >>   8 #
                                                   >>   9 
                                                   >>  10 #
                                                   >>  11 # Some DECstations need all possible sections of an ECOFF executable
                                                   >>  12 #
                                                   >>  13 ifdef CONFIG_MACH_DECSTATION
                                                   >>  14   e2eflag := -a
                                                   >>  15 endif
                                                   >>  16 
                                                   >>  17 #
                                                   >>  18 # Drop some uninteresting sections in the kernel.
                                                   >>  19 # This is only relevant for ELF kernels but doesn't hurt a.out
                                                   >>  20 #
                                                   >>  21 drop-sections := .reginfo .mdebug .comment .note .pdr .options .MIPS.options
                                                   >>  22 strip-flags   := $(addprefix --remove-section=,$(drop-sections))
                                                   >>  23 
                                                   >>  24 hostprogs := elf2ecoff
  5                                                    25 
  6 # Tooling runtimes are unavailable and cannot  !!  26 suffix-y                        := bin
  7 KCOV_INSTRUMENT := n                           !!  27 suffix-$(CONFIG_KERNEL_BZIP2)   := bz2
  8 GCOV_PROFILE := n                              !!  28 suffix-$(CONFIG_KERNEL_GZIP)    := gz
  9 UBSAN_SANITIZE := n                            !!  29 suffix-$(CONFIG_KERNEL_LZMA)    := lzma
 10 KASAN_SANITIZE := n                            !!  30 suffix-$(CONFIG_KERNEL_LZO)     := lzo
 11 KCSAN_SANITIZE := n                            !!  31 
 12 KMSAN_SANITIZE := n                            !!  32 targets := vmlinux.ecoff
 13                                                !!  33 quiet_cmd_ecoff = ECOFF   $@
 14 #                                              !!  34       cmd_ecoff = $(obj)/elf2ecoff $(VMLINUX) $@ $(e2eflag)
 15 # Use minimum architecture level so it is poss !!  35 $(obj)/vmlinux.ecoff: $(obj)/elf2ecoff $(VMLINUX) FORCE
 16 # message if the kernel is started on a machin !!  36         $(call if_changed,ecoff)
 17 #                                              !!  37 
 18 CC_FLAGS_MARCH_MINIMUM := -march=z10           !!  38 targets += vmlinux.bin
 19                                                !!  39 quiet_cmd_bin = OBJCOPY $@
 20 KBUILD_AFLAGS := $(filter-out $(CC_FLAGS_MARCH !!  40       cmd_bin = $(OBJCOPY) -O binary $(strip-flags) $(VMLINUX) $@
 21 KBUILD_CFLAGS := $(filter-out $(CC_FLAGS_MARCH !!  41 $(obj)/vmlinux.bin: $(VMLINUX) FORCE
 22 KBUILD_AFLAGS += $(CC_FLAGS_MARCH_MINIMUM)     !!  42         $(call if_changed,bin)
 23 KBUILD_CFLAGS += $(CC_FLAGS_MARCH_MINIMUM)     !!  43 
 24                                                !!  44 targets += vmlinux.srec
 25 CFLAGS_sclp_early_core.o += -I$(srctree)/drive !!  45 quiet_cmd_srec = OBJCOPY $@
 26                                                !!  46       cmd_srec = $(OBJCOPY) -S -O srec $(strip-flags) $(VMLINUX) $@
 27 obj-y   := head.o als.o startup.o physmem_info !!  47 $(obj)/vmlinux.srec: $(VMLINUX) FORCE
 28 obj-y   += string.o ebcdic.o sclp_early_core.o !!  48         $(call if_changed,srec)
 29 obj-y   += version.o pgm_check_info.o ctype.o  !!  49 
 30 obj-y   += uv.o printk.o                       !!  50 UIMAGE_LOADADDR  = $(VMLINUX_LOAD_ADDRESS)
 31 obj-$(CONFIG_RANDOMIZE_BASE)    += kaslr.o     !!  51 UIMAGE_ENTRYADDR = $(VMLINUX_ENTRY_ADDRESS)
 32 obj-y   += $(if $(CONFIG_KERNEL_UNCOMPRESSED), !!  52 
 33 obj-$(CONFIG_KERNEL_ZSTD) += clz_ctz.o         !!  53 #
 34 obj-$(CONFIG_KMSAN) += kmsan.o                 !!  54 # Compressed vmlinux images
 35 obj-all := $(obj-y) piggy.o syms.o             !!  55 #
 36                                                !!  56 
 37 targets := bzImage section_cmp.boot.data secti !!  57 extra-y += vmlinux.bin.bz2
 38 targets += vmlinux.lds vmlinux vmlinux.bin vml !!  58 extra-y += vmlinux.bin.gz
 39 targets += vmlinux.bin.xz vmlinux.bin.lzma vml !!  59 extra-y += vmlinux.bin.lzma
 40 targets += vmlinux.bin.zst info.bin syms.bin v !!  60 extra-y += vmlinux.bin.lzo
 41 targets += relocs.S                            !!  61 
 42                                                !!  62 $(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE
 43 OBJECTS := $(addprefix $(obj)/,$(obj-y))       !!  63         $(call if_changed,bzip2)
 44 OBJECTS_ALL := $(addprefix $(obj)/,$(obj-all)) << 
 45                                                << 
 46 clean-files += vmlinux.map                     << 
 47                                                << 
 48 quiet_cmd_section_cmp = SECTCMP $*             << 
 49 define cmd_section_cmp                         << 
 50         s1=`$(OBJDUMP) -t "$<" | grep "\s$*\s\ << 
 51                 sed -n "/0000000000000000/! s/ << 
 52         s2=`$(OBJDUMP) -t "$(word 2,$^)" | gre << 
 53                 sed -n "/0000000000000000/! s/ << 
 54         if [ "$$s1" != "$$s2" ]; then \        << 
 55                 echo "error: section $* differ << 
 56                 exit 1; \                      << 
 57         fi; \                                  << 
 58         touch $@                               << 
 59 endef                                          << 
 60                                                << 
 61 $(obj)/bzImage: $(obj)/vmlinux $(obj)/section_ << 
 62         $(call if_changed,objcopy)             << 
 63                                                << 
 64 $(obj)/section_cmp%: vmlinux $(obj)/vmlinux FO << 
 65         $(call if_changed,section_cmp)         << 
 66                                                << 
 67 LDFLAGS_vmlinux-$(CONFIG_LD_ORPHAN_WARN) := -- << 
 68 LDFLAGS_vmlinux := $(LDFLAGS_vmlinux-y) --ofor << 
 69 $(obj)/vmlinux: $(obj)/vmlinux.lds $(OBJECTS_A << 
 70         $(call if_changed,ld)                  << 
 71                                                << 
 72 LDFLAGS_vmlinux.syms := $(LDFLAGS_vmlinux-y) - << 
 73 $(obj)/vmlinux.syms: $(obj)/vmlinux.lds $(OBJE << 
 74         $(call if_changed,ld)                  << 
 75                                                << 
 76 quiet_cmd_dumpsyms = DUMPSYMS $<               << 
 77 define cmd_dumpsyms                            << 
 78         $(NM) -n -S --format=bsd "$<" | sed -n << 
 79 endef                                          << 
 80                                                << 
 81 $(obj)/syms.bin: $(obj)/vmlinux.syms FORCE     << 
 82         $(call if_changed,dumpsyms)            << 
 83                                                << 
 84 OBJCOPYFLAGS_syms.o := -I binary -O elf64-s390 << 
 85 $(obj)/syms.o: $(obj)/syms.bin FORCE           << 
 86         $(call if_changed,objcopy)             << 
 87                                                << 
 88 OBJCOPYFLAGS_info.bin := -O binary --only-sect << 
 89 $(obj)/info.bin: vmlinux FORCE                 << 
 90         $(call if_changed,objcopy)             << 
 91                                                << 
 92 OBJCOPYFLAGS_info.o := -I binary -O elf64-s390 << 
 93 $(obj)/info.o: $(obj)/info.bin FORCE           << 
 94         $(call if_changed,objcopy)             << 
 95                                                << 
 96 OBJCOPYFLAGS_vmlinux.bin := -O binary --remove << 
 97 $(obj)/vmlinux.bin: vmlinux FORCE              << 
 98         $(call if_changed,objcopy)             << 
 99                                                << 
100 # relocs.S is created by the vmlinux postlink  << 
101 $(obj)/relocs.S: vmlinux                       << 
102         @true                                  << 
103                                                << 
104 suffix-$(CONFIG_KERNEL_GZIP)  := .gz           << 
105 suffix-$(CONFIG_KERNEL_BZIP2) := .bz2          << 
106 suffix-$(CONFIG_KERNEL_LZ4)  := .lz4           << 
107 suffix-$(CONFIG_KERNEL_LZMA)  := .lzma         << 
108 suffix-$(CONFIG_KERNEL_LZO)  := .lzo           << 
109 suffix-$(CONFIG_KERNEL_XZ)  := .xz             << 
110 suffix-$(CONFIG_KERNEL_ZSTD)  := .zst          << 
111                                                    64 
112 $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORC     65 $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE
113         $(call if_changed,gzip)                    66         $(call if_changed,gzip)
114 $(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FOR !!  67 
115         $(call if_changed,bzip2_with_size)     << 
116 $(obj)/vmlinux.bin.lz4: $(obj)/vmlinux.bin FOR << 
117         $(call if_changed,lz4_with_size)       << 
118 $(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FO     68 $(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE
119         $(call if_changed,lzma_with_size)      !!  69         $(call if_changed,lzma)
                                                   >>  70 
120 $(obj)/vmlinux.bin.lzo: $(obj)/vmlinux.bin FOR     71 $(obj)/vmlinux.bin.lzo: $(obj)/vmlinux.bin FORCE
121         $(call if_changed,lzo_with_size)       !!  72         $(call if_changed,lzo)
122 $(obj)/vmlinux.bin.xz: $(obj)/vmlinux.bin FORC !!  73 
123         $(call if_changed,xzkern_with_size)    !!  74 #
124 $(obj)/vmlinux.bin.zst: $(obj)/vmlinux.bin FOR !!  75 # Compressed u-boot images
125         $(call if_changed,zstd22_with_size)    !!  76 #
126                                                !!  77 
127 OBJCOPYFLAGS_piggy.o := -I binary -O elf64-s39 !!  78 targets += uImage
128 $(obj)/piggy.o: $(obj)/vmlinux.bin$(suffix-y)  !!  79 targets += uImage.bin
129         $(call if_changed,objcopy)             !!  80 targets += uImage.bz2
                                                   >>  81 targets += uImage.gz
                                                   >>  82 targets += uImage.lzma
                                                   >>  83 targets += uImage.lzo
                                                   >>  84 
                                                   >>  85 $(obj)/uImage.bin: $(obj)/vmlinux.bin FORCE
                                                   >>  86         $(call if_changed,uimage,none)
                                                   >>  87 
                                                   >>  88 $(obj)/uImage.bz2: $(obj)/vmlinux.bin.bz2 FORCE
                                                   >>  89         $(call if_changed,uimage,bzip2)
                                                   >>  90 
                                                   >>  91 $(obj)/uImage.gz: $(obj)/vmlinux.bin.gz FORCE
                                                   >>  92         $(call if_changed,uimage,gzip)
                                                   >>  93 
                                                   >>  94 $(obj)/uImage.lzma: $(obj)/vmlinux.bin.lzma FORCE
                                                   >>  95         $(call if_changed,uimage,lzma)
                                                   >>  96 
                                                   >>  97 $(obj)/uImage.lzo: $(obj)/vmlinux.bin.lzo FORCE
                                                   >>  98         $(call if_changed,uimage,lzo)
                                                   >>  99 
                                                   >> 100 $(obj)/uImage: $(obj)/uImage.$(suffix-y)
                                                   >> 101         @ln -sf $(notdir $<) $@
                                                   >> 102         @echo '  Image $@ is ready'
                                                   >> 103 
                                                   >> 104 #
                                                   >> 105 # Flattened Image Tree (.itb) images
                                                   >> 106 #
                                                   >> 107 
                                                   >> 108 ifeq ($(ADDR_BITS),32)
                                                   >> 109 itb_addr_cells = 1
                                                   >> 110 endif
                                                   >> 111 ifeq ($(ADDR_BITS),64)
                                                   >> 112 itb_addr_cells = 2
                                                   >> 113 endif
                                                   >> 114 
                                                   >> 115 targets += vmlinux.its.S
                                                   >> 116 
                                                   >> 117 quiet_cmd_its_cat = CAT     $@
                                                   >> 118       cmd_its_cat = cat $(real-prereqs) >$@
                                                   >> 119 
                                                   >> 120 $(obj)/vmlinux.its.S: $(addprefix $(srctree)/arch/mips/$(PLATFORM)/,$(ITS_INPUTS)) FORCE
                                                   >> 121         $(call if_changed,its_cat)
                                                   >> 122 
                                                   >> 123 targets += vmlinux.its
                                                   >> 124 targets += vmlinux.gz.its
                                                   >> 125 targets += vmlinux.bz2.its
                                                   >> 126 targets += vmlinux.lzma.its
                                                   >> 127 targets += vmlinux.lzo.its
                                                   >> 128 
                                                   >> 129 quiet_cmd_cpp_its_S = ITS     $@
                                                   >> 130       cmd_cpp_its_S = $(CPP) -P -C -o $@ $< \
                                                   >> 131                         -DKERNEL_NAME="\"Linux $(KERNELRELEASE)\"" \
                                                   >> 132                         -DVMLINUX_BINARY="\"$(3)\"" \
                                                   >> 133                         -DVMLINUX_COMPRESSION="\"$(2)\"" \
                                                   >> 134                         -DVMLINUX_LOAD_ADDRESS=$(VMLINUX_LOAD_ADDRESS) \
                                                   >> 135                         -DVMLINUX_ENTRY_ADDRESS=$(VMLINUX_ENTRY_ADDRESS) \
                                                   >> 136                         -DADDR_BITS=$(ADDR_BITS) \
                                                   >> 137                         -DADDR_CELLS=$(itb_addr_cells)
                                                   >> 138 
                                                   >> 139 $(obj)/vmlinux.its: $(obj)/vmlinux.its.S $(VMLINUX) FORCE
                                                   >> 140         $(call if_changed,cpp_its_S,none,vmlinux.bin)
                                                   >> 141 
                                                   >> 142 $(obj)/vmlinux.gz.its: $(obj)/vmlinux.its.S $(VMLINUX) FORCE
                                                   >> 143         $(call if_changed,cpp_its_S,gzip,vmlinux.bin.gz)
                                                   >> 144 
                                                   >> 145 $(obj)/vmlinux.bz2.its: $(obj)/vmlinux.its.S $(VMLINUX)  FORCE
                                                   >> 146         $(call if_changed,cpp_its_S,bzip2,vmlinux.bin.bz2)
                                                   >> 147 
                                                   >> 148 $(obj)/vmlinux.lzma.its: $(obj)/vmlinux.its.S $(VMLINUX) FORCE
                                                   >> 149         $(call if_changed,cpp_its_S,lzma,vmlinux.bin.lzma)
                                                   >> 150 
                                                   >> 151 $(obj)/vmlinux.lzo.its: $(obj)/vmlinux.its.S $(VMLINUX) FORCE
                                                   >> 152         $(call if_changed,cpp_its_S,lzo,vmlinux.bin.lzo)
                                                   >> 153 
                                                   >> 154 targets += vmlinux.itb
                                                   >> 155 targets += vmlinux.gz.itb
                                                   >> 156 targets += vmlinux.bz2.itb
                                                   >> 157 targets += vmlinux.lzma.itb
                                                   >> 158 targets += vmlinux.lzo.itb
                                                   >> 159 
                                                   >> 160 quiet_cmd_itb-image = ITB     $@
                                                   >> 161       cmd_itb-image = \
                                                   >> 162                 env PATH="$(objtree)/scripts/dtc:$(PATH)" \
                                                   >> 163                 $(BASH) $(MKIMAGE) \
                                                   >> 164                 -D "-I dts -O dtb -p 500 \
                                                   >> 165                         --include $(objtree)/arch/mips \
                                                   >> 166                         --warning no-unit_address_vs_reg" \
                                                   >> 167                 -f $(2) $@
                                                   >> 168 
                                                   >> 169 $(obj)/vmlinux.itb: $(obj)/vmlinux.its $(obj)/vmlinux.bin FORCE
                                                   >> 170         $(call if_changed,itb-image,$<)
                                                   >> 171 
                                                   >> 172 $(obj)/vmlinux.%.itb: $(obj)/vmlinux.%.its $(obj)/vmlinux.bin.% FORCE
                                                   >> 173         $(call if_changed,itb-image,$<)
                                                   >> 174 
                                                   >> 175 # for cleaning
                                                   >> 176 subdir- += compressed tools
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php