bcd197ad9b
Thanks François for cleaning up after me. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40218 a95241bf-73f2-0310-859d-f6bbb57e9c96
106 lines
2.3 KiB
Plaintext
106 lines
2.3 KiB
Plaintext
SubDir HAIKU_TOP src system boot ;
|
|
|
|
local librootFunctions =
|
|
abs.o
|
|
ctype.o
|
|
LocaleData.o
|
|
qsort.o
|
|
kernel_vsprintf.o
|
|
memcmp.o
|
|
memmove.o
|
|
strdup.o
|
|
strndup.o
|
|
strlen.o
|
|
strnlen.o
|
|
strcmp.o
|
|
strcasecmp.o
|
|
strncmp.o
|
|
strcat.o
|
|
strcpy.o
|
|
strlcat.o
|
|
strlcpy.o
|
|
strchr.o
|
|
strrchr.o
|
|
strtol.o
|
|
;
|
|
|
|
local extraLinkerArgs = ;
|
|
if $(HAIKU_BOARD_LOADER_BASE) {
|
|
extraLinkerArgs += --defsym BOARD_LOADER_BASE=$(HAIKU_BOARD_LOADER_BASE) ;
|
|
}
|
|
|
|
AddResources haiku_loader : boot_loader.rdef ;
|
|
|
|
KernelLd boot_loader_$(TARGET_BOOT_PLATFORM) :
|
|
boot_platform_$(TARGET_BOOT_PLATFORM).o
|
|
boot_arch_$(TARGET_ARCH).o
|
|
boot_loader.a
|
|
boot_net.a
|
|
boot_partitions.a
|
|
|
|
# file systems
|
|
boot_bfs.a
|
|
boot_amiga_ffs.a
|
|
boot_tarfs.a
|
|
boot_fatfs.a
|
|
|
|
# needed by tarfs and video_splash.cpp
|
|
boot_zlib.a
|
|
|
|
# libroot functions needed by the stage2 boot loader (compiled for the
|
|
# kernel)
|
|
$(librootFunctions:G=src!system!kernel!lib)
|
|
|
|
: $(HAIKU_TOP)/src/system/ldscripts/$(TARGET_ARCH)/boot_loader_$(TARGET_BOOT_PLATFORM).ld
|
|
: -Bstatic $(extraLinkerArgs)
|
|
;
|
|
|
|
rule BuildCoffLoader {
|
|
local coffLoader = $(1) ;
|
|
local bootLoader = $(2) ;
|
|
# XXX: eventually switch on arch
|
|
COFF_FORMAT on $(coffLoader) = xcoff-powermac ;
|
|
HACK_COFF on $(coffLoader) = <build>hack-coff ;
|
|
|
|
Depends $(coffLoader) : <build>hack-coff ;
|
|
Depends $(coffLoader) : $(bootLoader) ;
|
|
MakeLocateDebug $(coffLoader) ;
|
|
}
|
|
|
|
actions BuildCoffLoader bind HACK_COFF {
|
|
rm -f $(1)
|
|
$(TARGET_OBJCOPY) -O $(COFF_FORMAT) $(2) $(1)
|
|
#$(CP) $(2) $(1)
|
|
$(HACK_COFF) $(1)
|
|
}
|
|
|
|
BuildCoffLoader boot_loader_$(TARGET_BOOT_PLATFORM)_coff : boot_loader_$(TARGET_BOOT_PLATFORM) ;
|
|
|
|
rule BuildBiosLoader {
|
|
local haikuLoader = $(1) ;
|
|
local bootLoader = $(2) ;
|
|
|
|
Depends $(haikuLoader) : $(bootLoader) ;
|
|
MakeLocateDebug $(haikuLoader) ;
|
|
|
|
on $(1) ResAttr $(1) : $(RESFILES) : false ;
|
|
if ! [ on $(1) return $(DONT_USE_BEOS_RULES) ] {
|
|
SetType $(1) ;
|
|
MimeSet $(1) ;
|
|
}
|
|
}
|
|
|
|
actions BuildBiosLoader {
|
|
rm -f $(1)
|
|
$(TARGET_OBJCOPY) -O binary $(2) $(1)
|
|
}
|
|
|
|
BuildBiosLoader haiku_loader : boot_loader_$(TARGET_BOOT_PLATFORM) ;
|
|
|
|
# different target for PXE, to be build with TARGET_BOOT_PLATFORM=pxe_ia32 jam pxehaiku-loader
|
|
BuildBiosLoader pxehaiku-loader : boot_loader_$(TARGET_BOOT_PLATFORM) ;
|
|
|
|
SubInclude HAIKU_TOP src system boot arch $(TARGET_ARCH) ;
|
|
SubInclude HAIKU_TOP src system boot loader ;
|
|
SubInclude HAIKU_TOP src system boot platform ;
|