diff --git a/.github/workflows/makefile.yml b/.github/workflows/makefile.yml index 0059d936..9ccc12ab 100644 --- a/.github/workflows/makefile.yml +++ b/.github/workflows/makefile.yml @@ -104,14 +104,22 @@ jobs: if: steps.cache-cross.outputs.cache-hit != 'true' run: sudo apt install build-essential bison flex libgmp3-dev libmpc-dev libmpfr-dev texinfo libzstd-dev libisl-dev autoconf m4 automake gettext gperf dejagnu guile-3.0 guile-3.0-dev expect tcl autogen tex-common sphinx-common git ssh diffutils patch -y - - name: Compile Toolchain Binutils + - name: Compile 64-bit Toolchain Binutils if: steps.cache-cross.outputs.cache-hit != 'true' run: make --quiet -C tools do_toolchain_binutils64 - - name: Compile Toolchain GCC + - name: Compile 64-bit Toolchain GCC if: steps.cache-cross.outputs.cache-hit != 'true' run: make --quiet -C tools do_toolchain_gcc64 + - name: Compile 32-bit Toolchain Binutils + if: steps.cache-cross.outputs.cache-hit != 'true' + run: make --quiet -C tools do_toolchain_binutils32 + + - name: Compile 32-bit Toolchain GCC + if: steps.cache-cross.outputs.cache-hit != 'true' + run: make --quiet -C tools do_toolchain_gcc32 + compilegnuefi: name: Build GNU-EFI runs-on: ubuntu-latest diff --git a/tools/Makefile b/tools/Makefile index 8e9776b7..ce62c1ab 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -4,7 +4,7 @@ export PATH := $(CROSS_DIR):$(PATH) QEMU_VERSION = qemu-7.1.0 -all: do_rep do_ep do_fex do_limine clone_all do_binutils64 do_binutils32 do_binutilsarm64 do_gcc64 do_gcc32 do_gccarm64 do_toolchain_binutils64 do_toolchain_gcc64 do_qemu +all: do_rep do_ep do_fex do_limine clone_all do_binutils64 do_binutils32 do_binutilsarm64 do_gcc64 do_gcc32 do_gccarm64 do_toolchain_binutils64 do_toolchain_gcc64 do_toolchain_binutils32 do_toolchain_gcc32 do_qemu clean: rm -f rep ep fex @@ -39,8 +39,10 @@ clone_all: mkdir -p build-gccamd64 mkdir -p build-gcci686 mkdir -p build-gccarm64 - mkdir -p build-toolchain-binutils - mkdir -p build-toolchain-gcc + mkdir -p build-toolchain-binutils64 + mkdir -p build-toolchain-gcc64 + mkdir -p build-toolchain-binutils32 + mkdir -p build-toolchain-gcc32 do_qemu: cd qemu && \ @@ -82,16 +84,28 @@ do_binutils64: ../binutils-gdb/configure --target=amd64-elf --prefix="$(CROSS_DIR)" --with-sysroot --enable-shared --disable-werror && \ make all -j$(shell nproc) && make install - do_toolchain_binutils64: - cd build-toolchain-binutils && \ + cd build-toolchain-binutils64 && \ ../binutils-gdb/configure --target=x86_64-fennix --prefix="$(CROSS_DIR)/toolchain" --with-sysroot --enable-shared --disable-werror && \ make all -j$(shell nproc) && make install do_toolchain_gcc64: - cd build-toolchain-gcc && \ + cd build-toolchain-gcc64 && \ ../gcc/configure --target=x86_64-fennix --prefix="$(CROSS_DIR)/toolchain" --enable-languages=c,c++ --enable-shared --without-headers && \ make all-gcc -j$(shell nproc) && \ make all-target-libgcc -j$(shell nproc) && \ make install-gcc -j$(shell nproc) && \ make install-target-libgcc -j$(shell nproc) + +do_toolchain_binutils32: + cd build-toolchain-binutils32 && \ + ../binutils-gdb/configure --target=i686-fennix --prefix="$(CROSS_DIR)/toolchain" --with-sysroot --enable-shared --disable-werror && \ + make all -j$(shell nproc) && make install + +do_toolchain_gcc32: + cd build-toolchain-gcc32 && \ + ../gcc/configure --target=i686-fennix --prefix="$(CROSS_DIR)/toolchain" --enable-languages=c,c++ --enable-shared --without-headers && \ + make all-gcc -j$(shell nproc) && \ + make all-target-libgcc -j$(shell nproc) && \ + make install-gcc -j$(shell nproc) && \ + make install-target-libgcc -j$(shell nproc)