diff --git a/build_scripts/toolchain.mk b/build_scripts/toolchain.mk index 08e6509..71e5858 100644 --- a/build_scripts/toolchain.mk +++ b/build_scripts/toolchain.mk @@ -1,4 +1,3 @@ - TOOLCHAIN_PREFIX = $(abspath toolchain/$(TARGET)) export PATH := $(TOOLCHAIN_PREFIX)/bin:$(PATH) @@ -7,51 +6,53 @@ toolchain: toolchain_binutils toolchain_gcc BINUTILS_SRC = toolchain/binutils-$(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 - mkdir -p $(BINUTILS_BUILD) - cd $(BINUTILS_BUILD) && CFLAGS = ASM = ASMFLAGS = CC = CXX = LD = LINKFLAGS = LIBS = ../binutils-$(BINUTILS_VERSION)/configure \ +$(TOOLCHAIN_PREFIX)/bin/i686-elf-ld: $(BINUTILS_SRC).tar.xz + cd toolchain && tar -xf binutils-$(BINUTILS_VERSION).tar.xz + mkdir $(BINUTILS_BUILD) + cd $(BINUTILS_BUILD) && CFLAGS= ASMFLAGS= CC= CXX= LD= ASM= LINKFLAGS= LIBS= ../binutils-$(BINUTILS_VERSION)/configure \ --prefix="$(TOOLCHAIN_PREFIX)" \ --target=$(TARGET) \ --with-sysroot \ --disable-nls \ --disable-werror - $(MAKE) -j10 -C $(BINUTILS_BUILD) + $(MAKE) -j8 -C $(BINUTILS_BUILD) $(MAKE) -C $(BINUTILS_BUILD) install -$(BINUTILS_SRC).tar.gz: - mkdir -p toolchain +$(BINUTILS_SRC).tar.xz: + mkdir -p toolchain cd toolchain && wget $(BINUTILS_URL) GCC_SRC = toolchain/gcc-$(GCC_VERSION) GCC_BUILD = toolchain/gcc-build-$(GCC_VERSION) -toolchain_gcc: toolchain_binutils $(GCC_SRC).tar.gz - cd toolchain && tar -xf gcc-$(GCC_VERSION).tar.gz - mkdir -p $(GCC_BUILD) - cd $(GCC_BUILD) && CFLAGS = ASM = ASMFLAGS = CC = CXX = LD = LINKFLAGS = LIBS = ../gcc-$(GCC_VERSION)/configure \ - --prefix="$(TOOLCHAIN_PREFIX)" \ +toolchain_gcc: $(TOOLCHAIN_PREFIX)/bin/i686-elf-gcc + +$(TOOLCHAIN_PREFIX)/bin/i686-elf-gcc: $(TOOLCHAIN_PREFIX)/bin/i686-elf-ld $(GCC_SRC).tar.xz + cd toolchain && tar -xf gcc-$(GCC_VERSION).tar.xz + mkdir $(GCC_BUILD) + cd $(GCC_BUILD) && CFLAGS= ASMFLAGS= CC= CXX= LD= ASM= LINKFLAGS= LIBS= ../gcc-$(GCC_VERSION)/configure \ + --prefix="$(TOOLCHAIN_PREFIX)" \ --target=$(TARGET) \ --disable-nls \ --enable-languages=c,c++ \ --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 - -$(GCC_SRC).tar.gz: + +$(GCC_SRC).tar.xz: mkdir -p toolchain cd toolchain && wget $(GCC_URL) - -# CLEAN +# +# Clean +# clean-toolchain: rm -rf $(GCC_BUILD) $(GCC_SRC) $(BINUTILS_BUILD) $(BINUTILS_SRC) clean-toolchain-all: rm -rf toolchain/* - -.PHONY: toolchain toolchain_gcc toolchain_binutils - +.PHONY: toolchain toolchain_binutils toolchain_gcc clean-toolchain clean-toolchain-all \ No newline at end of file