xref: /haiku/src/system/boot/platform/pxe_ia32/Jamfile (revision 9760dcae2038d47442f4658c2575844c6cf92c40)
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 $(TARGET_BOOT_PLATFORM) ;
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) -Wall -Wno-multichar ;
17	SubDirC++Flags $(defines) -Wall -Wno-multichar -fno-rtti ;
18}
19
20local genericPlatformSources =
21	text_menu.cpp
22	video_blit.cpp
23	video_splash.cpp
24	video_rle.cpp
25;
26
27local bios_ia32_src =
28	start.c
29	debug.c
30	bios.S
31	console.cpp
32	serial.cpp
33	keyboard.cpp
34	menu.cpp
35	mmu.cpp
36	multiboot.cpp
37	cpu.cpp
38	acpi.cpp
39	smp.cpp
40	support.S
41	video.cpp
42	hpet.cpp
43	apm.cpp
44;
45
46local bios_ia32_edid_src =
47	decode_edid.c
48	dump_edid.c
49;
50
51
52KernelMergeObject boot_platform_pxe_ia32.o :
53	pxe_stage2.S
54	smp_trampoline.S
55	pxe_bios.S
56	devices.cpp
57	network.cpp
58	pxe_undi.cpp
59	$(bios_ia32_src)
60	$(bios_ia32_edid_src)
61	$(genericPlatformSources)
62
63	: -fno-pic
64;
65
66
67rule BuildPXEstage1 bin : source {
68	SEARCH on $(source) = $(SEARCH_SOURCE) ;
69	Depends $(bin) : $(source) ;
70	MakeLocateDebug $(bin) ;
71	LocalClean clean : $(bin) ;
72}
73
74
75actions BuildPXEstage1 {
76	rm -f $(1)
77	$(TARGET_CC) -c -o $(1).o $(2) &&
78	$(TARGET_LD) --oformat binary --Ttext 0x7C00 -o $(1) $(1).o
79}
80
81BuildPXEstage1 pxehaiku : pxe_stage1.S ;
82
83SEARCH on [ FGristFiles $(bios_ia32_src) ]
84	= [ FDirName $(SUBDIR) $(DOTDOT) bios_ia32 ] ;
85
86SEARCH on [ FGristFiles $(bios_ia32_edid_src) ]
87	= [ FDirName $(HAIKU_TOP) src add-ons accelerants common ] ;
88
89SEARCH on [ FGristFiles $(genericPlatformSources) ]
90	= [ FDirName $(HAIKU_TOP) src system boot platform generic ] ;
91
92# We also need the bios_ia32 stage1.bin for building bin/makebootable
93SEARCH on stage1.bin
94 	= [ FDirName $(SUBDIR) $(DOTDOT) bios_ia32 ] ;
95