1 # SPDX-License-Identifier: GPL-2.0 1 # SPDX-License-Identifier: GPL-2.0 2 # 2 # 3 # Makefile for the Linux/Xtensa kernel. !! 3 # Makefile for the linux kernel. 4 # 4 # 5 5 6 extra-y := vmlinux.lds !! 6 extra-$(CONFIG_AMIGA) := head.o >> 7 extra-$(CONFIG_ATARI) := head.o >> 8 extra-$(CONFIG_MAC) := head.o >> 9 extra-$(CONFIG_APOLLO) := head.o >> 10 extra-$(CONFIG_VME) := head.o >> 11 extra-$(CONFIG_HP300) := head.o >> 12 extra-$(CONFIG_Q40) := head.o >> 13 extra-$(CONFIG_SUN3X) := head.o >> 14 extra-$(CONFIG_SUN3) := sun3-head.o >> 15 extra-y += vmlinux.lds >> 16 >> 17 obj-y := entry.o irq.o module.o process.o ptrace.o >> 18 obj-y += setup.o signal.o sys_m68k.o syscalltable.o time.o traps.o >> 19 >> 20 obj-$(CONFIG_MMU_MOTOROLA) += ints.o vectors.o >> 21 obj-$(CONFIG_MMU_SUN3) += ints.o vectors.o >> 22 obj-$(CONFIG_PCI) += pcibios.o >> 23 >> 24 obj-$(CONFIG_HAS_DMA) += dma.o >> 25 >> 26 obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o >> 27 obj-$(CONFIG_BOOTINFO_PROC) += bootinfo_proc.o >> 28 obj-$(CONFIG_UBOOT) += uboot.o 7 29 8 obj-y := head.o align.o coprocessor.o entry.o !! 30 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o 9 ptrace.o setup.o signal.o stacktrace. << 10 vectors.o << 11 << 12 obj-$(CONFIG_MMU) += pci-dma.o << 13 obj-$(CONFIG_PCI) += pci.o << 14 obj-$(CONFIG_MODULES) += xtensa_ksyms.o module << 15 obj-$(CONFIG_FUNCTION_TRACER) += mcount.o << 16 obj-$(CONFIG_SMP) += smp.o << 17 obj-$(CONFIG_SECONDARY_RESET_VECTOR) += mxhead << 18 obj-$(CONFIG_XTENSA_VARIANT_HAVE_PERF_EVENTS) << 19 obj-$(CONFIG_HAVE_HW_BREAKPOINT) += hw_breakpo << 20 obj-$(CONFIG_S32C1I_SELFTEST) += s32c1i_selfte << 21 obj-$(CONFIG_JUMP_LABEL) += jump_label.o << 22 obj-$(CONFIG_HIBERNATION) += hibernate.o << 23 << 24 # In the Xtensa architecture, assembly generat << 25 # precede the L32R instruction with a relative << 26 # Therefore, the .text and .literal section mu << 27 # in the linker script, such as: *(.literal .t << 28 # << 29 # We need to post-process the generated vmlinu << 30 # *(xxx.text) to *(xxx.literal xxx.text) for << 31 # .text .ref.text .*init.text .*exit.text .t << 32 # << 33 # Replicate rules in scripts/Makefile.build << 34 << 35 sed-y = -e ':a; s/\*(\([^)]*\)\.text\.unlikely << 36 -e ':b; s/\*(\([^)]*\)\.text\(\.[a-z]* << 37 -e ':c; s/\*(\([^)]*\)\(\.[a-z]*it\|\. << 38 -e ':d; s/\*(\([^)]\+ \|\)\.text/*(\1. << 39 -e 's/\.{text}/.text/g' << 40 << 41 quiet_cmd__cpp_lds_S = LDS $@ << 42 cmd__cpp_lds_S = $(CPP) $(cpp_flags) -P -C -Ux << 43 -DLINKER_SCRIPT $< | sed $(se << 44 31 45 $(obj)/vmlinux.lds: $(src)/vmlinux.lds.S FORCE << 46 $(call if_changed_dep,_cpp_lds_S) <<
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.