diff --git a/src/Makefile b/src/Makefile index 5162539..a5025fb 100644 --- a/src/Makefile +++ b/src/Makefile @@ -9,16 +9,14 @@ endif ifeq ($(ENDIANESS),eb) ENDIAN_FLAGS=-EB - CFLAGS:=$(ENDIAN_FLAGS) -specs=specs/eb/$(SPECNAME) else ENDIAN_FLAGS=-EL - CFLAGS:=$(ENDIAN_FLAGS) -specs=specs/$(SPECNAME) endif - + BUILD_DIR=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) CFLAGS+=-DSYS_IO_BASE=0xAC000000 -DSDRAM_BASE=0x80000000 -DFLASH_BASE_IO=0xA4000000 -DFLASH_BASE_MEM=0x88000000 else @@ -32,14 +30,14 @@ else endif PACKHEX=$(MIPS_HOME)/tools/packhex -LIBS=-lm -lc -lsys +LIBS=-lm -lc -lsys -lc -AS=mipsel-elf-as -AR=mipsel-elf-ar -CC=mipsel-elf-gcc -LD=mipsel-elf-ld -OBJDUMP=mipsel-elf-objdump -OBJCOPY=mipsel-elf-objcopy +AS=mips-elf-as +AR=mips-elf-ar +CC=mips-elf-gcc +LD=mips-elf-ld +OBJDUMP=mips-elf-objdump +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) diff --git a/src/bootloader/Makefile b/src/bootloader/Makefile index 23d0362..a24adc5 100644 --- a/src/bootloader/Makefile +++ b/src/bootloader/Makefile @@ -2,14 +2,12 @@ ENDIAN='big' ifeq ($(ENDIAN), 'big') 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 ENDIAN_FLAGS=-EL - LIB_DIRS=-L $(MIPS_TOOLS_PREFIX)/mipsel-elf/lib -L $(MIPS_TOOLS_PREFIX)/lib/gcc/mipsel-elf/$(MIPS_GCC_VER) endif CFLAGS=$(ENDIAN_FLAGS) -Os -I. -I../ -I../libsys -msoft-float -march=r3000 -G0 -LFLAGS=$(ENDIAN_FLAGS) -M +LFLAGS=$(ENDIAN_FLAGS) ifeq ($(TLB),yes) CFLAGS+=-DSYS_IO_BASE=0xAC000000 -DSDRAM_BASE=0x80000000 -DFLASH_BASE_IO=0xA4000000 -DFLASH_BASE_MEM=0x88000000 @@ -22,10 +20,10 @@ endif LIBS=-lc -lgcc CFLAGS += -DXCP_SIZE=4096 -CC=mipsel-elf-gcc -LD=mipsel-elf-ld -OBJDUMP=mipsel-elf-objdump -OBJCOPY=mipsel-elf-objcopy +CC=mips-elf-gcc +LD=mips-elf-gcc +OBJDUMP=mips-elf-objdump +OBJCOPY=mips-elf-objcopy ROMGEN=$(MIPS_HOME)/tools/romgen .PHONY: libsys diff --git a/src/libsys/Makefile b/src/libsys/Makefile index ab5ea2e..b885923 100644 --- a/src/libsys/Makefile +++ b/src/libsys/Makefile @@ -13,7 +13,7 @@ else ENDIAN_FLAGS=-EB 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) 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) -AS=mipsel-elf-as -AR=mipsel-elf-ar -CC=mipsel-elf-gcc -LD=mipsel-elf-ld -OBJDUMP=mipsel-elf-objdump -OBJCOPY=mipsel-elf-objcopy +AS=mips-elf-as +AR=mips-elf-ar +CC=mips-elf-gcc +LD=mips-elf-ld +OBJDUMP=mips-elf-objdump +OBJCOPY=mips-elf-objcopy 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) diff --git a/toolchain/make.sh b/toolchain/make.sh index 50a29ee..24f4f21 100644 --- a/toolchain/make.sh +++ b/toolchain/make.sh @@ -1,5 +1,5 @@ #!/bin/sh -TARGET=mipsel-elf +TARGET=mips-elf PREFIX=$(pwd)/install SRC_BINUTILS=binutils-2.24 @@ -32,7 +32,7 @@ if [ ! -e ./$SRC_BINUTILS-build ]; then mkdir -p $SRC_BINUTILS-build cd $SRC_BINUTILS-build ../$SRC_BINUTILS/configure --target=$TARGET --prefix=$PREFIX || exit 1 - make || exit 1 + make -j4 || exit 1 make install || exit 1 cd .. else @@ -61,7 +61,7 @@ if [ ! -e ./$SRC_GMP-build ]; then mkdir -p $SRC_GMP-build cd $SRC_GMP-build ../$SRC_GMP/configure --prefix=$PREFIX || exit 1 - make || exit 1 + make -j4 || exit 1 make check || exit 1 make install || exit 1 cd .. @@ -91,7 +91,7 @@ if [ ! -e ./$SRC_MPFR-build ]; then mkdir -p $SRC_MPFR-build cd $SRC_MPFR-build ../$SRC_MPFR/configure --prefix=$PREFIX --with-gmp=$PREFIX || exit 1 - make || exit 1 + make -j4 || exit 1 make check || exit 1 make install || exit 1 cd .. @@ -121,7 +121,7 @@ if [ ! -e ./$SRC_MPC-build ]; then mkdir -p $SRC_MPC-build cd $SRC_MPC-build ../$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 install || exit 1 cd .. @@ -171,13 +171,15 @@ if [ ! -e ./$SRC_GCC-build ]; then echo Building $SRC_GCC mkdir -p $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 - LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PREFIX/lib make all || 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 + make -j4 all || exit 1 make info || exit 1 make install || exit 1 cd .. - echo $PREFIX/lib >>/etc/ld.so.conf.d/local.conf - ldconfig + echo $PREFIX/lib >local.conf + echo $PREFIX/$TARGET/lib >>local.conf + sudo mv local.conf /etc/ld.so.conf.d/local.conf + sudo ldconfig else echo $SRC_GCC is already built. fi @@ -185,7 +187,7 @@ fi # --------------------------------------------------------------- # 50. GDB bauen und installieren # --------------------------------------------------------------- -if [ ! -e $SRC_GDB.tar.bz2 ]; then +if [ ! -e $SRC_GDB.tar.xz ]; then echo Downloading $SRC_GDB wget ftp://ftp.gnu.org/gnu/gdb/$SRC_GDB.tar.xz || exit 1 else