1SubDir HAIKU_TOP src system boot arch x86 ; 2 3local platform ; 4for platform in [ MultiBootSubDirSetup bios_ia32 efi pxe_ia32 ] { 5 on $(platform) { 6 DEFINES += _BOOT_MODE ; 7 8 local kernelArchSources = 9 arch_elf.cpp 10 ; 11 12 local kernelArchSpecificSources ; 13 local kernelLibArchSpecificSources ; 14 if $(TARGET_ARCH) = x86_64 && $(TARGET_BOOT_PLATFORM) = efi { 15 kernelArchSpecificSources = cpuid.cpp ; 16 kernelLibArchSpecificSources = arch_string.cpp ; 17 } else { 18 kernelArchSpecificSources = cpuid.S ; 19 kernelLibArchSpecificSources = arch_string.S ; 20 } 21 22 local librootOsArchSources = 23 byteorder.S 24 ; 25 26 BootMergeObject [ FGristFiles boot_arch_$(TARGET_KERNEL_ARCH).o ] : 27 $(kernelArchSources) 28 $(kernelArchSpecificSources) 29 $(kernelLibArchSpecificSources) 30 $(librootOsArchSources) 31 arch_cpu.cpp 32 : -std=c++11 # additional flags 33 ; 34 35 SEARCH on [ FGristFiles $(kernelArchSources) ] 36 = [ FDirName $(HAIKU_TOP) src system kernel arch x86 ] ; 37 38 if $(TARGET_ARCH) = x86_64 && $(TARGET_BOOT_PLATFORM) = efi { 39 SEARCH on [ FGristFiles $(kernelArchSpecificSources) ] 40 = [ FDirName $(HAIKU_TOP) src system kernel arch x86 64 ] ; 41 SEARCH on [ FGristFiles $(kernelLibArchSpecificSources) ] 42 = [ FDirName $(HAIKU_TOP) src system libroot posix string arch x86_64 ] ; 43 } else { 44 SEARCH on [ FGristFiles $(kernelArchSpecificSources) ] 45 = [ FDirName $(HAIKU_TOP) src system kernel arch x86 32 ] ; 46 SEARCH on [ FGristFiles $(kernelLibArchSpecificSources) ] 47 = [ FDirName $(HAIKU_TOP) src system kernel lib arch x86 ] ; 48 } 49 SEARCH on [ FGristFiles $(librootOsArchSources) ] 50 = [ FDirName $(HAIKU_TOP) src system libroot os arch x86 ] ; 51 } 52} 53