SubDir HAIKU_TOP src system boot arch arm ; UseLibraryHeaders [ FDirName libfdt ] ; UsePrivateHeaders [ FDirName kernel platform $(TARGET_BOOT_PLATFORM) ] ; SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers fdt ; # TODO: Is there any reason to recompile arch_string.S here? local librootArchObjects = # arch_string.o arch_string.S ; local kernelLibArchObjects = byteorder.o memset.o ; local kernelDebugSources = blue_screen.cpp frame_buffer_console.cpp ; local kernelArchDriverSources = # Serial UART Drivers arch_uart_8250.cpp arch_uart_8250_omap.cpp arch_uart_pl011.cpp ; local kernelGenericDriverSources = debug_uart_8250.cpp ; local platform ; for platform in [ MultiBootSubDirSetup u-boot efi ] { on $(platform) { DEFINES += _BOOT_MODE ; BootMergeObject [ FGristFiles boot_arch_$(TARGET_KERNEL_ARCH).o ] : # Kernel Drivers (src/system/kernel) $(kernelGenericDriverSources) $(kernelArchDriverSources) # Framebuffer Drivers arch_framebuffer_920.cpp arch_framebuffer_bcm2835.cpp arch_framebuffer_pxa.cpp arch_framebuffer_omap3.cpp # Mailbox drivers arch_mailbox_bcm2835.cpp arch_elf.cpp arch_cpu.cpp arch_mmu.cpp arch_start_kernel.S # Reuse a subset of kernel debugging. kernel_stubs.cpp $(kernelDebugSources) $(librootArchObjects) : : $(kernelLibArchObjects) ; SEARCH on [ FGristFiles arch_elf.cpp $(kernelArchDriverSources) ] = [ FDirName $(HAIKU_TOP) src system kernel arch $(TARGET_KERNEL_ARCH) ] ; SEARCH on [ FGristFiles $(kernelGenericDriverSources) ] = [ FDirName $(HAIKU_TOP) src system kernel arch generic ] ; SEARCH on [ FGristFiles $(librootArchObjects) ] = [ FDirName $(HAIKU_TOP) src system libroot posix string arch $(TARGET_ARCH) ] ; SEARCH on [ FGristFiles $(kernelDebugSources) ] = [ FDirName $(HAIKU_TOP) src system kernel debug ] ; } }