Add GCC Cross-Compiler
This commit is contained in:
parent
d8f8c151b8
commit
cbc4a19234
|
@ -0,0 +1,8 @@
|
||||||
|
#!/usr/bin/bash
|
||||||
|
PREFIX="${PWD}/cross"
|
||||||
|
TARGET=i686-elf
|
||||||
|
PATH="${PWD}/cross/bin:${PATH}"
|
||||||
|
|
||||||
|
export PATH \
|
||||||
|
TARGET \
|
||||||
|
PREFIX
|
|
@ -0,0 +1,5 @@
|
||||||
|
gcc.tar.gz
|
||||||
|
binutils.tar.gz
|
||||||
|
cross/
|
||||||
|
gcc-*/
|
||||||
|
binutils-*/
|
|
@ -0,0 +1,79 @@
|
||||||
|
BINUTILS_VERSION=2.38
|
||||||
|
GCC_VERSION=11.2.0
|
||||||
|
PREFIX=${PWD}/cross
|
||||||
|
CROSS_BIN=${PREFIX}/bin
|
||||||
|
TARGET=i686-elf
|
||||||
|
export PATH:=${CROSS_BIN}:$(PATH)
|
||||||
|
|
||||||
|
.PHONY: crossdev
|
||||||
|
crossdev: install-binutils install-gcc install-target-libgcc
|
||||||
|
|
||||||
|
.PHONY: install-binutils
|
||||||
|
install-binutils: build-binutils ${CROSS_BIN}
|
||||||
|
@$(MAKE) -C binutils-${BINUTILS_VERSION}/build install
|
||||||
|
|
||||||
|
.PHONY: install-gcc
|
||||||
|
install-gcc: all-gcc ${CROSS_BIN}
|
||||||
|
@$(MAKE) -C gcc-${GCC_VERSION}/build $@
|
||||||
|
|
||||||
|
.PHONY: install-target-libgcc
|
||||||
|
install-target-libgcc: all-target-libgcc ${CROSS_BIN}
|
||||||
|
@$(MAKE) -C gcc-${GCC_VERSION}/build $@
|
||||||
|
|
||||||
|
${CROSS_BIN}:
|
||||||
|
@mkdir -p $@
|
||||||
|
|
||||||
|
.PHONY: build-binutils
|
||||||
|
build-binutils: binutils-${BINUTILS_VERSION}/build/Makefile
|
||||||
|
@dirname $< | \
|
||||||
|
xargs \
|
||||||
|
$(MAKE) -C
|
||||||
|
|
||||||
|
.PHONY: all-gcc
|
||||||
|
all-gcc: gcc-${GCC_VERSION}/build/Makefile install-binutils
|
||||||
|
@dirname $< | \
|
||||||
|
xargs -I {} \
|
||||||
|
$(MAKE) -C {} $@
|
||||||
|
|
||||||
|
.PHONY: all-target-libgcc
|
||||||
|
all-target-libgcc: gcc-${GCC_VERSION}/build/Makefile install-binutils
|
||||||
|
@dirname $< | \
|
||||||
|
xargs -I {} \
|
||||||
|
$(MAKE) -C {} $@
|
||||||
|
|
||||||
|
binutils-${BINUTILS_VERSION}/build/Makefile: binutils-${BINUTILS_VERSION}/build
|
||||||
|
@cd $< && \
|
||||||
|
../configure \
|
||||||
|
--target="${TARGET}" \
|
||||||
|
--prefix="${PREFIX}" \
|
||||||
|
--with-sysroot \
|
||||||
|
--disable-nls \
|
||||||
|
--disable-werror
|
||||||
|
|
||||||
|
gcc-${GCC_VERSION}/build/Makefile: gcc-${GCC_VERSION}/build install-binutils
|
||||||
|
@cd $< && \
|
||||||
|
../configure \
|
||||||
|
--target="${TARGET}" \
|
||||||
|
--prefix="${PREFIX}" \
|
||||||
|
--disable-nls \
|
||||||
|
--enable-languages=c,c++ \
|
||||||
|
--without-headers
|
||||||
|
|
||||||
|
binutils-${BINUTILS_VERSION}/build: binutils-${BINUTILS_VERSION}
|
||||||
|
@mkdir -p $@
|
||||||
|
|
||||||
|
gcc-${GCC_VERSION}/build: gcc-${GCC_VERSION}
|
||||||
|
@mkdir -p $@
|
||||||
|
|
||||||
|
binutils-${BINUTILS_VERSION}: binutils.tar.gz
|
||||||
|
@tar xf $<
|
||||||
|
|
||||||
|
gcc-${GCC_VERSION}: gcc.tar.gz
|
||||||
|
@tar xf $<
|
||||||
|
|
||||||
|
binutils.tar.gz:
|
||||||
|
@curl -o $@ https://ftp.gnu.org/gnu/binutils/binutils-${BINUTILS_VERSION}.tar.gz
|
||||||
|
|
||||||
|
gcc.tar.gz:
|
||||||
|
@curl -o $@ https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VERSION}/gcc-${GCC_VERSION}.tar.gz
|
||||||
|
|
Loading…
Reference in New Issue