xref: /haiku/src/system/boot/Jamfile (revision 5115ca085884f7b604a3d607688f0ca20fb7cf57)
1SubDir HAIKU_TOP src system boot ;
2
3local librootFunctions =
4	byteorder.o
5	ctype.o
6	qsort.o
7	kernel_vsprintf.o
8	memset.o
9	memcmp.o
10	memcpy.o
11	memmove.o
12	strdup.o
13	strlen.o
14	strnlen.o
15	strcmp.o
16	strcasecmp.o
17	strncmp.o
18	strcat.o
19	strcpy.o
20	strlcat.o
21	strlcpy.o
22	strchr.o
23	strrchr.o
24	strtol.o
25	arch_string.o
26;
27
28local platformObjects = ;
29if $(TARGET_ARCH) = x86 {
30	platformObjects += <src!system!kernel!arch!$(TARGET_ARCH)>cpuid.o ;
31}
32
33KernelLd boot_loader_$(TARGET_BOOT_PLATFORM) :
34	boot_platform_$(TARGET_BOOT_PLATFORM).o
35	boot_arch_$(TARGET_ARCH).o
36	boot_loader.a
37	boot_net.a
38	boot_partitions.a
39
40	# file systems
41	boot_bfs.a
42	boot_amiga_ffs.a
43	boot_tarfs.a
44
45	libz.a
46
47	# libroot functions needed by the stage2 boot loader (compiled for the
48	# kernel)
49	$(librootFunctions:G=src!system!kernel!lib)
50
51	# platform specific objects
52	$(platformObjects)
53
54	: $(HAIKU_TOP)/src/system/ldscripts/$(TARGET_ARCH)/boot_loader_$(TARGET_BOOT_PLATFORM).ld
55	: -Bstatic
56;
57
58rule BuildZbeos {
59	local zbeos = $(1) ;
60	local bootLoader = $(2) ;
61
62	Depends $(zbeos) : $(bootLoader) ;
63	MakeLocateDebug $(zbeos) ;
64}
65
66actions BuildZbeos {
67	rm -f $(1)
68	$(TARGET_OBJCOPY) -O binary $(2) $(1)
69}
70
71BuildZbeos zbeos : boot_loader_$(TARGET_BOOT_PLATFORM) ;
72
73# different target for PXE, to be build with TARGET_BOOT_PLATFORM=pxe_ia32 jam pxehaiku-loader
74BuildZbeos pxehaiku-loader : boot_loader_$(TARGET_BOOT_PLATFORM) ;
75
76SubInclude HAIKU_TOP src system boot arch $(TARGET_ARCH) ;
77SubInclude HAIKU_TOP src system boot loader ;
78SubInclude HAIKU_TOP src system boot platform ;
79