From 858dab5a0ad7dd7831165d7a8ba8a06c5bf79a9c Mon Sep 17 00:00:00 2001 From: Takumi Sueda Date: Sat, 6 Mar 2021 20:19:11 +0900 Subject: [PATCH] Select appropriate CROSS_COMPILE and target --- Makefile | 19 ++++++++++++------- tools/getcross | 26 ++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 7 deletions(-) create mode 100755 tools/getcross diff --git a/Makefile b/Makefile index c5b9206..f628724 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,8 @@ JOBS=$(shell grep -c '^processor' /proc/cpuinfo) +UBOOT_CROSS=$(shell ./tools/getcross u-boot) +LINUX_CROSS=$(shell ./tools/getcross linux) export ARCH=arm -export CROSS_COMPILE=arm-linux-gnueabi- .PHONY: setup: @@ -33,11 +34,11 @@ udefconfig-%: .PHONY: usavedefconfig: - make -C ./u-boot-brain savedefconfig + make CROSS_COMPILE=$(UBOOT_CROSS) -C ./u-boot-brain savedefconfig .PHONY: umenuconfig: - make -C ./u-boot-brain menuconfig + make CROSS_COMPILE=$(UBOOT_CROSS) -C ./u-boot-brain menuconfig .PHONY: uclean: @@ -45,7 +46,11 @@ uclean: .PHONY: ubuild: - make -j$(JOBS) -C ./u-boot-brain u-boot.sb + if [ "$(UBOOT_CROSS)" = "arm-linux-gnueabi-" ]; then \ + make CROSS_COMPILE=$(UBOOT_CROSS) -j$(JOBS) -C ./u-boot-brain u-boot.sb; \ + else \ + make CROSS_COMPILE=$(UBOOT_CROSS) -j$(JOBS) -C ./u-boot-brain u-boot.imx; \ + fi .PHONY: ldefconfig: @@ -53,11 +58,11 @@ ldefconfig: .PHONY: lmenuconfig: - make -C ./linux-brain menuconfig + make CROSS_COMPILE=$(LINUX_CROSS) -C ./linux-brain menuconfig .PHONY: lsavedefconfig: - make -C ./linux-brain savedefconfig + make CROSS_COMPILE=$(LINUX_CROSS) -C ./linux-brain savedefconfig mv ./linux-brain/defconfig ./linux-brain/arch/arm/configs/brain_defconfig .PHONY: @@ -66,7 +71,7 @@ lclean: .PHONY: lbuild: - make -j$(JOBS) -C ./linux-brain + make CROSS_COMPILE=$(LINUX_CROSS) -j$(JOBS) -C ./linux-brain .PHONY: uuu: diff --git a/tools/getcross b/tools/getcross new file mode 100755 index 0000000..1ae8e5c --- /dev/null +++ b/tools/getcross @@ -0,0 +1,26 @@ +#!/bin/sh +set -e + +uboot() { + . ./u-boot-brain/.config + case "${CONFIG_SYS_CPU}" in + arm926ejs) echo -n "arm-linux-gnueabi-"; return;; + armv7) echo -n "arm-linux-gnueabihf-"; return;; + *) exit 1;; + esac +} + +linux() { + . ./linux-brain/.config + case "${CONFIG_CPU_ARM926T}_${CONFIG_ARCH_MULTI_V7}" in + y_) echo -n "arm-linux-gnueabi-"; return;; + _y) echo -n "arm-linux-gnueabihf-"; return;; + *) exit 1;; + esac +} + +case "$1" in + u-boot) uboot ;; + linux) linux ;; + *) exit 1; ;; +esac