xref: /haiku/src/system/boot/Jamfile (revision d9cebac2b77547b7064f22497514eecd2d047160)
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
33AddResources zbeos : boot_loader.rdef ;
34
35KernelLd boot_loader_$(TARGET_BOOT_PLATFORM) :
36	boot_platform_$(TARGET_BOOT_PLATFORM).o
37	boot_arch_$(TARGET_ARCH).o
38	boot_loader.a
39	boot_net.a
40	boot_partitions.a
41
42	# file systems
43	boot_bfs.a
44	boot_amiga_ffs.a
45	boot_tarfs.a
46
47	libz.a
48
49	# libroot functions needed by the stage2 boot loader (compiled for the
50	# kernel)
51	$(librootFunctions:G=src!system!kernel!lib)
52
53	# platform specific objects
54	$(platformObjects)
55
56	: $(HAIKU_TOP)/src/system/ldscripts/$(TARGET_ARCH)/boot_loader_$(TARGET_BOOT_PLATFORM).ld
57	: -Bstatic
58;
59
60rule BuildZbeos {
61	local zbeos = $(1) ;
62	local bootLoader = $(2) ;
63
64	Depends $(zbeos) : $(bootLoader) ;
65	MakeLocateDebug $(zbeos) ;
66
67	on $(1) ResAttr $(1) : $(RESFILES) : false ;
68	if ! [ on $(1) return $(DONT_USE_BEOS_RULES) ] {
69		SetType $(1) ;
70		MimeSet $(1) ;
71	}
72}
73
74actions BuildZbeos {
75	rm -f $(1)
76	$(TARGET_OBJCOPY) -O binary $(2) $(1)
77}
78
79BuildZbeos zbeos : boot_loader_$(TARGET_BOOT_PLATFORM) ;
80
81# different target for PXE, to be build with TARGET_BOOT_PLATFORM=pxe_ia32 jam pxehaiku-loader
82BuildZbeos pxehaiku-loader : boot_loader_$(TARGET_BOOT_PLATFORM) ;
83
84SubInclude HAIKU_TOP src system boot arch $(TARGET_ARCH) ;
85SubInclude HAIKU_TOP src system boot loader ;
86SubInclude HAIKU_TOP src system boot platform ;
87