1SubDir HAIKU_TOP src system boot platform amiga_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) -Wall -Wno-multichar ; 17 SubDirC++Flags $(defines) -Wall -Wno-multichar -fno-rtti ; 18} 19 20#SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src add-ons accelerants common ] ; 21 22KernelMergeObject boot_platform_amiga_m68k_shell.o : 23 shell.S 24 : -Wa,--pcrel 25; 26 27# cpu-specific stuff 28# should be moved to boot/arch/m68k/... 29# XXX: add 020+68851 support 30KernelMergeObject boot_arch_m68k_030.o : 31 mmu_030.cpp 32 : -fno-pic -Wno-unused -m68030 33; 34 35KernelMergeObject boot_arch_m68k_040.o : 36 mmu_040.cpp 37 : -fno-pic -Wno-unused -m68040 38; 39 40KernelMergeObject boot_arch_m68k_060.o : 41 mmu_060.cpp 42 : -fno-pic -Wno-unused -m68060 43; 44 45 46KernelMergeObject boot_platform_amiga_m68k_other.o : 47# shell.S 48 start.c 49 toscalls.c 50 debug.c 51 #bios.S 52 console.cpp 53 #serial.cpp 54 Handle.cpp 55 devices.cpp 56 keyboard.cpp 57 menu.cpp 58 mmu.cpp 59 cpu.cpp 60 #smp.cpp 61 #smp_trampoline.S 62# support.S 63 video.cpp 64 #apm.cpp 65 66 # generic 67 text_menu.cpp 68 69 # VESA/DDC EDID 70 #decode_edid.c 71 #dump_edid.c 72 73 : -fno-pic #-Wa,--pcrel 74; 75 76KernelMergeObject boot_platform_amiga_m68k.o : 77 : : 78 boot_platform_amiga_m68k_shell.o 79 boot_platform_amiga_m68k_other.o 80 boot_arch_m68k_030.o 81 boot_arch_m68k_040.o 82; 83 84# AUTO folder PRG target 85 86# based on KernelLd 87rule AtariBootPrgLd 88{ 89 # AtariBootPrgLd <name> : <objs> : <linkerscript> : <args> ; 90 91 LINK on $(1) = $(TARGET_LD) ; 92 93 LINKFLAGS on $(1) = $(4) ; 94 if $(3) { LINKFLAGS on $(1) += --script=$(3) ; } 95 96 # Remove any preset LINKLIBS 97 LINKLIBS on $(1) = ; 98 99 # TODO: Do we really want to invoke SetupKernel here? The objects should 100 # have been compiled with KernelObjects anyway, so we're doing that twice. 101 SetupKernel $(2) ; 102 103 # Show that we depend on the libraries we need 104 LocalClean clean : $(1) ; 105 LocalDepends all : $(1) ; 106 Depends $(1) : $(2) ; 107 108 MakeLocateDebug $(1) ; 109 110} 111 112actions AtariBootPrgLd 113{ 114 $(LINK) $(LINKFLAGS) -o "$(1)" "$(2)" $(LINKLIBS) ; 115} 116 117AtariBootPrgLd haiku.prg : 118 boot_loader_$(TARGET_BOOT_PLATFORM) 119 : $(HAIKU_TOP)/src/system/ldscripts/$(TARGET_ARCH)/boot_prg_$(TARGET_BOOT_PLATFORM).ld 120 : -Bstatic 121; 122 123 124SEARCH on [ FGristFiles text_menu.cpp ] 125 = [ FDirName $(HAIKU_TOP) src system boot platform generic ] ; 126 127# Tell the build system to where stage1.bin can be found, so it can be used 128# elsewhere. 129SEARCH on stage1.bin = $(SUBDIR) ; 130 131# cf pxe_ia32 Jamfile for stage1 132