⛏️ index : haiku.git

SubDir HAIKU_TOP src system boot platform u-boot ;

SubDirHdrs $(HAIKU_TOP) headers private kernel boot platform $(TARGET_BOOT_PLATFORM) ;
SubDirHdrs $(HAIKU_TOP) headers private kernel platform $(TARGET_BOOT_PLATFORM) ;
SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers fdt ;

SubDirHdrs $(HAIKU_TOP) src system boot arch $(TARGET_KERNEL_ARCH_DIR) ;
SubDirHdrs $(HAIKU_TOP) src system boot platform u-boot arch $(TARGET_KERNEL_ARCH_DIR) ;

UseLibraryHeaders [ FDirName libfdt ] ;

UsePrivateHeaders [ FDirName kernel disk_device_manager ] ;
UsePrivateHeaders [ FDirName graphics common ] ;
UsePrivateHeaders [ FDirName graphics vesa ] ;
UsePrivateHeaders [ FDirName storage ] ;
UsePrivateHeaders [ FDirName kernel arch generic ] ;

{
    SubDirCcFlags -g3 -O0 ;
    SubDirC++Flags -fno-rtti -g3 -O0 ;
}

SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src add-ons accelerants common ] ;

SEARCH on [ FGristFiles $(genericPlatformSources) ]
    = [ FDirName $(HAIKU_TOP) src system boot platform generic ] ;

local platform ;
for platform in [ MultiBootSubDirSetup u-boot ] {
	on $(platform) {

		# First build the non arch dependent parts
		BootMergeObject boot_platform_u-boot_common.o :
		    start.cpp
		    debug.cpp
		    console.cpp
		    serial.cpp
		    devices.cpp
		    keyboard.cpp
		    menu.cpp
		    cpu.cpp
		    uimage.cpp
		    video.cpp
		    $(genericPlatformSources)
		    :
		    :
		    boot_platform_generic_u-boot.a
		    [ MultiBootGristFiles boot_fdt.a ]
		;

		BootMergeObject boot_platform_u-boot.o :
		    : :
		    # must come first to have _start_* at correct locations
		    boot_platform_u-boot_$(TARGET_ARCH).o
		    boot_platform_u-boot_common.o
		;
	}
}


# Tell the build system to where stage1.bin can be found, so it can be used
# elsewhere.
SEARCH on stage1.bin = $(SUBDIR) ;

SubInclude HAIKU_TOP src system boot platform u-boot arch ;