xref: /haiku/src/system/boot/platform/pxe_ia32/Jamfile (revision 1e60bdeab63fa7a57bc9a55b032052e95a18bd2c)
1SubDir HAIKU_TOP src system boot platform pxe_ia32 ;
2
3SubDirHdrs $(SUBDIR) $(DOTDOT) bios_ia32 ;
4SubDirHdrs $(HAIKU_TOP) headers private kernel boot platform bios_ia32 ;
5SubDirHdrs $(HAIKU_TOP) headers private kernel boot platform pxe_ia32 ;
6
7UsePrivateHeaders [ FDirName kernel disk_device_manager ] ;
8UsePrivateHeaders [ FDirName graphics common ] ;
9UsePrivateHeaders [ FDirName graphics vesa ] ;
10UsePrivateHeaders [ FDirName storage ] ;
11
12{
13	local defines = _BOOT_MODE _PXE_ENV ;
14
15	defines = [ FDefines $(defines) ] ;
16	SubDirCcFlags $(defines) ;
17	SubDirC++Flags $(defines) -fno-rtti ;
18}
19
20local bios_ia32_src =
21	start.cpp
22	debug.cpp
23	bios.cpp
24	bios_asm.S
25	console.cpp
26	serial.cpp
27	keyboard.cpp
28	menu.cpp
29	mmu.cpp
30	multiboot.cpp
31	cpu.cpp
32	acpi.cpp
33	smp.cpp
34	support.S
35	video.cpp
36	hpet.cpp
37	apm.cpp
38	interrupts.cpp
39	interrupts_asm.S
40	long.cpp
41	long_asm.S
42;
43
44local bios_ia32_edid_src =
45	decode_edid.c
46	dump_edid.c
47;
48
49
50local platform ;
51for platform in [ MultiBootSubDirSetup pxe_ia32 ] {
52	on $(platform) {
53		BootMergeObject boot_platform_pxe_ia32.o :
54			pxe_stage2.S
55			smp_trampoline.S
56			pxe_bios.S
57			devices.cpp
58			network.cpp
59			pxe_undi.cpp
60			$(bios_ia32_src)
61			$(bios_ia32_edid_src)
62
63			:
64			: boot_platform_generic_pxe_ia32.a
65		;
66
67
68		SEARCH on [ FGristFiles $(bios_ia32_src) ]
69			= [ FDirName $(SUBDIR) $(DOTDOT) bios_ia32 ] ;
70
71		SEARCH on [ FGristFiles $(bios_ia32_edid_src) ]
72			= [ FDirName $(HAIKU_TOP) src add-ons accelerants common ] ;
73
74		SEARCH on [ FGristFiles $(genericPlatformSources) ]
75			= [ FDirName $(HAIKU_TOP) src system boot platform generic ] ;
76
77		# We also need the bios_ia32 stage1.bin for building bin/makebootable
78		SEARCH on stage1.bin
79			= [ FDirName $(SUBDIR) $(DOTDOT) bios_ia32 ] ;
80	}
81}
82