1SubDir HAIKU_TOP src system boot platform atari_m68k ; 2 3SubDirHdrs $(HAIKU_TOP) headers private kernel boot platform $(TARGET_BOOT_PLATFORM) ; 4 5UsePrivateHeaders [ FDirName kernel boot platform $(TARGET_BOOT_PLATFORM) ] ; 6UsePrivateHeaders [ FDirName kernel platform $(TARGET_BOOT_PLATFORM) ] ; 7UsePrivateHeaders [ FDirName kernel disk_device_manager ] ; 8UsePrivateHeaders [ FDirName graphics common ] ; 9#UsePrivateHeaders [ FDirName graphics vesa ] ; 10UsePrivateHeaders [ FDirName storage ] ; 11 12{ 13 local defines = _BOOT_MODE ; 14 15 defines = [ FDefines $(defines) ] ; 16 SubDirCcFlags $(defines) ; 17 SubDirC++Flags $(defines) -fno-rtti ; 18} 19 20#SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src add-ons accelerants common ] ; 21 22BootMergeObject boot_platform_atari_m68k_shell.o : 23 shell.S 24 : -Wa,--pcrel 25; 26 27 28# cpu-specific stuff 29# should be moved to boot/arch/m68k/... 30# TODO: add 020+68851 support 31 32 33BootMergeObject boot_platform_atari_m68k_other.o : 34# shell.S 35 start.cpp 36 toscalls.cpp 37 debug.cpp 38 #bios.S 39 console.cpp 40 #serial.cpp 41 Handle.cpp 42 devices.cpp 43 keyboard.cpp 44 menu.cpp 45 mmu.cpp 46 cpu.cpp 47 #smp.cpp 48 #smp_trampoline.S 49# support.S 50 video.cpp 51 #apm.cpp 52 53 # VESA/DDC EDID 54 #decode_edid.c 55 #dump_edid.c 56 57 : -fno-pic #-Wa,--pcrel 58 : boot_platform_generic.a 59; 60 61 62BootMergeObject boot_platform_atari_m68k.o : 63 : : 64 boot_platform_atari_m68k_shell.o 65 boot_platform_atari_m68k_other.o 66 boot_arch_m68k_030.o 67 boot_arch_m68k_040.o 68; 69 70 71# the bootsector in haiku_loader must be checksummed 72 73 74rule ChecksumAtariLoader 75{ 76 local haikuLoader = $(1) ; 77 local checksummer = <build>fixup_tos_boot_checksum ; 78 79 Depends $(haikuLoader) : $(checksummer) ; 80 81 TARGET_CHECKSUM on $(haikuLoader) = $(checksummer) ; 82 83} 84 85 86actions ChecksumAtariLoader bind TARGET_CHECKSUM { 87 $(TARGET_CHECKSUM) $(1) 88} 89 90 91ChecksumAtariLoader haiku_loader ; 92 93 94# AUTO folder PRG target 95 96 97# based on KernelLd 98rule AtariBootPrgLd 99{ 100 # AtariBootPrgLd <name> : <objs> : <linkerscript> : <args> ; 101 102 LINK on $(1) = $(TARGET_LD_$(TARGET_PACKAGING_ARCH)) ; 103 104 LINKFLAGS on $(1) = $(4) ; 105 if $(3) { LINKFLAGS on $(1) += --script=$(3) ; } 106 107 # Remove any preset LINKLIBS 108 LINKLIBS on $(1) = ; 109 110 # TODO: Do we really want to invoke SetupKernel here? The objects should 111 # have been compiled with KernelObjects anyway, so we're doing that twice. 112 SetupKernel $(2) ; 113 114 # Show that we depend on the libraries we need 115 LocalClean clean : $(1) ; 116 LocalDepends all : $(1) ; 117 Depends $(1) : $(2) ; 118 119 MakeLocateDebug $(1) ; 120 121} 122 123 124actions AtariBootPrgLd 125{ 126 $(LINK) $(LINKFLAGS) -o "$(1)" "$(2)" $(LINKLIBS) ; 127} 128 129 130AtariBootPrgLd haiku.prg : 131 boot_loader_$(TARGET_BOOT_PLATFORM) 132 : $(HAIKU_TOP)/src/system/ldscripts/$(TARGET_ARCH)/boot_prg_$(TARGET_BOOT_PLATFORM).ld 133 : -Bstatic 134; 135 136 137SEARCH on [ FGristFiles $(genericPlatformSources) ] 138 = [ FDirName $(HAIKU_TOP) src system boot platform generic ] ; 139 140# Tell the build system to where stage1.bin can be found, so it can be used 141# elsewhere. 142SEARCH on stage1.bin = $(SUBDIR) ; 143 144# cf pxe_ia32 Jamfile for stage1 145