1 # SPDX-License-Identifier: GPL-2.0 << 2 # 1 # 3 # Makefile for the linux kernel. 2 # Makefile for the linux kernel. 4 # 3 # 5 4 6 extra-y += vmlinux.lds !! 5 extra-$(CONFIG_AMIGA) := head.o >> 6 extra-$(CONFIG_ATARI) := head.o >> 7 extra-$(CONFIG_MAC) := head.o >> 8 extra-$(CONFIG_APOLLO) := head.o >> 9 extra-$(CONFIG_VME) := head.o >> 10 extra-$(CONFIG_HP300) := head.o >> 11 extra-$(CONFIG_Q40) := head.o >> 12 extra-$(CONFIG_SUN3X) := head.o >> 13 extra-$(CONFIG_SUN3) := sun3-head.o >> 14 extra-y += vmlinux.lds >> 15 >> 16 obj-y := entry.o irq.o module.o process.o ptrace.o >> 17 obj-y += setup.o signal.o sys_m68k.o syscalltable.o time.o traps.o >> 18 >> 19 obj-$(CONFIG_MMU_MOTOROLA) += ints.o vectors.o >> 20 obj-$(CONFIG_MMU_SUN3) += ints.o vectors.o >> 21 obj-$(CONFIG_PCI) += pcibios.o >> 22 >> 23 obj-$(CONFIG_HAS_DMA) += dma.o >> 24 >> 25 obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o >> 26 obj-$(CONFIG_BOOTINFO_PROC) += bootinfo_proc.o >> 27 obj-$(CONFIG_UBOOT) += uboot.o 7 28 8 CPPFLAGS_vmlinux.lds += -U$(UTS_MACHINE) << 9 << 10 ifdef CONFIG_FUNCTION_TRACER << 11 # Do not profile debug and lowlevel utilities << 12 CFLAGS_REMOVE_tsc.o = -pg << 13 CFLAGS_REMOVE_paravirt-spinlocks.o = -pg << 14 CFLAGS_REMOVE_pvclock.o = -pg << 15 CFLAGS_REMOVE_kvmclock.o = -pg << 16 CFLAGS_REMOVE_ftrace.o = -pg << 17 CFLAGS_REMOVE_early_printk.o = -pg << 18 CFLAGS_REMOVE_head64.o = -pg << 19 CFLAGS_REMOVE_head32.o = -pg << 20 CFLAGS_REMOVE_rethook.o = -pg << 21 endif << 22 << 23 KASAN_SANITIZE_head$(BITS).o << 24 KASAN_SANITIZE_dumpstack.o << 25 KASAN_SANITIZE_dumpstack_$(BITS).o << 26 KASAN_SANITIZE_stacktrace.o << 27 KASAN_SANITIZE_paravirt.o << 28 << 29 # With some compiler versions the generated co << 30 # by several compilation units. To be safe, di << 31 KCSAN_SANITIZE := n << 32 KMSAN_SANITIZE_head$(BITS).o << 33 KMSAN_SANITIZE_nmi.o << 34 << 35 # If instrumentation of the following files is << 36 # first second. << 37 KCOV_INSTRUMENT_head$(BITS).o << 38 # These are called from save_stack_trace() on << 39 # and produce large amounts of uninteresting c << 40 KCOV_INSTRUMENT_stacktrace.o << 41 KCOV_INSTRUMENT_dumpstack.o << 42 KCOV_INSTRUMENT_dumpstack_$(BITS).o << 43 KCOV_INSTRUMENT_unwind_orc.o << 44 KCOV_INSTRUMENT_unwind_frame.o << 45 KCOV_INSTRUMENT_unwind_guess.o << 46 << 47 CFLAGS_irq.o := -I $(src)/../include/asm/trace << 48 << 49 obj-y += head_$(BITS).o << 50 obj-y += head$(BITS).o << 51 obj-y += ebda.o << 52 obj-y += platform-quirks.o << 53 obj-y += process_$(BITS).o s << 54 obj-y += traps.o idt.o irq.o << 55 obj-y += time.o ioport.o dum << 56 obj-$(CONFIG_X86_FRED) += fred.o << 57 obj-$(CONFIG_MODIFY_LDT_SYSCALL) += ldt << 58 obj-$(CONFIG_X86_KERNEL_IBT) += ibt << 59 obj-y += setup.o x86_init.o << 60 obj-$(CONFIG_JUMP_LABEL) += jump_label. << 61 obj-$(CONFIG_IRQ_WORK) += irq_work.o << 62 obj-y += probe_roms.o << 63 obj-$(CONFIG_X86_32) += sys_ia32.o << 64 obj-$(CONFIG_IA32_EMULATION) += sys_ia32.o << 65 obj-$(CONFIG_X86_64) += sys_x86_64.o << 66 obj-$(CONFIG_X86_ESPFIX64) += espfix_64.o << 67 obj-$(CONFIG_SYSFS) += ksysfs.o << 68 obj-y += bootflag.o e820.o << 69 obj-y += pci-dma.o quirks.o << 70 obj-y += alternative.o i8253 << 71 obj-y += tsc.o tsc_msr.o io_ << 72 obj-y += resource.o << 73 obj-y += irqflags.o << 74 obj-y += static_call.o << 75 << 76 obj-y += process.o << 77 obj-y += fpu/ << 78 obj-y += ptrace.o << 79 obj-$(CONFIG_X86_32) += tls.o << 80 obj-$(CONFIG_IA32_EMULATION) += tls.o << 81 obj-y += step.o << 82 obj-$(CONFIG_INTEL_TXT) += tboot.o << 83 obj-$(CONFIG_ISA_DMA_API) += i8237.o << 84 obj-y += stacktrace. << 85 obj-y += cpu/ << 86 obj-y += acpi/ << 87 obj-y += reboot.o << 88 obj-$(CONFIG_X86_MSR) += msr.o << 89 obj-$(CONFIG_X86_CPUID) += cpuid.o << 90 obj-$(CONFIG_PCI) += early-quirk << 91 apm-y := apm_32.o << 92 obj-$(CONFIG_APM) += apm.o << 93 obj-$(CONFIG_SMP) += smp.o << 94 obj-$(CONFIG_SMP) += smpboot.o << 95 obj-$(CONFIG_X86_TSC) += tsc_sync.o << 96 obj-$(CONFIG_SMP) += setup_percp << 97 obj-$(CONFIG_X86_MPPARSE) += mpparse.o << 98 obj-y += apic/ << 99 obj-$(CONFIG_X86_REBOOTFIXUPS) += reboot_fixu << 100 obj-$(CONFIG_DYNAMIC_FTRACE) += ftrace.o << 101 obj-$(CONFIG_FUNCTION_TRACER) += ftrace_$(BI << 102 obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += ftrace. << 103 obj-$(CONFIG_FTRACE_SYSCALLS) += ftrace.o << 104 obj-$(CONFIG_X86_TSC) += trace_clock << 105 obj-$(CONFIG_TRACING) += trace.o << 106 obj-$(CONFIG_RETHOOK) += rethook.o << 107 obj-$(CONFIG_VMCORE_INFO) += vmcore_info << 108 obj-$(CONFIG_KEXEC_CORE) += machine_kex << 109 obj-$(CONFIG_KEXEC_CORE) += relocate_ke << 110 obj-$(CONFIG_KEXEC_FILE) += kexec-bzima << 111 obj-$(CONFIG_CRASH_DUMP) += crash_dump_ << 112 obj-y += kprobes/ << 113 obj-$(CONFIG_MODULES) += module.o << 114 obj-$(CONFIG_X86_32) += doublefault << 115 obj-$(CONFIG_KGDB) += kgdb.o << 116 obj-$(CONFIG_VM86) += vm86_32.o << 117 obj-$(CONFIG_EARLY_PRINTK) += early_print 29 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o 118 30 119 obj-$(CONFIG_HPET_TIMER) += hpet.o << 120 << 121 obj-$(CONFIG_AMD_NB) += amd_nb.o << 122 obj-$(CONFIG_DEBUG_NMI_SELFTEST) += nmi_selfte << 123 << 124 obj-$(CONFIG_KVM_GUEST) += kvm.o kvmcl << 125 obj-$(CONFIG_PARAVIRT) += paravirt.o << 126 obj-$(CONFIG_PARAVIRT_SPINLOCKS)+= paravirt-sp << 127 obj-$(CONFIG_PARAVIRT_CLOCK) += pvclock.o << 128 obj-$(CONFIG_X86_PMEM_LEGACY_DEVICE) += pmem.o << 129 << 130 obj-$(CONFIG_JAILHOUSE_GUEST) += jailhouse.o << 131 << 132 obj-$(CONFIG_EISA) += eisa.o << 133 obj-$(CONFIG_PCSPKR_PLATFORM) += pcspeaker.o << 134 << 135 obj-$(CONFIG_X86_CHECK_BIOS_CORRUPTION) += che << 136 << 137 obj-$(CONFIG_OF) += dev << 138 obj-$(CONFIG_UPROBES) += upr << 139 << 140 obj-$(CONFIG_PERF_EVENTS) += per << 141 obj-$(CONFIG_TRACING) += tra << 142 obj-$(CONFIG_SCHED_MC_PRIO) += itm << 143 obj-$(CONFIG_X86_UMIP) += umi << 144 << 145 obj-$(CONFIG_UNWINDER_ORC) += unw << 146 obj-$(CONFIG_UNWINDER_FRAME_POINTER) += unw << 147 obj-$(CONFIG_UNWINDER_GUESS) += unw << 148 << 149 obj-$(CONFIG_CFI_CLANG) += cfi << 150 << 151 obj-$(CONFIG_CALL_THUNKS) += cal << 152 << 153 obj-$(CONFIG_X86_CET) += cet << 154 << 155 obj-$(CONFIG_X86_USER_SHADOW_STACK) += shs << 156 << 157 ### << 158 # 64 bit specific files << 159 ifeq ($(CONFIG_X86_64),y) << 160 obj-$(CONFIG_AUDIT) += aud << 161 << 162 obj-$(CONFIG_GART_IOMMU) += amd << 163 << 164 obj-$(CONFIG_MMCONF_FAM10H) += mmc << 165 obj-y += vsm << 166 endif <<
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.