Use custom GCC toolchain
This commit is contained in:
12
Makefile
12
Makefile
@ -17,6 +17,18 @@ prepare:
|
||||
cd limine; \
|
||||
make; \
|
||||
fi
|
||||
if [ ! -d toolchain/binutils-gdb ]; then \
|
||||
cd toolchain; \
|
||||
git clone git://sourceware.org/git/binutils-gdb.git --depth=1; \
|
||||
$(PWD)/scripts/build-binutils-gdb.sh; \
|
||||
cd ..; \
|
||||
fi
|
||||
if [ ! -d toolchain/gcc ]; then \
|
||||
cd toolchain; \
|
||||
git clone https://gcc.gnu.org/git/gcc.git --depth=1; \
|
||||
$(PWD)/scripts/build-gcc.sh; \
|
||||
cd ..; \
|
||||
fi
|
||||
|
||||
cleanall:
|
||||
make clean
|
||||
|
@ -1,3 +1,5 @@
|
||||
CC := x86_64-elf-gcc
|
||||
LD := x86_64-elf-ld
|
||||
AR := x86_64-elf-ar
|
||||
PREFIX := $(ROOT)/toolchain/root/bin
|
||||
|
||||
CC := $(PREFIX)/x86_64-elf-gcc
|
||||
LD := $(PREFIX)/x86_64-elf-ld
|
||||
AR := $(PREFIX)/x86_64-elf-ar
|
||||
|
@ -9,4 +9,5 @@ CFLAGS += -m64 \
|
||||
-fno-stack-protector \
|
||||
-fno-stack-check \
|
||||
-fno-builtin \
|
||||
-fno-omit-frame-pointer \
|
||||
-O0 \
|
||||
|
12
scripts/build-binutils-gdb.sh
Executable file
12
scripts/build-binutils-gdb.sh
Executable file
@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
|
||||
PREFIX=$(pwd)/root
|
||||
|
||||
mkdir build-bintuils-gdb
|
||||
cd build-bintuils-gdb
|
||||
../binutils-gdb/configure --prefix="$PREFIX" \
|
||||
--disable-nls \
|
||||
--disable-werror \
|
||||
--target=x86_64-elf
|
||||
make -j$(nproc)
|
||||
make install
|
25
scripts/build-gcc.sh
Executable file
25
scripts/build-gcc.sh
Executable file
@ -0,0 +1,25 @@
|
||||
#!/bin/sh
|
||||
|
||||
PREFIX=$(pwd)/root
|
||||
|
||||
cd gcc
|
||||
./contrib/download_prerequisites
|
||||
cd ..
|
||||
mkdir build-gcc
|
||||
cd build-gcc
|
||||
../gcc/configure --prefix="$PREFIX" \
|
||||
--disable-nls \
|
||||
--enable-languages=c \
|
||||
--target=x86_64-elf \
|
||||
--disable-bootstrap \
|
||||
--without-headers \
|
||||
--disable-shared \
|
||||
--disable-threads \
|
||||
--disable-libssp \
|
||||
--disable-libquadmath \
|
||||
--disable-libgomp \
|
||||
--disable-libatomic \
|
||||
--disable-libmudflap \
|
||||
--disable-multilib
|
||||
make -j$(nproc)
|
||||
make install
|
Reference in New Issue
Block a user