make sure smpboot is generated in the correct directory
[AROS.git] / arch / x86_64-pc / kernel / mmakefile.src
blob9554972684e46231e077cfa5662f2f55b05551fd
1 # $Id$
3 include $(SRCDIR)/config/aros.cfg
5 FILES    := \
6              kernel_startup \
7              platform_init \
8              kernel_cpu \
9              kernel_debug \
10              kernel_memory \
11              kernel_bootmem \
12              mmu
13 FUNCS    :=
14 ASMFILES := \
15              core_interrupts
17 MAINDIR       := rom/kernel
18 USER_AFLAGS   := -I$(GENINCDIR) -I$(SRCDIR)/arch/all-pc/kernel
19 USER_INCLUDES := $(PRIV_KERNEL_INCLUDES) -I$(SRCDIR)/arch/all-native/kernel \
20                  -isystem $(SRCDIR)/arch/all-native/bootconsole/include
22 #MM kernel-kernel-pc-x86_64 : kernel-pc-acpica-includes includes-asm_h-$(CPU) includes kernel-kernel-includes linklibs-bootconsole
23 #MM kernel-kernel-pc-x86_64-kobj : includes-asm_h-$(CPU) includes kernel-kernel-includes linklibs-bootconsole
24 #MM kernel-kernel-pc-x86_64-quick : kernel-kernel-native-quick
25 #MM kernel-kernel-pc-x86_64-kobj-quick : kernel-kernel-native-quick
27 %build_archspecific \
28   mainmmake=kernel-kernel maindir=$(MAINDIR) \
29   arch=pc-x86_64 files="$(FILES) $(FUNCS)" asmfiles=$(ASMFILES) modname=kernel
31 # This builds SMP bootstrap code
33 OBJDIR  := $(GENDIR)/$(CURDIR)
34 ARCHOBJDIR := $(GENDIR)/$(MAINDIR)/kernel/arch
36 kernel-kernel-pc-x86_64 :: $(ARCHOBJDIR)/smpboot.bin.o 
37 kernel-kernel-pc-x86_64-quick :: $(ARCHOBJDIR)/smpboot.bin.o 
38 kernel-kernel-pc-x86_64-kobj :: $(ARCHOBJDIR)/smpboot.bin.o
39 kernel-kernel-pc-x86_64-kobj-quick :: $(ARCHOBJDIR)/smpboot.bin.o
41 %rule_assemble_multi basenames=smpbootstrap targetdir=$(OBJDIR)
43 # Without -N the linker tries to page-align .text section and produces a huge file (over 2MB)
44 %rule_link_binary file=$(ARCHOBJDIR)/smpboot.bin.o name=smpbootstrap objs=$(OBJDIR)/smpbootstrap.o
46 $(OBJDIR)/smpbootstrap.o : | $(OBJDIR)
48 GLOB_MKDIRS += $(ARCHOBJDIR) $(OBJDIR)
50 %common