2008-03-02 07:38:29 +03:00
|
|
|
# This file defines what ends up in the CD boot image and it executes the
|
|
|
|
# rules building the image.
|
|
|
|
|
|
|
|
#HAIKU_BOOT_FLOPPY = haiku-boot-floppy.image ;
|
|
|
|
#MakeLocate $(HAIKU_BOOT_FLOPPY) : $(HAIKU_OUTPUT_DIR) ;
|
|
|
|
|
|
|
|
# CD image target
|
|
|
|
HAIKU_CD_BOOT_IMAGE = haiku-boot-cd.iso ;
|
|
|
|
MakeLocate $(HAIKU_CD_BOOT_IMAGE) : $(HAIKU_OUTPUT_DIR) ;
|
|
|
|
|
|
|
|
# the pseudo target all archive contents is attached to
|
|
|
|
NotFile $(HAIKU_CD_BOOT_IMAGE_CONTAINER_NAME) ;
|
|
|
|
|
2018-07-09 17:44:43 +03:00
|
|
|
# common extra files to put on the boot iso
|
2008-03-02 07:38:29 +03:00
|
|
|
local extras = README.html ;
|
2020-03-13 21:28:22 +03:00
|
|
|
SEARCH on $(extras) = [ FDirName $(HAIKU_TOP) data boot_cd ] ;
|
2008-03-02 07:38:29 +03:00
|
|
|
|
2018-07-09 17:44:43 +03:00
|
|
|
if $(TARGET_ARCH) = ppc {
|
|
|
|
local elfloader = boot_loader_openfirmware ;
|
2019-12-03 11:43:16 +03:00
|
|
|
local coffloader = haiku_loader.openfirmware ;
|
2008-03-02 07:38:29 +03:00
|
|
|
|
2018-07-09 17:44:43 +03:00
|
|
|
# OpenFirmware / Mac boot support files:
|
|
|
|
# CHRP script
|
|
|
|
local chrpscript = ofboot.chrp ;
|
|
|
|
# HFS creator and application type mapping for mkisofs
|
|
|
|
local hfsmaps = hfs.map ;
|
2008-03-02 07:38:29 +03:00
|
|
|
|
2020-03-13 21:28:22 +03:00
|
|
|
SEARCH on $(chrpscript) $(hfsmaps) $(extras)
|
|
|
|
= [ FDirName $(HAIKU_TOP) data boot_cd ] ;
|
2018-07-09 17:44:43 +03:00
|
|
|
|
2020-03-13 21:28:22 +03:00
|
|
|
BuildCDBootPPCImage $(HAIKU_CD_BOOT_IMAGE) : $(hfsmaps)
|
|
|
|
: $(elfloader) : $(coffloader) : $(chrpscript) : $(extras) ;
|
2018-07-09 17:44:43 +03:00
|
|
|
} else {
|
2020-03-13 21:28:22 +03:00
|
|
|
# For other platforms, we have to check which bootloader is used. There
|
|
|
|
# can be multiple ones, making this a bit confusing.
|
|
|
|
for platform in [ MultiBootSubDirSetup ] {
|
|
|
|
on $(platform) {
|
|
|
|
if $(TARGET_BOOT_PLATFORM) = efi {
|
|
|
|
local efiLoader = haiku_loader.efi ;
|
|
|
|
local efiPartition = esp.image ;
|
|
|
|
MakeLocate $(efiPartition) : $(HAIKU_OUTPUT_DIR) ;
|
|
|
|
BuildEfiSystemPartition $(efiPartition) : $(efiLoader) ;
|
|
|
|
|
|
|
|
BuildCDBootImage $(HAIKU_CD_BOOT_IMAGE) : $(HAIKU_BOOT_FLOPPY)
|
|
|
|
: $(efiPartition) : $(extras) ;
|
|
|
|
|
|
|
|
} else if $(HAIKU_ANYBOOT_LEGACY) = 1 {
|
|
|
|
BuildCDBootImage $(HAIKU_CD_BOOT_IMAGE) : $(HAIKU_BOOT_FLOPPY) :
|
|
|
|
: $(extras) ;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2018-07-09 17:44:43 +03:00
|
|
|
}
|
2008-03-02 07:38:29 +03:00
|
|
|
|
2018-07-09 17:44:43 +03:00
|
|
|
NotFile haiku-boot-cd ;
|
|
|
|
Depends haiku-boot-cd : $(HAIKU_CD_BOOT_IMAGE) ;
|