diff --git a/build/jam/MainBuildRules b/build/jam/MainBuildRules index 6d99569f0b..a71a985616 100644 --- a/build/jam/MainBuildRules +++ b/build/jam/MainBuildRules @@ -187,6 +187,7 @@ actions AssembleNasm rule CompileDTS { + MakeLocate $(<) : $(HAIKU_OUTPUT_DIR) ; Depends $(<) : $(>) ; } diff --git a/build/jam/board/beagle/BoardSetup b/build/jam/board/beagle/BoardSetup index bbab42faeb..7731f5dd3c 100644 --- a/build/jam/board/beagle/BoardSetup +++ b/build/jam/board/beagle/BoardSetup @@ -53,9 +53,6 @@ mloFile = [ DownloadFile $(HAIKU_BOARD_MLO_IMAGE) ubootFile = [ DownloadFile $(HAIKU_BOARD_UBOOT_IMAGE) : $(HAIKU_BOARD_UBOOT_IMAGE_URL) ] ; -local fdtBinary = [ FDirName $(HAIKU_OUTPUT_DIR) $(HAIKU_BOARD_FDT_NAME).dtb ] ; -CompileDTS $(fdtBinary) : [ FDirName $(HAIKU_TOP) src data dts arch arm $(HAIKU_BOARD_FDT_NAME).dts ] ; - # U-Boot environment # We load the uImage 2MB above its final destination, bootm will decode # it to the proper location. Our image is smaller than 2MB so this works. @@ -70,7 +67,7 @@ HAIKU_BOARD_SDIMAGE_FILES = haiku_loader_nbsd.ub haiku_loader_linux.ub haiku-floppyboot.tgz.ub - $(fdtBinary) + $(HAIKU_BOARD_FDT_NAME).dtb ; diff --git a/build/jam/board/rpi2/BoardSetup b/build/jam/board/rpi2/BoardSetup index 8bbeab427e..0c8e8b8671 100644 --- a/build/jam/board/rpi2/BoardSetup +++ b/build/jam/board/rpi2/BoardSetup @@ -27,9 +27,6 @@ bootcodeFile = [ DownloadFile bootcode.bin : $(HAIKU_BOARD_FIRMWARE_URL)/bootcod startFile = [ DownloadFile start.elf : $(HAIKU_BOARD_FIRMWARE_URL)/start.elf ] ; licenseFile = [ DownloadFile LICENCE.broadcom : $(HAIKU_BOARD_FIRMWARE_URL)/LICENCE.broadcom ] ; -local fdtBinary = [ FDirName $(HAIKU_OUTPUT_DIR) $(HAIKU_BOARD_FDT_NAME).dtb ] ; -CompileDTS $(fdtBinary) : [ FDirName $(HAIKU_TOP) src data dts arch arm $(HAIKU_BOARD_FDT_NAME).dts ] ; - HAIKU_BOARD_FIRMWARE_FILES = $(bootcodeFile) $(startFile) @@ -48,7 +45,7 @@ HAIKU_BOARD_SDIMAGE_FAT_SIZE = 32 ; HAIKU_BOARD_SDIMAGE_FILES = $(HAIKU_BOARD_FIRMWARE_FILES) $(configFile) - $(fdtBinary) + $(HAIKU_BOARD_FDT_NAME).dtb $(ubootFile) haiku_loader_linux.ub haiku-floppyboot.tgz.ub diff --git a/src/system/boot/platform/u-boot/Jamfile b/src/system/boot/platform/u-boot/Jamfile index d169fe996a..a2e84e18a5 100644 --- a/src/system/boot/platform/u-boot/Jamfile +++ b/src/system/boot/platform/u-boot/Jamfile @@ -248,13 +248,15 @@ BuildUImage haiku_loader_linux.ub : haiku_loader : -a $(HAIKU_BOARD_LOADER_BASE) -e $(HAIKU_BOARD_LOADER_ENTRY_LINUX) -n 'haiku_loader $(TARGET_BOOT_BOARD)' ; -local fdtBinary = [ FDirName $(HAIKU_OUTPUT_DIR) $(HAIKU_BOARD_FDT_NAME).dtb ] ; -CompileDTS $(fdtBinary) : [ FDirName $(HAIKU_TOP) src data dts arch $(TARGET_ARCH) $(HAIKU_BOARD_FDT_NAME).dts ] ; +if $(HAIKU_BOARD_FDT_NAME) { + local fdtBinary = $(HAIKU_BOARD_FDT_NAME).dtb ; + CompileDTS $(fdtBinary) : [ FDirName $(HAIKU_TOP) src data dts arch $(TARGET_ARCH) $(HAIKU_BOARD_FDT_NAME).dts ] ; -BuildUImage haiku_loader_nbsd.ub : haiku_loader $(tgzArchive) $(fdtBinary) : - -A $(TARGET_ARCH) -O $(uImageFakeOS) -T multi -C none - -a $(HAIKU_BOARD_LOADER_BASE) -e $(HAIKU_BOARD_LOADER_ENTRY_NBSD) - -n 'haiku_loader $(TARGET_BOOT_BOARD)' ; + BuildUImage haiku_loader_nbsd.ub : haiku_loader $(tgzArchive) $(fdtBinary) : + -A $(TARGET_ARCH) -O $(uImageFakeOS) -T multi -C none + -a $(HAIKU_BOARD_LOADER_BASE) -e $(HAIKU_BOARD_LOADER_ENTRY_NBSD) + -n 'haiku_loader $(TARGET_BOOT_BOARD)' ; +} if $(HAIKU_BOARD_SDIMAGE_UBOOT_SCRIPT_NAME) { BuildUImageScript $(HAIKU_BOARD_SDIMAGE_UBOOT_SCRIPT_NAME) :