From: acevest Date: Wed, 12 Jan 2022 03:36:00 +0000 (+0000) Subject: 修改Makefile使之能在MacOS Apple Silicon的Docker Linux下编译 X-Git-Url: http://zhaoyanbai.com/repos/%22http:/www.isc.org/icons/dnssec-signzone.html?a=commitdiff_plain;h=68ddd33b4298381e63badc888fa122f74a1b970f;p=kernel.git 修改Makefile使之能在MacOS Apple Silicon的Docker Linux下编译 --- diff --git a/Makefile b/Makefile index 3ca64e0..e3db78e 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,28 @@ +OS := $(shell uname -s) +CPU_ARCH := $(shell uname -p) + CC = gcc LD = ld -UNAME := $(shell uname -s) -ifeq ($(UNAME), Darwin) - CC = i686-elf-gcc - LD = i686-elf-ld +ifeq ($(OS), Darwin) + # MacOS下安装i686-elf-*的方法: brew install i686-elf-binutils + # Apple Silicon + ifeq ($(CPU_ARCH), arm) + CC = i686-elf-gcc + LD = i686-elf-ld + # Intel MacOS + else ifeq ($(CPU_ARCH), i386) + CC = i686-elf-gcc + LD = i686-elf-ld + endif +else ifeq ($(OS), Linux) + # Apple Silicon Docker Linux + ifeq ($(CPU_ARCH), aarch64) + CC = x86_64-linux-gnu-gcc + LD = x86_64-linux-gnu-ld + endif endif + + CFLAGS = -g -c -fno-builtin -m32 -DBUILDER='"$(shell whoami)"' SYSTEMMAP = System.map KERNELBIN = KERNEL.BIN