xref: /haiku/src/system/boot/arch/x86/Jamfile (revision daf10ef34051db2f97ac3a116c86a6828fab9d66)
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