1 # SPDX-License-Identifier: GPL-2.0 !! 1 # $Id: Makefile,v 1.62 2000/12/15 00:41:17 davem Exp $ 2 << 3 # << 4 # Makefile for the linux kernel. 2 # Makefile for the linux kernel. 5 # 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 SH = $(CONFIG_SHELL) >> 11 >> 12 .S.s: >> 13 $(CPP) $(AFLAGS) -ansi $< -o $*.s 6 14 7 asflags-y := -ansi !! 15 .S.o: >> 16 $(CC) $(AFLAGS) -ansi -c $< -o $*.o 8 17 9 # Undefine sparc when processing vmlinux.lds - !! 18 all: kernel.o head.o init_task.o 10 # And teach CPP we are doing $(BITS) builds (f !! 19 11 CPPFLAGS_vmlinux.lds := -Usparc -m$(BITS) !! 20 O_TARGET := kernel.o 12 extra-y += vmlinux.lds !! 21 13 !! 22 export-objs := sparc_ksyms.o 14 ifdef CONFIG_FUNCTION_TRACER !! 23 IRQ_OBJS := irq.o sun4m_irq.o sun4c_irq.o sun4d_irq.o 15 # Do not profile debug and lowlevel utilities !! 24 obj-y := entry.o wof.o wuf.o etrap.o rtrap.o traps.o ${IRQ_OBJS} \ 16 CFLAGS_REMOVE_ftrace.o := -pg !! 25 process.o signal.o ioport.o setup.o idprom.o \ 17 CFLAGS_REMOVE_time_$(BITS).o := -pg !! 26 sys_sparc.o sunos_asm.o sparc-stub.o systbls.o \ 18 CFLAGS_REMOVE_perf_event.o := -pg !! 27 time.o windows.o cpu.o devices.o sclow.o \ 19 CFLAGS_REMOVE_pcr.o := -pg !! 28 tadpole.o tick14.o ptrace.o sys_solaris.o \ >> 29 unaligned.o muldiv.o pcic.o semaphore.o sparc_ksyms.o >> 30 >> 31 obj-$(CONFIG_SUN4) += sun4setup.o >> 32 obj-$(CONFIG_SMP) += trampoline.o smp.o sun4m_smp.o sun4d_smp.o >> 33 obj-$(CONFIG_SUN_AUXIO) += auxio.o >> 34 obj-$(CONFIG_PCI) += ebus.o >> 35 obj-$(CONFIG_SUN_PM) += apc.o pmc.o >> 36 >> 37 ifdef CONFIG_SUNOS_EMUL >> 38 obj-y += sys_sunos.o sunos_ioctl.o 20 endif 39 endif 21 40 22 obj-y := head_$(BITS).o !! 41 head.o: head.S 23 obj-$(CONFIG_SPARC64) += urtt_fill.o !! 42 $(CC) $(AFLAGS) -ansi -c $*.S -o $*.o 24 obj-$(CONFIG_SPARC32) += entry.o wof.o wuf.o !! 43 25 obj-$(CONFIG_SPARC32) += etrap_32.o !! 44 check_asm: dummy 26 obj-$(CONFIG_SPARC32) += rtrap_32.o !! 45 @if [ ! -r $(HPATH)/asm/asm_offsets.h ] ; then \ 27 obj-y += traps_$(BITS).o !! 46 touch $(HPATH)/asm/asm_offsets.h ; \ 28 !! 47 fi 29 # IRQ !! 48 @echo "/* Automatically generated. Do not edit. */" > asm_offsets.h 30 obj-y += irq_$(BITS).o !! 49 @echo "#ifndef __ASM_OFFSETS_H__" >> asm_offsets.h 31 obj-$(CONFIG_SPARC32) += sun4m_irq.o sun4d_i !! 50 @echo "#define __ASM_OFFSETS_H__" >> asm_offsets.h 32 !! 51 @echo "" >> asm_offsets.h 33 obj-y += process_$(BITS).o !! 52 @echo "#include <linux/config.h>" >> asm_offsets.h 34 obj-y += process.o !! 53 @echo "" >> asm_offsets.h 35 obj-y += signal_$(BITS).o !! 54 @echo "#include <linux/config.h>" > tmp.c 36 obj-y += sigutil_$(BITS).o !! 55 @echo "#include <linux/sched.h>" >> tmp.c 37 obj-$(CONFIG_SPARC32) += ioport.o !! 56 $(CPP) $(CPPFLAGS) tmp.c -o tmp.i 38 obj-y += setup_$(BITS).o !! 57 @echo "/* Automatically generated. Do not edit. */" > check_asm_data.c 39 obj-y += idprom.o !! 58 @echo "#include <linux/config.h>" >> check_asm_data.c 40 obj-y += sys_sparc_$(BITS).o !! 59 @echo "#include <linux/sched.h>" >> check_asm_data.c 41 obj-$(CONFIG_SPARC32) += systbls_32.o !! 60 @echo "unsigned int check_asm_data[] = {" >> check_asm_data.c 42 obj-y += time_$(BITS).o !! 61 $(SH) ./check_asm.sh -data task tmp.i check_asm_data.c 43 obj-$(CONFIG_SPARC32) += windows.o !! 62 $(SH) ./check_asm.sh -data mm tmp.i check_asm_data.c 44 obj-y += cpu.o !! 63 $(SH) ./check_asm.sh -data thread tmp.i check_asm_data.c 45 obj-$(CONFIG_SPARC64) += vdso.o !! 64 @echo '};' >> check_asm_data.c 46 obj-$(CONFIG_SPARC32) += devices.o !! 65 $(CC) $(CFLAGS) -S -o check_asm_data.s check_asm_data.c 47 obj-y += ptrace_$(BITS).o !! 66 @echo "/* Automatically generated. Do not edit. */" > check_asm.c 48 obj-y += unaligned_$(BITS).o !! 67 @echo 'extern int printf(const char *fmt, ...);' >>check_asm.c 49 obj-y += una_asm_$(BITS).o !! 68 @echo "unsigned int check_asm_data[] = {" >> check_asm.c 50 obj-y += prom_common.o !! 69 $(SH) ./check_asm.sh -ints check_asm_data.s check_asm.c 51 obj-y += prom_$(BITS).o !! 70 @echo "};" >> check_asm.c 52 obj-y += of_device_common.o !! 71 @echo 'int main(void) {' >> check_asm.c 53 obj-y += of_device_$(BITS).o !! 72 @echo 'int i = 0;' >> check_asm.c 54 obj-$(CONFIG_SPARC64) += prom_irqtrans.o !! 73 $(SH) ./check_asm.sh -printf task tmp.i check_asm.c 55 !! 74 $(SH) ./check_asm.sh -printf mm tmp.i check_asm.c 56 obj-$(CONFIG_SPARC32) += leon_kernel.o !! 75 $(SH) ./check_asm.sh -printf thread tmp.i check_asm.c 57 obj-$(CONFIG_SPARC32) += leon_pmc.o !! 76 @echo 'return 0; }' >> check_asm.c 58 !! 77 @rm -f tmp.[ci] check_asm_data.[cs] 59 obj-$(CONFIG_SPARC64) += reboot.o !! 78 $(HOSTCC) -o check_asm check_asm.c 60 obj-$(CONFIG_SPARC64) += sysfs.o !! 79 ./check_asm >> asm_offsets.h 61 obj-$(CONFIG_SPARC64) += iommu.o iommu-commo !! 80 @rm -f check_asm check_asm.c 62 obj-$(CONFIG_SPARC64) += central.o !! 81 @echo "" >> asm_offsets.h 63 obj-$(CONFIG_SPARC64) += starfire.o !! 82 @echo "#endif /* __ASM_OFFSETS_H__ */" >> asm_offsets.h 64 obj-$(CONFIG_SPARC64) += power.o !! 83 @if test -r $(HPATH)/asm/asm_offsets.h; then \ 65 obj-$(CONFIG_SPARC64) += sbus.o !! 84 if cmp -s asm_offsets.h $(HPATH)/asm/asm_offsets.h; then \ 66 obj-$(CONFIG_SPARC64) += ebus.o !! 85 echo $(HPATH)/asm/asm_offsets.h is unchanged; \ 67 obj-$(CONFIG_SPARC64) += visemul.o !! 86 rm -f asm_offsets.h; \ 68 obj-$(CONFIG_SPARC64) += hvapi.o !! 87 else \ 69 obj-$(CONFIG_SPARC64) += sstate.o !! 88 mv -f asm_offsets.h $(HPATH)/asm/asm_offsets.h; \ 70 obj-$(CONFIG_SPARC64) += mdesc.o !! 89 fi; \ 71 obj-$(CONFIG_SPARC64) += adi_64.o !! 90 else \ 72 obj-$(CONFIG_SPARC64) += pcr.o !! 91 mv -f asm_offsets.h $(HPATH)/asm/asm_offsets.h; \ 73 obj-$(CONFIG_SPARC64) += nmi.o !! 92 fi 74 obj-$(CONFIG_SPARC64_SMP) += cpumap.o << 75 << 76 obj-$(CONFIG_PCIC_PCI) += pcic.o << 77 obj-$(CONFIG_LEON_PCI) += leon_pci.o << 78 obj-$(CONFIG_SPARC_GRPCI2)+= leon_pci_grpci2.o << 79 obj-$(CONFIG_SPARC_GRPCI1)+= leon_pci_grpci1.o << 80 << 81 obj-$(CONFIG_SMP) += trampoline_$(BITS << 82 obj-$(CONFIG_SPARC32_SMP) += sun4m_smp.o sun4d << 83 obj-$(CONFIG_SPARC64_SMP) += hvtramp.o << 84 << 85 obj-y += auxio_$(BITS).o << 86 obj-$(CONFIG_SUN_PM) += apc.o pmc.o << 87 << 88 obj-y += termios.o << 89 << 90 obj-$(CONFIG_MODULES) += module.o << 91 obj-$(CONFIG_MODULES) += sparc_ksyms.o << 92 obj-$(CONFIG_SPARC_LED) += led.o << 93 obj-$(CONFIG_KGDB) += kgdb_$(BITS).o << 94 << 95 obj-$(CONFIG_DYNAMIC_FTRACE) += ftrace.o << 96 obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += ftrace. << 97 << 98 obj-$(CONFIG_EARLYFB) += btext.o << 99 obj-$(CONFIG_STACKTRACE) += stacktrace.o << 100 # sparc64 PCI << 101 obj-$(CONFIG_SPARC64_PCI) += pci.o pci_comm << 102 obj-$(CONFIG_SPARC64_PCI) += pci_psycho.o p << 103 obj-$(CONFIG_SPARC64_PCI) += pci_sun4v.o pc << 104 obj-$(CONFIG_SPARC64_PCI_MSI) += pci_msi.o << 105 << 106 << 107 obj-$(CONFIG_COMPAT) += sys32.o sys_sp << 108 << 109 obj-$(CONFIG_US3_MC) += chmc.o << 110 << 111 obj-$(CONFIG_KPROBES) += kprobes.o << 112 obj-$(CONFIG_SUN_LDOMS) += ldc.o vio.o viohs.o << 113 << 114 obj-$(CONFIG_AUDIT) += audit.o << 115 audit--$(CONFIG_AUDIT) := compat_audit.o << 116 obj-$(CONFIG_COMPAT) += $(audit--y) << 117 93 118 pc--$(CONFIG_PERF_EVENTS) := perf_event.o << 119 obj-$(CONFIG_SPARC64) += $(pc--y) << 120 94 121 obj-$(CONFIG_UPROBES) += uprobes.o !! 95 include $(TOPDIR)/Rules.make 122 obj-$(CONFIG_JUMP_LABEL) += jump_label.o <<
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.