fix toolchain

This commit is contained in:
Tyler McGurrin 2025-03-07 02:14:02 -05:00
parent 24a0061375
commit 1fb09c6b2c

View File

@ -1,4 +1,3 @@
TOOLCHAIN_PREFIX = $(abspath toolchain/$(TARGET)) TOOLCHAIN_PREFIX = $(abspath toolchain/$(TARGET))
export PATH := $(TOOLCHAIN_PREFIX)/bin:$(PATH) export PATH := $(TOOLCHAIN_PREFIX)/bin:$(PATH)
@ -7,51 +6,53 @@ toolchain: toolchain_binutils toolchain_gcc
BINUTILS_SRC = toolchain/binutils-$(BINUTILS_VERSION) BINUTILS_SRC = toolchain/binutils-$(BINUTILS_VERSION)
BINUTILS_BUILD = toolchain/binutils-build-$(BINUTILS_VERSION) BINUTILS_BUILD = toolchain/binutils-build-$(BINUTILS_VERSION)
toolchain_binutils: $(BINUTILS_SRC).tar.gz toolchain_binutils: $(TOOLCHAIN_PREFIX)/bin/i686-elf-ld
cd toolchain && tar -xf binutils-$(BINUTILS_VERSION).tar.gz $(TOOLCHAIN_PREFIX)/bin/i686-elf-ld: $(BINUTILS_SRC).tar.xz
mkdir -p $(BINUTILS_BUILD) cd toolchain && tar -xf binutils-$(BINUTILS_VERSION).tar.xz
cd $(BINUTILS_BUILD) && CFLAGS = ASM = ASMFLAGS = CC = CXX = LD = LINKFLAGS = LIBS = ../binutils-$(BINUTILS_VERSION)/configure \ mkdir $(BINUTILS_BUILD)
cd $(BINUTILS_BUILD) && CFLAGS= ASMFLAGS= CC= CXX= LD= ASM= LINKFLAGS= LIBS= ../binutils-$(BINUTILS_VERSION)/configure \
--prefix="$(TOOLCHAIN_PREFIX)" \ --prefix="$(TOOLCHAIN_PREFIX)" \
--target=$(TARGET) \ --target=$(TARGET) \
--with-sysroot \ --with-sysroot \
--disable-nls \ --disable-nls \
--disable-werror --disable-werror
$(MAKE) -j10 -C $(BINUTILS_BUILD) $(MAKE) -j8 -C $(BINUTILS_BUILD)
$(MAKE) -C $(BINUTILS_BUILD) install $(MAKE) -C $(BINUTILS_BUILD) install
$(BINUTILS_SRC).tar.gz: $(BINUTILS_SRC).tar.xz:
mkdir -p toolchain mkdir -p toolchain
cd toolchain && wget $(BINUTILS_URL) cd toolchain && wget $(BINUTILS_URL)
GCC_SRC = toolchain/gcc-$(GCC_VERSION) GCC_SRC = toolchain/gcc-$(GCC_VERSION)
GCC_BUILD = toolchain/gcc-build-$(GCC_VERSION) GCC_BUILD = toolchain/gcc-build-$(GCC_VERSION)
toolchain_gcc: toolchain_binutils $(GCC_SRC).tar.gz toolchain_gcc: $(TOOLCHAIN_PREFIX)/bin/i686-elf-gcc
cd toolchain && tar -xf gcc-$(GCC_VERSION).tar.gz
mkdir -p $(GCC_BUILD) $(TOOLCHAIN_PREFIX)/bin/i686-elf-gcc: $(TOOLCHAIN_PREFIX)/bin/i686-elf-ld $(GCC_SRC).tar.xz
cd $(GCC_BUILD) && CFLAGS = ASM = ASMFLAGS = CC = CXX = LD = LINKFLAGS = LIBS = ../gcc-$(GCC_VERSION)/configure \ cd toolchain && tar -xf gcc-$(GCC_VERSION).tar.xz
--prefix="$(TOOLCHAIN_PREFIX)" \ mkdir $(GCC_BUILD)
cd $(GCC_BUILD) && CFLAGS= ASMFLAGS= CC= CXX= LD= ASM= LINKFLAGS= LIBS= ../gcc-$(GCC_VERSION)/configure \
--prefix="$(TOOLCHAIN_PREFIX)" \
--target=$(TARGET) \ --target=$(TARGET) \
--disable-nls \ --disable-nls \
--enable-languages=c,c++ \ --enable-languages=c,c++ \
--without-headers --without-headers
$(MAKE) -j10 -C $(GCC_BUILD) all-gcc all-target-libgcc $(MAKE) -j8 -C $(GCC_BUILD) all-gcc all-target-libgcc
$(MAKE) -C $(GCC_BUILD) install-gcc install-target-libgcc $(MAKE) -C $(GCC_BUILD) install-gcc install-target-libgcc
$(GCC_SRC).tar.gz: $(GCC_SRC).tar.xz:
mkdir -p toolchain mkdir -p toolchain
cd toolchain && wget $(GCC_URL) cd toolchain && wget $(GCC_URL)
#
# CLEAN # Clean
#
clean-toolchain: clean-toolchain:
rm -rf $(GCC_BUILD) $(GCC_SRC) $(BINUTILS_BUILD) $(BINUTILS_SRC) rm -rf $(GCC_BUILD) $(GCC_SRC) $(BINUTILS_BUILD) $(BINUTILS_SRC)
clean-toolchain-all: clean-toolchain-all:
rm -rf toolchain/* rm -rf toolchain/*
.PHONY: toolchain toolchain_binutils toolchain_gcc clean-toolchain clean-toolchain-all
.PHONY: toolchain toolchain_gcc toolchain_binutils