xref: /haiku/src/system/boot/arch/arm/Jamfile (revision 0f9ffb37c166a9d9257044c8937f6450f4257b75)
1SubDir HAIKU_TOP src system boot arch arm ;
2
3UseLibraryHeaders [ FDirName libfdt ] ;
4UsePrivateHeaders [ FDirName kernel platform $(TARGET_BOOT_PLATFORM) ] ;
5SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers fdt ;
6
7# TODO: Is there any reason to recompile arch_string.S here?
8local librootArchObjects =
9#	<src!system!libroot!posix!string!arch!$(TARGET_ARCH)>arch_string.o
10	arch_string.S
11;
12
13local kernelLibArchObjects =
14	<src!system!kernel!lib!arch!$(TARGET_ARCH)>byteorder.o
15	<src!system!kernel!lib!arch!$(TARGET_ARCH)>memset.o
16;
17
18local kernelDebugSources =
19	blue_screen.cpp
20	frame_buffer_console.cpp
21;
22
23local kernelArchDriverSources =
24	# Serial UART Drivers
25	arch_uart_8250.cpp
26	arch_uart_8250_omap.cpp
27	arch_uart_pl011.cpp
28;
29
30local kernelGenericDriverSources =
31	debug_uart_8250.cpp
32;
33
34local platform ;
35for platform in [ MultiBootSubDirSetup u-boot efi ] {
36    on $(platform) {
37		DEFINES += _BOOT_MODE ;
38		BootMergeObject [ FGristFiles boot_arch_$(TARGET_KERNEL_ARCH).o ] :
39			# Kernel Drivers (src/system/kernel)
40			$(kernelGenericDriverSources)
41			$(kernelArchDriverSources)
42
43			# Framebuffer Drivers
44			arch_framebuffer_920.cpp
45			arch_framebuffer_bcm2835.cpp
46			arch_framebuffer_pxa.cpp
47			arch_framebuffer_omap3.cpp
48
49			# Mailbox drivers
50			arch_mailbox_bcm2835.cpp
51
52			arch_elf.cpp
53			arch_cpu.cpp
54			arch_mmu.cpp
55			arch_start_kernel.S
56
57			# Reuse a subset of kernel debugging.
58			kernel_stubs.cpp
59			$(kernelDebugSources)
60
61			$(librootArchObjects)
62			:
63			:
64			$(kernelLibArchObjects)
65		;
66		SEARCH on [ FGristFiles arch_elf.cpp $(kernelArchDriverSources) ]
67			= [ FDirName $(HAIKU_TOP) src system kernel arch $(TARGET_KERNEL_ARCH) ] ;
68
69		SEARCH on [ FGristFiles $(kernelGenericDriverSources) ]
70			= [ FDirName $(HAIKU_TOP) src system kernel arch generic ] ;
71
72		SEARCH on [ FGristFiles $(librootArchObjects) ]
73			= [ FDirName $(HAIKU_TOP) src system libroot posix string arch $(TARGET_ARCH) ] ;
74
75		SEARCH on [ FGristFiles $(kernelDebugSources) ]
76			= [ FDirName $(HAIKU_TOP) src system kernel debug ] ;
77	}
78}
79
80