SubDir HAIKU_TOP src system boot arch arm ;

#XXX: should not be needed here
UsePrivateHeaders [ FDirName kernel arch $(TARGET_ARCH) board $(TARGET_BOOT_BOARD) ] ;

{
	local defines = _BOOT_MODE ;

	defines = [ FDefines $(defines) ] ;
	SubDirCcFlags $(defines) ;
	SubDirC++Flags $(defines) -fno-rtti ;
}

# TODO: Is there any reason to recompile arch_string.S here?
local librootArchObjects =
#	<src!system!libroot!posix!string!arch!$(TARGET_ARCH)>arch_string.o
	arch_string.S
;

local kernelLibArchObjects =
	<src!system!kernel!lib!arch!$(TARGET_ARCH)>byteorder.o
	<src!system!kernel!lib!arch!$(TARGET_ARCH)>memset.o
;

KernelMergeObject boot_arch_$(TARGET_ARCH).o :
	debug_uart_8250.cpp
	arch_uart_8250.cpp
	arch_uart_pl011.cpp
	arch_elf.cpp
	arch_video.cpp
	arch_video_920.cpp
	arch_video_pxa.cpp
	arch_video_omap3.cpp
	$(librootArchObjects)
	: -fno-pic
	:
	$(kernelLibArchObjects)
;

SEARCH on [ FGristFiles arch_elf.cpp uart.cpp arch_uart_8250.cpp arch_uart_pl011.cpp ]
	= [ FDirName $(HAIKU_TOP) src system kernel arch $(TARGET_ARCH) ] ;

SEARCH on [ FGristFiles debug_uart_8250.cpp ]
	= [ FDirName $(HAIKU_TOP) src system kernel arch generic ] ;

SEARCH on [ FGristFiles $(librootArchObjects) ]
	= [ FDirName $(HAIKU_TOP) src system libroot posix string arch $(TARGET_ARCH) ] ;
