AROS-v0/arch/x86_64-pc/kernel/mmakefile.src

51 lines
1.7 KiB
Plaintext

# $Id$
include $(SRCDIR)/config/aros.cfg
FILES := \
kernel_startup \
platform_init \
kernel_cpu \
kernel_debug \
kernel_memory \
kernel_bootmem \
mmu
FUNCS :=
ASMFILES := \
core_interrupts
MAINDIR := rom/kernel
USER_AFLAGS := -I$(GENINCDIR) -I$(SRCDIR)/arch/all-pc/kernel
USER_INCLUDES := $(PRIV_KERNEL_INCLUDES) -I$(SRCDIR)/arch/all-native/kernel \
-isystem $(SRCDIR)/arch/all-native/bootconsole/include
#MM kernel-kernel-pc-x86_64 : kernel-pc-acpica-includes includes-asm_h-$(CPU) includes kernel-kernel-includes linklibs-bootconsole
#MM kernel-kernel-pc-x86_64-kobj : includes-asm_h-$(CPU) includes kernel-kernel-includes linklibs-bootconsole
#MM kernel-kernel-pc-x86_64-quick : kernel-kernel-native-quick
#MM kernel-kernel-pc-x86_64-kobj-quick : kernel-kernel-native-quick
%build_archspecific \
mainmmake=kernel-kernel maindir=$(MAINDIR) \
arch=pc-x86_64 files="$(FILES) $(FUNCS)" asmfiles=$(ASMFILES) modname=kernel usesdks="private config"
# This builds SMP bootstrap code
OBJDIR := $(GENDIR)/$(CURDIR)
ARCHOBJDIR := $(GENDIR)/$(MAINDIR)/kernel/arch
kernel-kernel-pc-x86_64 :: $(ARCHOBJDIR)/smpboot.bin.o
kernel-kernel-pc-x86_64-quick :: $(ARCHOBJDIR)/smpboot.bin.o
kernel-kernel-pc-x86_64-kobj :: $(ARCHOBJDIR)/smpboot.bin.o
kernel-kernel-pc-x86_64-kobj-quick :: $(ARCHOBJDIR)/smpboot.bin.o
%rule_assemble_multi basenames=smpbootstrap targetdir=$(OBJDIR)
# Without -N the linker tries to page-align .text section and produces a huge file (over 2MB)
%rule_link_binary file=$(ARCHOBJDIR)/smpboot.bin.o name=smpbootstrap objs=$(OBJDIR)/smpbootstrap.o
$(OBJDIR)/smpbootstrap.o : | $(OBJDIR)
GLOB_MKDIRS += $(ARCHOBJDIR) $(OBJDIR)
%common