From 60ddfa7d9b1aab952562f21f57d0f555e59cf264 Mon Sep 17 00:00:00 2001 From: NicJA Date: Wed, 8 Mar 2017 03:22:09 +0000 Subject: [PATCH] synch mmakefile behaviour git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@54058 fb15a70f-31f2-0310-bbcc-cdcc74a49acc --- arch/i386-pc/kernel/mmakefile.src | 35 +++++++++++++++++++++-------------- arch/x86_64-pc/kernel/mmakefile.src | 18 +++++++++--------- 2 files changed, 30 insertions(+), 23 deletions(-) diff --git a/arch/i386-pc/kernel/mmakefile.src b/arch/i386-pc/kernel/mmakefile.src index a71c0c9585..47edc2a898 100644 --- a/arch/i386-pc/kernel/mmakefile.src +++ b/arch/i386-pc/kernel/mmakefile.src @@ -2,40 +2,47 @@ include $(SRCDIR)/config/aros.cfg +FILES := \ + kernel_startup \ + kernel_debug \ + platform_init \ + kernel_cpu \ + utils FUNCS := -FILES := kernel_startup kernel_debug platform_init kernel_cpu utils -AFILES := core_interrupts -MAINDIR := rom/kernel - -#MM kernel-kernel-pc-i386 : kernel-pc-acpica-includes includes-asm_h-i386 linklibs-bootconsole +ASMFILES := \ + core_interrupts +MAINDIR := rom/kernel +USER_AFLAGS := $(AFLAGS) -isystem $(GENINCDIR) -I$(SRCDIR)/arch/all-pc/kernel USER_INCLUDES := $(PRIV_KERNEL_INCLUDES) $(PRIV_EXEC_INCLUDES) \ -I$(SRCDIR)/arch/all-native/kernel \ -isystem $(SRCDIR)/arch/all-native/bootconsole/include -USER_AFLAGS := $(AFLAGS) -isystem $(GENINCDIR) -I$(SRCDIR)/arch/all-pc/kernel + +#MM kernel-kernel-pc-i386 : kernel-pc-acpica-includes includes-asm_h-i386 linklibs-bootconsole + %build_archspecific \ mainmmake=kernel-kernel maindir=$(MAINDIR) \ - arch=pc-i386 files="$(FILES) $(FUNCS)" asmfiles=$(AFILES) aflags=$(USER_AFLAGS) + arch=pc-i386 files="$(FILES) $(FUNCS)" asmfiles=$(ASMFILES) aflags=$(USER_AFLAGS) # Build smpboot.bin.o in $(GENDIR)/$(MAINDIR)/arch, where it will be picked up # by the linker automatically (make.tmpl macros link in everything that is found there) # However we don't want our intermediate files to be picked up, so we put them in # $(GENDIR)/$(CURDIR) -OUTDIR := $(GENDIR)/$(MAINDIR)/arch OBJDIR := $(GENDIR)/$(CURDIR) +ARCHOBJDIR := $(GENDIR)/$(MAINDIR)/arch -kernel-kernel-pc-i386 :: $(OUTDIR)/smpboot.bin.o -kernel-kernel-pc-i386-quick :: $(OUTDIR)/smpboot.bin.o -kernel-kernel-pc-i386-kobj :: $(OUTDIR)/smpboot.bin.o -kernel-kernel-pc-i386-kobj-quick :: $(OUTDIR)/smpboot.bin.o +kernel-kernel-pc-i386 :: $(ARCHOBJDIR)/smpboot.bin.o +kernel-kernel-pc-i386-quick :: $(ARCHOBJDIR)/smpboot.bin.o +kernel-kernel-pc-i386-kobj :: $(ARCHOBJDIR)/smpboot.bin.o +kernel-kernel-pc-i386-kobj-quick :: $(ARCHOBJDIR)/smpboot.bin.o %rule_assemble_multi basenames=smpbootstrap targetdir=$(OBJDIR) -%rule_link_binary file=$(OUTDIR)/smpboot.bin.o name=smpbootstrap objs=$(OBJDIR)/smpbootstrap.o ldflags="-m elf_i386" +%rule_link_binary file=$(ARCHOBJDIR)/smpboot.bin.o name=smpbootstrap objs=$(OBJDIR)/smpbootstrap.o ldflags="-m elf_i386" $(OBJDIR)/smpbootstrap.o : | $(OBJDIR) -GLOB_MKDIRS += $(OUTDIR) $(OBJDIR) +GLOB_MKDIRS += $(ARCHOBJDIR) $(OBJDIR) %common diff --git a/arch/x86_64-pc/kernel/mmakefile.src b/arch/x86_64-pc/kernel/mmakefile.src index 80c1ac9060..092e7a1d72 100644 --- a/arch/x86_64-pc/kernel/mmakefile.src +++ b/arch/x86_64-pc/kernel/mmakefile.src @@ -31,20 +31,20 @@ USER_INCLUDES := $(PRIV_KERNEL_INCLUDES) -I$(SRCDIR)/arch/all-native/kernel \ # This builds SMP bootstrap code OBJDIR := $(GENDIR)/$(CURDIR) -DESTDIR := $(GENDIR)/$(MAINDIR)/arch +ARCHOBJDIR := $(GENDIR)/$(MAINDIR)/arch -#MM -kernel-kernel-pc-x86_64 :: $(OBJDIR) $(DESTDIR)/smpboot.bin.o -#MM -kernel-kernel-pc-x86_64-kobj :: $(OBJDIR) $(DESTDIR)/smpboot.bin.o +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=$(DESTDIR)/smpboot.bin.o name=smpbootstrap objs=$(OBJDIR)/smpbootstrap.o +%rule_link_binary file=$(ARCHOBJDIR)/smpboot.bin.o name=smpbootstrap objs=$(OBJDIR)/smpbootstrap.o -$(OBJDIR): - @$(ECHO) Creating $@... - @$(MKDIR) $@ +$(OBJDIR)/smpbootstrap.o : | $(OBJDIR) + +GLOB_MKDIRS += $(ARCHOBJDIR) $(OBJDIR) %common -- 2.11.4.GIT