1 # SPDX-License-Identifier: GPL-2.0 << 2 # 1 # 3 # Makefile for the linux kernel. 2 # Makefile for the linux kernel. 4 # 3 # >> 4 # Note! Dependencies are done automagically by 'make dep', which also >> 5 # removes any old dependencies. DON'T put your own dependencies here >> 6 # unless it's something special (ie not a .c file). >> 7 # >> 8 # Note 2! The CFLAGS definitions are now in the main makefile... >> 9 >> 10 .S.s: >> 11 $(CPP) $(AFLAGS) -o $*.s $< >> 12 .S.o: >> 13 $(CC) $(AFLAGS) -c -o $*.o $< >> 14 >> 15 O_TARGET := kernel.o >> 16 >> 17 export-objs := alpha_ksyms.o >> 18 >> 19 obj-y := entry.o traps.o process.o osf_sys.o irq.o irq_alpha.o \ >> 20 signal.o setup.o ptrace.o time.o semaphore.o alpha_ksyms.o \ >> 21 err_common.o >> 22 >> 23 # >> 24 # FIXME! >> 25 # These should be made conditional on the stuff that needs them! >> 26 # >> 27 obj-y += irq_i8259.o irq_srm.o >> 28 >> 29 ifdef CONFIG_VGA_HOSE >> 30 obj-y += console.o >> 31 endif >> 32 >> 33 obj-$(CONFIG_SMP) += smp.o irq_smp.o >> 34 obj-$(CONFIG_PCI) += pci.o pci_iommu.o >> 35 obj-$(CONFIG_SRM_ENV) += srm_env.o >> 36 >> 37 ifdef CONFIG_ALPHA_GENERIC >> 38 >> 39 obj-y += core_apecs.o core_cia.o core_irongate.o core_lca.o core_mcpcia.o \ >> 40 core_polaris.o core_t2.o core_tsunami.o \ >> 41 sys_alcor.o sys_cabriolet.o sys_dp264.o sys_eb64p.o sys_eiger.o \ >> 42 sys_jensen.o sys_miata.o sys_mikasa.o sys_nautilus.o \ >> 43 sys_noritake.o sys_rawhide.o sys_ruffian.o sys_rx164.o \ >> 44 sys_sable.o sys_sio.o sys_sx164.o sys_takara.o sys_rx164.o \ >> 45 irq_pyxis.o srmcons.o gct.o \ >> 46 es1888.o smc37c669.o smc37c93x.o ns87312.o >> 47 >> 48 ifndef CONFIG_ALPHA_LEGACY_START_ADDRESS >> 49 obj-y += core_titan.o core_wildfire.o core_marvel.o \ >> 50 sys_titan.o sys_wildfire.o sys_marvel.o \ >> 51 err_titan.o err_marvel.o >> 52 >> 53 endif >> 54 >> 55 else >> 56 >> 57 # Misc support >> 58 obj-$(CONFIG_ALPHA_SRM) += srmcons.o gct.o >> 59 >> 60 # Core logic support >> 61 obj-$(CONFIG_ALPHA_APECS) += core_apecs.o >> 62 obj-$(CONFIG_ALPHA_CIA) += core_cia.o >> 63 >> 64 obj-$(CONFIG_ALPHA_IRONGATE) += core_irongate.o >> 65 obj-$(CONFIG_ALPHA_LCA) += core_lca.o >> 66 obj-$(CONFIG_ALPHA_MARVEL) += core_marvel.o >> 67 obj-$(CONFIG_ALPHA_MCPCIA) += core_mcpcia.o >> 68 obj-$(CONFIG_ALPHA_T2) += core_t2.o >> 69 obj-$(CONFIG_ALPHA_TSUNAMI) += core_tsunami.o >> 70 obj-$(CONFIG_ALPHA_TITAN) += core_titan.o >> 71 obj-$(CONFIG_ALPHA_POLARIS) += core_polaris.o >> 72 obj-$(CONFIG_ALPHA_WILDFIRE) += core_wildfire.o >> 73 >> 74 # Board support >> 75 ifneq ($(CONFIG_ALPHA_ALCOR)$(CONFIG_ALPHA_XLT),) >> 76 obj-y += sys_alcor.o >> 77 endif >> 78 ifneq ($(CONFIG_ALPHA_CABRIOLET)$(CONFIG_ALPHA_EB164)$(CONFIG_ALPHA_EB66P)$(CONFIG_ALPHA_LX164)$(CONFIG_ALPHA_PC164),) >> 79 obj-y += sys_cabriolet.o ns87312.o >> 80 endif >> 81 >> 82 obj-$(CONFIG_ALPHA_DP264) += sys_dp264.o >> 83 obj-$(CONFIG_ALPHA_SHARK) += sys_dp264.o >> 84 obj-$(CONFIG_ALPHA_TITAN) += sys_titan.o err_titan.o 5 85 6 CFLAGS_armv8_deprecated.o := -I$(src) !! 86 ifneq ($(CONFIG_ALPHA_EB64P)$(CONFIG_ALPHA_EB66),) >> 87 obj-y += sys_eb64p.o >> 88 endif >> 89 >> 90 obj-$(CONFIG_ALPHA_EIGER) += sys_eiger.o >> 91 obj-$(CONFIG_ALPHA_JENSEN) += sys_jensen.o pci-noop.o >> 92 obj-$(CONFIG_ALPHA_MARVEL) += sys_marvel.o err_marvel.o >> 93 obj-$(CONFIG_ALPHA_MIATA) += sys_miata.o >> 94 obj-$(CONFIG_ALPHA_MIKASA) += sys_mikasa.o >> 95 obj-$(CONFIG_ALPHA_NAUTILUS) += sys_nautilus.o >> 96 obj-$(CONFIG_ALPHA_NORITAKE) += sys_noritake.o >> 97 obj-$(CONFIG_ALPHA_RAWHIDE) += sys_rawhide.o >> 98 obj-$(CONFIG_ALPHA_RUFFIAN) += sys_ruffian.o >> 99 obj-$(CONFIG_ALPHA_RX164) += sys_rx164.o >> 100 >> 101 ifneq ($(CONFIG_ALPHA_SABLE)$(CONFIG_ALPHA_LYNX),) >> 102 obj-y += sys_sable.o >> 103 endif >> 104 >> 105 ifneq ($(CONFIG_ALPHA_BOOK1)$(CONFIG_ALPHA_AVANTI)$(CONFIG_ALPHA_NONAME)$(CONFIG_ALPHA_P2K)$(CONFIG_ALPHA_XL),) >> 106 obj-y += sys_sio.o >> 107 endif >> 108 >> 109 obj-$(CONFIG_ALPHA_SX164) += sys_sx164.o >> 110 obj-$(CONFIG_ALPHA_TAKARA) += sys_takara.o >> 111 obj-$(CONFIG_ALPHA_WILDFIRE) += sys_wildfire.o 7 112 8 CFLAGS_REMOVE_ftrace.o = $(CC_FLAGS_FTRACE) !! 113 ifneq ($(CONFIG_ALPHA_MIATA)$(CONFIG_ALPHA_RUFFIAN)$(CONFIG_ALPHA_SX164),) 9 CFLAGS_REMOVE_insn.o = $(CC_FLAGS_FTRACE) !! 114 obj-y += irq_pyxis.o 10 CFLAGS_REMOVE_return_address.o = $(CC_FLAGS_FT !! 115 endif 11 !! 116 12 # Remove stack protector to avoid triggering u !! 117 ifneq ($(CONFIG_ALPHA_MIATA)$(CONFIG_ALPHA_DP264),) 13 # checks due to randomize_kstack_offset. !! 118 obj-y += es1888.o 14 CFLAGS_REMOVE_syscall.o = -fstack-protector - !! 119 endif 15 CFLAGS_syscall.o += -fno-stack-protecto << 16 << 17 # When KASAN is enabled, a stack trace is reco << 18 # can significantly impact performance. Avoid << 19 # collection code to minimize this impact. << 20 KASAN_SANITIZE_stacktrace.o := n << 21 << 22 # It's not safe to invoke KCOV when portions o << 23 # available or are out-of-sync with HW state. << 24 # inhibit KCOV instrumentation, disable it for << 25 KCOV_INSTRUMENT_entry-common.o := n << 26 KCOV_INSTRUMENT_idle.o := n << 27 << 28 # Object file lists. << 29 obj-y := debug-monitors.o en << 30 entry-common.o entr << 31 setup.o signal.o sy << 32 io.o vdso.o hyp-stu << 33 return_address.o cp << 34 cpufeature.o altern << 35 smp.o smp_spin_tabl << 36 syscall.o proton-pa << 37 << 38 obj-$(CONFIG_COMPAT) += sys << 39 sys << 40 obj-$(CONFIG_COMPAT) += sig << 41 obj-$(CONFIG_COMPAT_ALIGNMENT_FIXUPS) += com << 42 obj-$(CONFIG_KUSER_HELPERS) += kus << 43 obj-$(CONFIG_FUNCTION_TRACER) += ftr << 44 obj-$(CONFIG_MODULES) += mod << 45 obj-$(CONFIG_PERF_EVENTS) += per << 46 obj-$(CONFIG_HARDLOCKUP_DETECTOR_PERF) += wat << 47 obj-$(CONFIG_HAVE_HW_BREAKPOINT) += hw_ << 48 obj-$(CONFIG_CPU_PM) += sle << 49 obj-$(CONFIG_JUMP_LABEL) += jum << 50 obj-$(CONFIG_KGDB) += kgd << 51 obj-$(CONFIG_EFI) += efi << 52 obj-$(CONFIG_PCI) += pci << 53 obj-$(CONFIG_ARMV8_DEPRECATED) += arm << 54 obj-$(CONFIG_ACPI) += acp << 55 obj-$(CONFIG_ACPI_NUMA) += acp << 56 obj-$(CONFIG_ARM64_ACPI_PARKING_PROTOCOL) << 57 obj-$(CONFIG_PARAVIRT) += par << 58 obj-$(CONFIG_RANDOMIZE_BASE) += kas << 59 obj-$(CONFIG_HIBERNATION) += hib << 60 obj-$(CONFIG_ELF_CORE) += elf << 61 obj-$(CONFIG_KEXEC_CORE) += mac << 62 cpu << 63 obj-$(CONFIG_KEXEC_FILE) += mac << 64 obj-$(CONFIG_ARM64_RELOC_TEST) += arm << 65 arm64-reloc-test-y := reloc_test_core.o reloc_ << 66 obj-$(CONFIG_CRASH_DUMP) += cra << 67 obj-$(CONFIG_VMCORE_INFO) += vmc << 68 obj-$(CONFIG_ARM_SDE_INTERFACE) += sde << 69 obj-$(CONFIG_ARM64_PTR_AUTH) += poi << 70 obj-$(CONFIG_ARM64_MTE) += mte << 71 obj-y += vds << 72 obj-$(CONFIG_COMPAT_VDSO) += vds << 73 << 74 # Force dependency (vdso*-wrap.S includes vdso << 75 $(obj)/vdso-wrap.o: $(obj)/vdso/vdso.so << 76 $(obj)/vdso32-wrap.o: $(obj)/vdso32/vdso.so << 77 << 78 obj-y += pro << 79 obj-y += hea << 80 extra-y += vml << 81 120 82 ifeq ($(CONFIG_DEBUG_EFI),y) !! 121 ifneq ($(CONFIG_ALPHA_DP264)$(CONFIG_ALPHA_MIATA)$(CONFIG_ALPHA_SX164)$(CONFIG_ALPHA_TITAN),) 83 AFLAGS_head.o += -DVMLINUX_PATH="\"$(realpath !! 122 obj-y += smc37c669.o 84 endif 123 endif 85 124 86 # for cleaning !! 125 ifneq ($(CONFIG_ALPHA_PC164)$(CONFIG_ALPHA_LX164),) 87 subdir- += vdso vdso32 !! 126 obj-y += smc37c93x.o >> 127 endif >> 128 >> 129 ifneq ($(CONFIG_ALPHA_NONAME)$(CONFIG_ALPHA_EB164)$(CONFIG_ALPHA_AVANTI)$(CONFIG_ALPHA_P2K)$(CONFIG_ALPHA_XL)$(CONFIG_ALPHA_TAKARA),) >> 130 obj-y += ns87312.o >> 131 endif >> 132 >> 133 endif # GENERIC >> 134 >> 135 all: kernel.o head.o >> 136 >> 137 asm_offsets: check_asm >> 138 ./check_asm > $(TOPDIR)/include/asm-alpha/asm_offsets.h >> 139 >> 140 check_asm: check_asm.c >> 141 $(HOSTCC) -o $@ $< $(CPPFLAGS) -ffixed-8 >> 142 >> 143 clean:: >> 144 rm -f check_asm >> 145 >> 146 include $(TOPDIR)/Rules.make
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.