- improved tool chain

git-svn-id: http://moon:8086/svn/mips@95 a8ebac50-d88d-4704-bea3-6648445a41b3
This commit is contained in:
2017-01-17 20:34:55 +00:00
parent 71b53945b5
commit 1a58dcf524
4 changed files with 33 additions and 35 deletions
+9 -11
View File
@@ -9,16 +9,14 @@ endif
ifeq ($(ENDIANESS),eb) ifeq ($(ENDIANESS),eb)
ENDIAN_FLAGS=-EB ENDIAN_FLAGS=-EB
CFLAGS:=$(ENDIAN_FLAGS) -specs=specs/eb/$(SPECNAME)
else else
ENDIAN_FLAGS=-EL ENDIAN_FLAGS=-EL
CFLAGS:=$(ENDIAN_FLAGS) -specs=specs/$(SPECNAME)
endif endif
BUILD_DIR=build/$(BOARD)/$(ENDIANESS) BUILD_DIR=build/$(BOARD)/$(ENDIANESS)
LSYS_BUILD_DIR=libsys/build/$(BOARD)/$(ENDIANESS) LSYS_BUILD_DIR=libsys/build/$(BOARD)/$(ENDIANESS)
CFLAGS+=-g -msoft-float -O2 -march=r3000 -I. -Ilibsys -Ilibsys/boards/$(BOARD) -L$(LSYS_BUILD_DIR) -Wl,-M CFLAGS:=$(ENDIAN_FLAGS) -Tlink/link.ld -g -msoft-float -O2 -march=r3000 -I. -Ilibsys -Ilibsys/boards/$(BOARD) -L$(LSYS_BUILD_DIR) -Wl,-M
ifeq ($(TLB),yes) ifeq ($(TLB),yes)
CFLAGS+=-DSYS_IO_BASE=0xAC000000 -DSDRAM_BASE=0x80000000 -DFLASH_BASE_IO=0xA4000000 -DFLASH_BASE_MEM=0x88000000 CFLAGS+=-DSYS_IO_BASE=0xAC000000 -DSDRAM_BASE=0x80000000 -DFLASH_BASE_IO=0xA4000000 -DFLASH_BASE_MEM=0x88000000
else else
@@ -32,14 +30,14 @@ else
endif endif
PACKHEX=$(MIPS_HOME)/tools/packhex PACKHEX=$(MIPS_HOME)/tools/packhex
LIBS=-lm -lc -lsys LIBS=-lm -lc -lsys -lc
AS=mipsel-elf-as AS=mips-elf-as
AR=mipsel-elf-ar AR=mips-elf-ar
CC=mipsel-elf-gcc CC=mips-elf-gcc
LD=mipsel-elf-ld LD=mips-elf-ld
OBJDUMP=mipsel-elf-objdump OBJDUMP=mips-elf-objdump
OBJCOPY=mipsel-elf-objcopy OBJCOPY=mips-elf-objcopy
PROG-ml402 = $(addprefix $(BUILD_DIR)/, hello.elf testbench.elf test_irq.elf dhry.elf queens.elf stanford.elf paranoia.elf rmd160_test.elf Bessel.elf whet.elf phrasen.elf dttl.elf richards_benchmark.elf test_exception.elf life.elf r3.elf gunzip.elf basic_math.elf jman_patches.elf jman_patchmeshes.elf jman_polys.elf test_hpi.elf test_vga.elf test_fft.elf) PROG-ml402 = $(addprefix $(BUILD_DIR)/, hello.elf testbench.elf test_irq.elf dhry.elf queens.elf stanford.elf paranoia.elf rmd160_test.elf Bessel.elf whet.elf phrasen.elf dttl.elf richards_benchmark.elf test_exception.elf life.elf r3.elf gunzip.elf basic_math.elf jman_patches.elf jman_patchmeshes.elf jman_polys.elf test_hpi.elf test_vga.elf test_fft.elf)
+5 -7
View File
@@ -2,14 +2,12 @@ ENDIAN='big'
ifeq ($(ENDIAN), 'big') ifeq ($(ENDIAN), 'big')
ENDIAN_FLAGS=-EB ENDIAN_FLAGS=-EB
LIB_DIRS=-L $(MIPS_TOOLS_PREFIX)/mipsel-elf/lib/eb -L $(MIPS_TOOLS_PREFIX)/lib/gcc/mipsel-elf/$(MIPS_GCC_VER)/eb
else else
ENDIAN_FLAGS=-EL ENDIAN_FLAGS=-EL
LIB_DIRS=-L $(MIPS_TOOLS_PREFIX)/mipsel-elf/lib -L $(MIPS_TOOLS_PREFIX)/lib/gcc/mipsel-elf/$(MIPS_GCC_VER)
endif endif
CFLAGS=$(ENDIAN_FLAGS) -Os -I. -I../ -I../libsys -msoft-float -march=r3000 -G0 CFLAGS=$(ENDIAN_FLAGS) -Os -I. -I../ -I../libsys -msoft-float -march=r3000 -G0
LFLAGS=$(ENDIAN_FLAGS) -M LFLAGS=$(ENDIAN_FLAGS)
ifeq ($(TLB),yes) ifeq ($(TLB),yes)
CFLAGS+=-DSYS_IO_BASE=0xAC000000 -DSDRAM_BASE=0x80000000 -DFLASH_BASE_IO=0xA4000000 -DFLASH_BASE_MEM=0x88000000 CFLAGS+=-DSYS_IO_BASE=0xAC000000 -DSDRAM_BASE=0x80000000 -DFLASH_BASE_IO=0xA4000000 -DFLASH_BASE_MEM=0x88000000
@@ -22,10 +20,10 @@ endif
LIBS=-lc -lgcc LIBS=-lc -lgcc
CFLAGS += -DXCP_SIZE=4096 CFLAGS += -DXCP_SIZE=4096
CC=mipsel-elf-gcc CC=mips-elf-gcc
LD=mipsel-elf-ld LD=mips-elf-gcc
OBJDUMP=mipsel-elf-objdump OBJDUMP=mips-elf-objdump
OBJCOPY=mipsel-elf-objcopy OBJCOPY=mips-elf-objcopy
ROMGEN=$(MIPS_HOME)/tools/romgen ROMGEN=$(MIPS_HOME)/tools/romgen
.PHONY: libsys .PHONY: libsys
+7 -7
View File
@@ -13,7 +13,7 @@ else
ENDIAN_FLAGS=-EB ENDIAN_FLAGS=-EB
endif endif
CFLAGS=$(ENDIAN_FLAGS) -g -msoft-float -O2 -march=r3000 -I. -Wl,-M -Iboards/$(BOARD) -D$(BOARD) CFLAGS=$(ENDIAN_FLAGS) -g -msoft-float -O2 -march=r3000 -I. -Iboards/$(BOARD) -D$(BOARD)
ifeq ($(TLB),yes) ifeq ($(TLB),yes)
CFLAGS+=-DSYS_IO_BASE=0xAC000000 -DSDRAM_BASE=0x80000000 -DFLASH_BASE_IO=0xA4000000 -DFLASH_BASE_MEM=0x88000000 CFLAGS+=-DSYS_IO_BASE=0xAC000000 -DSDRAM_BASE=0x80000000 -DFLASH_BASE_IO=0xA4000000 -DFLASH_BASE_MEM=0x88000000
@@ -23,12 +23,12 @@ endif
BUILD_DIR=./build/$(BOARD)/$(ENDIANESS) BUILD_DIR=./build/$(BOARD)/$(ENDIANESS)
AS=mipsel-elf-as AS=mips-elf-as
AR=mipsel-elf-ar AR=mips-elf-ar
CC=mipsel-elf-gcc CC=mips-elf-gcc
LD=mipsel-elf-ld LD=mips-elf-ld
OBJDUMP=mipsel-elf-objdump OBJDUMP=mips-elf-objdump
OBJCOPY=mipsel-elf-objcopy OBJCOPY=mips-elf-objcopy
FLASHGEN=flashgen FLASHGEN=flashgen
OBJS-ml402=$(addprefix $(BUILD_DIR)/, libsys.o xcpt.o syscalls.o cop0.o irq.o mips_dbg.o mips_dis.o mips_ps2.o mips_gfx.o console.o screen.o uart.o board.o gpio.o) OBJS-ml402=$(addprefix $(BUILD_DIR)/, libsys.o xcpt.o syscalls.o cop0.o irq.o mips_dbg.o mips_dis.o mips_ps2.o mips_gfx.o console.o screen.o uart.o board.o gpio.o)
+12 -10
View File
@@ -1,5 +1,5 @@
#!/bin/sh #!/bin/sh
TARGET=mipsel-elf TARGET=mips-elf
PREFIX=$(pwd)/install PREFIX=$(pwd)/install
SRC_BINUTILS=binutils-2.24 SRC_BINUTILS=binutils-2.24
@@ -32,7 +32,7 @@ if [ ! -e ./$SRC_BINUTILS-build ]; then
mkdir -p $SRC_BINUTILS-build mkdir -p $SRC_BINUTILS-build
cd $SRC_BINUTILS-build cd $SRC_BINUTILS-build
../$SRC_BINUTILS/configure --target=$TARGET --prefix=$PREFIX || exit 1 ../$SRC_BINUTILS/configure --target=$TARGET --prefix=$PREFIX || exit 1
make || exit 1 make -j4 || exit 1
make install || exit 1 make install || exit 1
cd .. cd ..
else else
@@ -61,7 +61,7 @@ if [ ! -e ./$SRC_GMP-build ]; then
mkdir -p $SRC_GMP-build mkdir -p $SRC_GMP-build
cd $SRC_GMP-build cd $SRC_GMP-build
../$SRC_GMP/configure --prefix=$PREFIX || exit 1 ../$SRC_GMP/configure --prefix=$PREFIX || exit 1
make || exit 1 make -j4 || exit 1
make check || exit 1 make check || exit 1
make install || exit 1 make install || exit 1
cd .. cd ..
@@ -91,7 +91,7 @@ if [ ! -e ./$SRC_MPFR-build ]; then
mkdir -p $SRC_MPFR-build mkdir -p $SRC_MPFR-build
cd $SRC_MPFR-build cd $SRC_MPFR-build
../$SRC_MPFR/configure --prefix=$PREFIX --with-gmp=$PREFIX || exit 1 ../$SRC_MPFR/configure --prefix=$PREFIX --with-gmp=$PREFIX || exit 1
make || exit 1 make -j4 || exit 1
make check || exit 1 make check || exit 1
make install || exit 1 make install || exit 1
cd .. cd ..
@@ -121,7 +121,7 @@ if [ ! -e ./$SRC_MPC-build ]; then
mkdir -p $SRC_MPC-build mkdir -p $SRC_MPC-build
cd $SRC_MPC-build cd $SRC_MPC-build
../$SRC_MPC/configure --prefix=$PREFIX --with-gmp=$PREFIX --with-mpfr=$PREFIX || exit 1 ../$SRC_MPC/configure --prefix=$PREFIX --with-gmp=$PREFIX --with-mpfr=$PREFIX || exit 1
make || exit 1 make -j4 || exit 1
make check || exit 1 make check || exit 1
make install || exit 1 make install || exit 1
cd .. cd ..
@@ -171,13 +171,15 @@ if [ ! -e ./$SRC_GCC-build ]; then
echo Building $SRC_GCC echo Building $SRC_GCC
mkdir -p $SRC_GCC-build mkdir -p $SRC_GCC-build
cd $SRC_GCC-build cd $SRC_GCC-build
../$SRC_GCC/configure --target=$TARGET --prefix=$PREFIX --with-gmp=$PREFIX --with-mpfr=$PREFIX --with-mpc=$PREFIX --with-float=soft --with-newlib --verbose --enable-languages="c,c++" || exit 1 ../$SRC_GCC/configure --target=$TARGET --prefix=$PREFIX --with-gmp=$PREFIX --with-mpfr=$PREFIX --with-mpc=$PREFIX --with-float=soft --with-newlib --verbose --enable-languages="c,c++" --with-gnu-as --with-gnu-ld || exit 1
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PREFIX/lib make all || exit 1 make -j4 all || exit 1
make info || exit 1 make info || exit 1
make install || exit 1 make install || exit 1
cd .. cd ..
echo $PREFIX/lib >>/etc/ld.so.conf.d/local.conf echo $PREFIX/lib >local.conf
ldconfig echo $PREFIX/$TARGET/lib >>local.conf
sudo mv local.conf /etc/ld.so.conf.d/local.conf
sudo ldconfig
else else
echo $SRC_GCC is already built. echo $SRC_GCC is already built.
fi fi
@@ -185,7 +187,7 @@ fi
# --------------------------------------------------------------- # ---------------------------------------------------------------
# 50. GDB bauen und installieren # 50. GDB bauen und installieren
# --------------------------------------------------------------- # ---------------------------------------------------------------
if [ ! -e $SRC_GDB.tar.bz2 ]; then if [ ! -e $SRC_GDB.tar.xz ]; then
echo Downloading $SRC_GDB echo Downloading $SRC_GDB
wget ftp://ftp.gnu.org/gnu/gdb/$SRC_GDB.tar.xz || exit 1 wget ftp://ftp.gnu.org/gnu/gdb/$SRC_GDB.tar.xz || exit 1
else else