xref: /haiku/build/jam/images/CDBootImage (revision d1f885b435e9892ac028f4be2b80536b9dd37413)
1# This file defines what ends up in the CD boot image and it executes the
2# rules building the image.
3
4#HAIKU_BOOT_FLOPPY = haiku-boot-floppy.image ;
5#MakeLocate $(HAIKU_BOOT_FLOPPY) : $(HAIKU_OUTPUT_DIR) ;
6
7# CD image target
8HAIKU_CD_BOOT_IMAGE = haiku-boot-cd.iso ;
9MakeLocate $(HAIKU_CD_BOOT_IMAGE) : $(HAIKU_OUTPUT_DIR) ;
10
11# the pseudo target all archive contents is attached to
12NotFile $(HAIKU_CD_BOOT_IMAGE_CONTAINER_NAME) ;
13
14# common extra files to put on the boot iso
15local extras = README.html ;
16
17if $(TARGET_ARCH) = ppc {
18	local elfloader = boot_loader_openfirmware ;
19	local coffloader = boot_loader_openfirmware_coff ;
20
21	# OpenFirmware / Mac boot support files:
22	# CHRP script
23	local chrpscript = ofboot.chrp ;
24	# HFS creator and application type mapping for mkisofs
25	local hfsmaps = hfs.map ;
26
27	SEARCH on $(chrpscript) $(hfsmaps) $(extras) = [ FDirName $(HAIKU_TOP) data boot_cd ] ;
28
29	BuildCDBootPPCImage $(HAIKU_CD_BOOT_IMAGE) : $(hfsmaps) : $(elfloader) : $(coffloader) : $(chrpscript) : $(extras) ;
30} else if $(HAIKU_ANYBOOT_LEGACY) = 1 {
31	BuildCDBootImage $(HAIKU_CD_BOOT_IMAGE) : $(HAIKU_BOOT_FLOPPY) : : $(extras) ;
32
33	SEARCH on $(extras) = [ FDirName $(HAIKU_TOP) data boot_cd ] ;
34} else {
35	local efiLoader = haiku_loader.efi ;
36	local efiPartition = esp.image ;
37	MakeLocate $(efiPartition) : $(HAIKU_OUTPUT_DIR) ;
38	BuildEfiSystemPartition $(efiPartition) : $(efiLoader) ;
39
40	BuildCDBootImage $(HAIKU_CD_BOOT_IMAGE) : $(HAIKU_BOOT_FLOPPY)
41		: $(efiPartition) : $(extras) ;
42
43	SEARCH on $(extras) = [ FDirName $(HAIKU_TOP) data boot_cd ] ;
44}
45
46NotFile haiku-boot-cd ;
47Depends haiku-boot-cd : $(HAIKU_CD_BOOT_IMAGE) ;
48