Move bootloader build rules to build tasks

Co-Authored-By: Nolen Johnson <johnsonnolen@gmail.com>
Change-Id: Iaa2d4cbfcb094b962a1af4528ade6e8e201fb49b
This commit is contained in:
Aaron KlingandNolen Johnson authored and Nolen Johnson committed 2025-01-10 15:20:22 -05:00
1 parent 63153b162b
commit b42da2fd3f
4 files changed
+66 -73

No files matched your search

-13
View File
@@ -42,16 +42,3 @@ LOCAL_MODULE_CLASS := ETC
LOCAL_MODULE_PATH := $(PRODUCT_OUT)
include $(BUILD_PREBUILT)
INSTALLED_RADIOIMAGE_TARGET += $(PRODUCT_OUT)/icon_android_hue.bmp
include $(CLEAR_VARS)
LOCAL_MODULE := boot.scr
LOCAL_MODULE_CLASS := ETC
LOCAL_MODULE_PATH := $(PRODUCT_OUT)
_uscript_input := $(abspath device/nintendo/nx/bootfiles/android_boot.txt)
_uscript_intermediates := $(call intermediates-dir-for,$(LOCAL_MODULE_CLASS),$(LOCAL_MODULE))
_uscript_archive := $(_uscript_intermediates)/$(LOCAL_MODULE)$(LOCAL_MODULE_SUFFIX)
$(_uscript_archive): $(_uscript_input)
@mkdir -p $(dir $@)
$(LINEAGE_TOOLS_PATH)/mkimage -A arm -T script -O linux -d $(_uscript_input) $(_uscript_intermediates)/boot.scr
include $(BUILD_SYSTEM)/base_rules.mk
INSTALLED_RADIOIMAGE_TARGET += $(PRODUCT_OUT)/boot.scr
+65
View File
@@ -0,0 +1,65 @@
# Copyright (C) 2023 The LineageOS Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
ifneq ($(filter nx nx_tab,$(TARGET_DEVICE)),)
UBOOT_PATH := $(BUILD_TOP)/hardware/nintendo/u-boot
NX_BOOTFILES_PATH := $(BUILD_TOP)/device/nintendo/nx/bootfiles
NX_FIRMWARE_PATH := $(BUILD_TOP)/vendor/nintendo/nx/swr/u-boot
ifneq ($(TARGET_TEGRA_UBOOT),prebuilt)
_uboot_bin := $(call intermediates-dir-for,$(LOCAL_MODULE_CLASS),$(LOCAL_MODULE))
_uboot_bin := $(_uboot_bin)/$(LOCAL_MODULE)$(LOCAL_MODULE_SUFFIX)
$(_uboot_bin): $(sort $(shell find -L $(UBOOT_PATH)))
@mkdir -p $(dir $@)
$(hide) +$(KERNEL_MAKE_CMD) $(KERNEL_CROSS_COMPILE) \
HOSTCC=$(TARGET_KERNEL_CLANG_PATH)/bin/clang HOSTLDFLAGS="-fuse-ld=lld" \
YACC=$(BUILD_TOOLS_BINS)/bin/bison LEX=$(BUILD_TOOLS_BINS)/bin/flex M4=$(BUILD_TOOLS_BINS)/bin/m4 \
-C $(UBOOT_PATH) O=$(dir $(_uboot_bin)) nx_defconfig
$(hide) +$(KERNEL_MAKE_CMD) $(KERNEL_CROSS_COMPILE) \
HOSTCC=$(TARGET_KERNEL_CLANG_PATH)/bin/clang HOSTLDFLAGS="-fuse-ld=lld" \
YACC=$(BUILD_TOOLS_BINS)/bin/bison LEX=$(BUILD_TOOLS_BINS)/bin/flex M4=$(BUILD_TOOLS_BINS)/bin/m4 \
-C $(UBOOT_PATH) O=$(dir $(_uboot_bin)) bl33.bin
@mv $(_uboot_bin)/bl33.bin $(_uboot_bin)
$(PRODUCT_OUT)/bl33.bin: $(_uboot_bin)
$(hide) cp $< $@
.PHONY: bl33
u-boot-dtb: $(PRODUCT_OUT)/bl33.bin
endif # TARGET_TEGRA_UBOOT
_uscript_input := $(abspath $(NX_BOOTFILES_PATH)/android_boot.txt)
_uscript_archive := $(call intermediates-dir-for,EXECUTABLES,boot.scr)/boot.scr
$(_uscript_archive): $(_uscript_input)
@mkdir -p $(dir $@)
$(LINEAGE_TOOLS_PATH)/bin/mkimage -A arm -T script -O linux -d $(_uscript_input) $@
$(PRODUCT_OUT)/boot.scr: $(_uscript_archive)
$(hide) cp $< $@
.PHONY: boot.scr
boot.scr: $(PRODUCT_OUT)/boot.scr
ifneq ($(TARGET_TEGRA_UBOOT),prebuilt)
INSTALLED_RADIOIMAGE_TARGET += $(_uboot_bin)
else
INSTALLED_RADIOIMAGE_TARGET += $(NX_FIRMWARE_PATH)/bl33.bin
endif
INSTALLED_RADIOIMAGE_TARGET += $(_uscript_archive)
INSTALLED_RADIOIMAGE_TARGET += $(PRODUCT_OUT)/bl31.bin
endif # TARGET_DEVICE
-55
View File
@@ -1,55 +0,0 @@
# Copyright (C) 2023 The LineageOS Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
LOCAL_PATH := $(call my-dir)
UBOOT_PATH := $(BUILD_TOP)/hardware/nintendo/u-boot
NX_FW_PATH := vendor/nintendo/nx/rel-shield-r/
BUILD_TOOLS_BINS := $(BUILD_TOP)/prebuilts/build-tools/$(HOST_PREBUILT_TAG)/bin
LINEAGE_TOOLS_PATH := $(BUILD_TOP)/prebuilts/tools-lineage/$(HOST_PREBUILT_TAG)/bin
TARGET_KERNEL_CLANG_PATH ?= $(BUILD_TOP)/prebuilts/clang/host/$(HOST_PREBUILT_TAG)/$(LLVM_PREBUILTS_VERSION)
# U-Boot
include $(CLEAR_VARS)
LOCAL_MODULE := bl33
LOCAL_MODULE_SUFFIX := .bin
LOCAL_MODULE_CLASS := EXECUTABLES
LOCAL_MODULE_PATH := $(PRODUCT_OUT)
ifeq ($(TARGET_TEGRA_UBOOT),prebuilt)
LOCAL_SRC_FILES := ../../../../../$(NX_FW_PATH)/bl33.bin
LOCAL_REQUITED_MODULES := boot.scr
include $(BUILD_PREBUILT)
else # TARGET_TEGRA_UBOOT
_uboot_intermediates := $(call intermediates-dir-for,$(LOCAL_MODULE_CLASS),$(LOCAL_MODULE))
_uboot_bin := $(_uboot_intermediates)/$(LOCAL_MODULE)$(LOCAL_MODULE_SUFFIX)
$(_uboot_bin): $(sort $(shell find -L $(UBOOT_PATH)))
@mkdir -p $(dir $@)
$(hide) +$(KERNEL_MAKE_CMD) $(KERNEL_CROSS_COMPILE) \
HOSTCC=$(TARGET_KERNEL_CLANG_PATH)/bin/clang HOSTLDFLAGS="-fuse-ld=lld" \
YACC=$(BUILD_TOOLS_BINS)/bison LEX=$(BUILD_TOOLS_BINS)/flex M4=$(BUILD_TOOLS_BINS)/m4 \
-C $(UBOOT_PATH) O=$(abspath $(_uboot_intermediates)) nx_defconfig
$(hide) +$(KERNEL_MAKE_CMD) $(KERNEL_CROSS_COMPILE) \
HOSTCC=$(TARGET_KERNEL_CLANG_PATH)/bin/clang HOSTLDFLAGS="-fuse-ld=lld" \
YACC=$(BUILD_TOOLS_BINS)/bison LEX=$(BUILD_TOOLS_BINS)/flex M4=$(BUILD_TOOLS_BINS)/m4 \
-C $(UBOOT_PATH) O=$(abspath $(_uboot_intermediates)) u-boot-dtb.bin
@mv $(_uboot_intermediates)/u-boot-dtb.bin $(_uboot_bin)
include $(BUILD_SYSTEM)/base_rules.mk
endif # TARGET_TEGRA_UBOOT
INSTALLED_RADIOIMAGE_TARGET += $(PRODUCT_OUT)/bl33.bin
INSTALLED_RADIOIMAGE_TARGET += $(PRODUCT_OUT)/bl31.bin
+1 -5
View File
@@ -32,8 +32,4 @@ ATF_PARAMS += CRASH_REPORTING=1 ENABLE_ASSERTIONS=1 LOG_LEVEL=0 PLAT_LOG_LEVEL_A
PRODUCT_PACKAGES += \
android.ini \
bootlogo_android \
icon_android_hue \
bl31 \
bl33
INSTALLED_RADIOIMAGE_TARGET += $(PRODUCT_OUT)/bl31.bin
icon_android_hue