⛏️ index : haiku.git

SubDir HAIKU_TOP src system boot platform bios_ia32 ;

SubDirHdrs $(HAIKU_TOP) headers private kernel boot platform bios_ia32 ;

UsePrivateHeaders [ FDirName kernel disk_device_manager ] ;
UsePrivateHeaders [ FDirName graphics common ] ;
UsePrivateHeaders [ FDirName graphics vesa ] ;
UsePrivateHeaders [ FDirName interface ] ;
UsePrivateHeaders [ FDirName storage ] ;

{
	local defines = _BOOT_PLATFORM_BIOS ;

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

local platform ;
for platform in [ MultiBootSubDirSetup bios_ia32 ] {
	on $(platform) {
		SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src add-ons accelerants common ] ;

		BootMergeObject boot_platform_bios_ia32.o :
			shell.S
			start.cpp
			debug.cpp
			bios.cpp
			bios_asm.S
			console.cpp
			serial.cpp
			devices.cpp
			keyboard.cpp
			menu.cpp
			mmu.cpp
			multiboot.cpp
			cpu.cpp
			acpi.cpp
			smp.cpp
			smp_trampoline.S
			support.S
			video.cpp
			apm.cpp
			interrupts.cpp
			interrupts_asm.S
			long.cpp
			long_asm.S

			# VESA/DDC EDID
			decode_edid.c
			dump_edid.c

			:
			: boot_platform_generic_bios_ia32.a
		;
	}
}

local flags = -f bin -O5 -dKERNEL_PLATFORM=$(HAIKU_KERNEL_PLATFORM) ;
NASMFLAGS on stage1.bin = $(flags) ;

Object stage1.bin : stage1.nasm ;