From 07110ced52ffd0d3a98a025890fb26d5535b07e8 Mon Sep 17 00:00:00 2001 From: Sourav Kumar Patel <116533955+Sourav-pi@users.noreply.github.com> Date: Sat, 25 Apr 2026 23:05:20 +0530 Subject: [PATCH] Enhance TOOLPREFIX detection in Makefile for i386/i686-elf toolchains for it to work correctly in mac without hindering linux compilation --- Makefile | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 03e9824..050ed0f 100644 --- a/Makefile +++ b/Makefile @@ -36,13 +36,17 @@ OBJS = \ ifndef TOOLPREFIX TOOLPREFIX := $(shell if i386-jos-elf-objdump -i 2>&1 | grep '^elf32-i386$$' >/dev/null 2>&1; \ then echo 'i386-jos-elf-'; \ + elif i386-elf-objdump -i 2>&1 | grep '^elf32-i386$$' >/dev/null 2>&1; \ + then echo 'i386-elf-'; \ + elif i686-elf-objdump -i 2>&1 | grep '^elf32-i386$$' >/dev/null 2>&1; \ + then echo 'i686-elf-'; \ elif objdump -i 2>&1 | grep 'elf32-i386' >/dev/null 2>&1; \ then echo ''; \ else echo "***" 1>&2; \ - echo "*** Error: Couldn't find an i386-*-elf version of GCC/binutils." 1>&2; \ - echo "*** Is the directory with i386-jos-elf-gcc in your PATH?" 1>&2; \ - echo "*** If your i386-*-elf toolchain is installed with a command" 1>&2; \ - echo "*** prefix other than 'i386-jos-elf-', set your TOOLPREFIX" 1>&2; \ + echo "*** Error: Couldn't find an i386/i686-*-elf version of GCC/binutils." 1>&2; \ + echo "*** On Linux: install i386-elf-gcc or i386-jos-elf-gcc." 1>&2; \ + echo "*** On Mac: brew install i686-elf-gcc (or i386-elf-gcc)." 1>&2; \ + echo "*** If your toolchain uses a different prefix, set TOOLPREFIX" 1>&2; \ echo "*** environment variable to that prefix and run 'make' again." 1>&2; \ echo "*** To turn off this error, run 'gmake TOOLPREFIX= ...'." 1>&2; \ echo "***" 1>&2; exit 1; fi)