2 include $(TOP)/config/make.cfg
4 FILES := kernel_startup platform_init kernel_cpu kernel_debug kernel_memory kernel_bootmem \
5 intr acpi_tables mmu smp
6 FUNCS := getcpucount getcpunumber
7 ASMFILES := core_interrupts
10 USER_AFLAGS := -I$(GENINCDIR)
11 USER_INCLUDES := $(PRIV_KERNEL_INCLUDES) -I$(SRCDIR)/arch/all-native/kernel \
12 -isystem $(SRCDIR)/arch/all-native/bootconsole/include
14 #MM kernel-kernel-pc-x86_64 : includes-asm_h-$(CPU) includes kernel-kernel-includes
15 #MM kernel-kernel-pc-x86_64-pkg : includes-asm_h-$(CPU) includes kernel-kernel-includes
16 #MM kernel-kernel-pc-x86_64-kobj : includes-asm_h-$(CPU) includes kernel-kernel-includes
17 #MM kernel-kernel-pc-x86_64-quick : kernel-kernel-native-quick
18 #MM kernel-kernel-pc-x86_64-pkg-quick : kernel-kernel-native-quick
19 #MM kernel-kernel-pc-x86_64-kobj-quick : kernel-kernel-native-quick
22 mainmmake=kernel-kernel maindir=$(MAINDIR) \
23 arch=pc-x86_64 files="$(FILES) $(FUNCS)" asmfiles=$(ASMFILES)
25 # This builds SMP bootstrap code
27 OBJDIR := $(GENDIR)/$(CURDIR)
28 DESTDIR := $(GENDIR)/$(MAINDIR)/arch
31 kernel-kernel-pc-x86_64 :: $(OBJDIR) $(DESTDIR)/smpboot.bin.o
33 kernel-kernel-pc-x86_64-kobj :: $(OBJDIR) $(DESTDIR)/smpboot.bin.o
35 kernel-kernel-pc-x86_64-pkg :: $(OBJDIR) $(DESTDIR)/smpboot.bin.o
37 %rule_assemble_multi basenames=smpbootstrap targetdir=$(OBJDIR)
39 # Without -N the linker tries to page-align .text section and produces a huge file (over 2MB)
40 %rule_link_binary file=$(DESTDIR)/smpboot.bin.o name=smpbootstrap objs=$(OBJDIR)/smpbootstrap.o
43 @$(ECHO) Creating $@...