diff --git a/src/system/boot/platform/u-boot/Jamfile b/src/system/boot/platform/u-boot/Jamfile index c707717eaf..f1e8948c5c 100644 --- a/src/system/boot/platform/u-boot/Jamfile +++ b/src/system/boot/platform/u-boot/Jamfile @@ -27,9 +27,8 @@ local uImageFakeOS = "netbsd" ; SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src add-ons accelerants common ] ; -KernelMergeObject boot_platform_u-boot.o : - shell.S - arch_start_kernel.S +# First build the non arch dependent parts +KernelMergeObject boot_platform_u-boot_common.o : start2.cpp debug.cpp console.cpp @@ -48,6 +47,13 @@ KernelMergeObject boot_platform_u-boot.o : : boot_platform_generic.a ; +KernelMergeObject boot_platform_u-boot.o : + : : + # must come first to have _start_* at correct locations + boot_platform_u-boot_$(TARGET_ARCH).o + boot_platform_u-boot_common.o +; + # include board-specific defs SubInclude HAIKU_TOP src system boot platform $(TARGET_BOOT_PLATFORM) board ; # reset SubDir @@ -233,3 +239,5 @@ SEARCH on [ FGristFiles $(genericPlatformSources) ] # Tell the build system to where stage1.bin can be found, so it can be used # elsewhere. SEARCH on stage1.bin = $(SUBDIR) ; + +SubInclude HAIKU_TOP src system boot platform u-boot arch ; diff --git a/src/system/boot/platform/u-boot/arch/Jamfile b/src/system/boot/platform/u-boot/arch/Jamfile new file mode 100644 index 0000000000..c2aee1d93d --- /dev/null +++ b/src/system/boot/platform/u-boot/arch/Jamfile @@ -0,0 +1,3 @@ +SubDir HAIKU_TOP src system boot platform u-boot arch ; + +SubInclude HAIKU_TOP src system boot platform u-boot arch $(TARGET_ARCH) ; diff --git a/src/system/boot/platform/u-boot/arch/arm/Jamfile b/src/system/boot/platform/u-boot/arch/arm/Jamfile new file mode 100644 index 0000000000..a81e46bc90 --- /dev/null +++ b/src/system/boot/platform/u-boot/arch/arm/Jamfile @@ -0,0 +1,24 @@ +SubDir HAIKU_TOP src system boot platform u-boot arch arm ; + +SubDirHdrs $(HAIKU_TOP) src system boot platform $(TARGET_BOOT_PLATFORM) ; +UsePrivateSystemHeaders ; +UsePrivateHeaders kernel [ FDirName kernel arch $(TARGET_ARCH) ] + [ FDirName kernel boot platform $(HAIKU_BOOT_PLATFORM) ] ; +UsePrivateHeaders [ FDirName kernel arch $(TARGET_ARCH) board $(TARGET_BOOT_BOARD) ] ; + +SubDirC++Flags -fno-rtti ; + +KernelMergeObject boot_platform_u-boot_arm.o : + # must come first to have _start_* at correct locations + shell.S + + #arch_mmu.cpp + #arch_cpu_asm.S + arch_start_kernel.S + #cpu.cpp + #mmu.cpp + : -fno-pic +; + +#SEARCH on [ FGristFiles arch_cpu_asm.S arch_mmu.cpp ] +# = [ FDirName $(HAIKU_TOP) src system kernel arch $(TARGET_ARCH) ] ;