diff --git a/lib/CPUs/MIPS/bsp/examples/Makefile b/lib/CPUs/MIPS/bsp/examples/Makefile index 39387ca..3359347 100644 --- a/lib/CPUs/MIPS/bsp/examples/Makefile +++ b/lib/CPUs/MIPS/bsp/examples/Makefile @@ -5,13 +5,15 @@ LFLAGS=-M -T link.ld LIB_DIRS=-L /usr/local/mipsel-elf/lib -L /usr/local/lib/gcc/mipsel-elf/4.3.2 LIBS=-lc -lm -lgcc +AS=mipsel-elf-as +AR=mipsel-elf-ar CC=mipsel-elf-gcc LD=mipsel-elf-ld OBJDUMP=mipsel-elf-objdump OBJCOPY=mipsel-elf-objcopy FLASHGEN=$(TOOLS_DIR)/flashgen_little -PROG = hello testbench test_irq dhry queens stanford paranoia rmd160_test Bessel whet phrasen +PROG = hello testbench test_irq dhry queens stanford paranoia rmd160_test Bessel whet phrasen dttl richards_benchmark all: $(PROG) @@ -22,90 +24,107 @@ libsys: startup.S init.S kernel.S libsys.c xcpt.c irq.o $(CC) $(CFLAGS) -c libsys.c -o libsys.o $(CC) $(CFLAGS) -c xcpt.c -o xcpt.o $(CC) $(CFLAGS) -c irq.c -o irq.o + $(AR) -r libsys.a init.o libsys.o xcpt.o irq.o -hello: libsys hello.c +hello: hello.c $(CC) $(CFLAGS) -Os -g -c hello.c - $(LD) $(LFLAGS) $(LIB_DIRS) startup.o init.o kernel.o xcpt.o irq.o libsys.o hello.o -o hello.elf $(LIBS) >hello.map + $(LD) $(LFLAGS) $(LIB_DIRS) hello.o -o $@.elf $(LIBS) >$@.map $(OBJDUMP) -d $@.elf > $@.dis $(OBJCOPY) $@.elf -O binary $@.bin $(OBJCOPY) -O srec $@.elf $@.srec $(FLASHGEN) $@.bin -testbench: libsys testbench.c +testbench: testbench.c $(CC) $(CFLAGS) -Os -g -c testbench.c paranoia.c -DNOSIGNAL -DBATCHMODE -DNOMAIN - $(LD) $(LFLAGS) $(LIB_DIRS) startup.o init.o kernel.o xcpt.o irq.o libsys.o paranoia.o testbench.o -o testbench.elf $(LIBS) >testbench.map + $(LD) $(LFLAGS) $(LIB_DIRS) paranoia.o testbench.o -o $@.elf $(LIBS) >$@.map $(OBJDUMP) -d $@.elf > $@.dis $(OBJCOPY) $@.elf -O binary $@.bin $(OBJCOPY) -O srec $@.elf $@.srec $(FLASHGEN) $@.bin -test_irq: libsys test_irq.c +test_irq: test_irq.c $(CC) $(CFLAGS) -Os -g -c test_irq.c - $(LD) $(LFLAGS) $(LIB_DIRS) startup.o init.o kernel.o xcpt.o irq.o libsys.o test_irq.o -o test_irq.elf $(LIBS) >test_irq.map + $(LD) $(LFLAGS) $(LIB_DIRS) test_irq.o -o $@.elf $(LIBS) >$@.map $(OBJDUMP) -d $@.elf > $@.dis $(OBJCOPY) $@.elf -O binary $@.bin $(OBJCOPY) -O srec $@.elf $@.srec $(FLASHGEN) $@.bin -dhry: libsys dhry_1.c dhry_2.c dhry.h +dhry: dhry_1.c dhry_2.c dhry.h $(CC) $(CFLAGS) -g -DHZ=1000 -c dhry_1.c dhry_2.c - $(LD) $(LFLAGS) $(LIB_DIRS) startup.o init.o kernel.o xcpt.o irq.o libsys.o dhry_1.o dhry_2.o -o dhry.elf $(LIBS) >dhry.map + $(LD) $(LFLAGS) $(LIB_DIRS) dhry_1.o dhry_2.o -o $@.elf $(LIBS) >$@.map $(OBJDUMP) -d $@.elf > $@.dis $(OBJCOPY) $@.elf -O binary $@.bin $(OBJCOPY) -O srec $@.elf $@.srec $(FLASHGEN) $@.bin -queens: libsys queens.c +queens: queens.c $(CC) $(CFLAGS) -DUNIX_Old -DHZ=1000 -g -c queens.c - $(LD) $(LFLAGS) $(LIB_DIRS) startup.o init.o kernel.o xcpt.o irq.o libsys.o queens.o -o queens.elf $(LIBS) >queens.map + $(LD) $(LFLAGS) $(LIB_DIRS) queens.o -o $@.elf $(LIBS) >$@.map $(OBJDUMP) -d $@.elf > $@.dis $(OBJCOPY) $@.elf -O binary $@.bin $(OBJCOPY) -O srec $@.elf $@.srec $(FLASHGEN) $@.bin -stanford: libsys stanford.c +stanford: stanford.c $(CC) $(CFLAGS) -g -DHZ=1000 -c stanford.c - $(LD) $(LFLAGS) $(LIB_DIRS) startup.o init.o kernel.o xcpt.o irq.o libsys.o stanford.o -o stanford.elf $(LIBS) >stanford.map + $(LD) $(LFLAGS) $(LIB_DIRS) stanford.o -o $@.elf $(LIBS) >$@.map $(OBJDUMP) -d $@.elf > $@.dis $(OBJCOPY) $@.elf -O binary $@.bin $(OBJCOPY) -O srec $@.elf $@.srec $(FLASHGEN) $@.bin -paranoia: libsys paranoia.c +paranoia: paranoia.c $(CC) $(CFLAGS) -DNOSIGNAL -DBATCHMODE -g -c paranoia.c - $(LD) $(LFLAGS) $(LIB_DIRS) startup.o init.o kernel.o xcpt.o irq.o libsys.o paranoia.o -o paranoia.elf $(LIBS) >paranoia.map + $(LD) $(LFLAGS) $(LIB_DIRS) paranoia.o -o $@.elf $(LIBS) >$@.map $(OBJDUMP) -d $@.elf > $@.dis $(OBJCOPY) $@.elf -O binary $@.bin $(OBJCOPY) -O srec $@.elf $@.srec $(FLASHGEN) $@.bin -rmd160_test: libsys rmd160_test.c rmd160.c rmd160.h +rmd160_test: rmd160_test.c rmd160.c rmd160.h $(CC) $(CFLAGS) -DNOSIGNAL -DBATCHMODE -g -c rmd160.c rmd160_test.c - $(LD) $(LFLAGS) $(LIB_DIRS) startup.o init.o kernel.o xcpt.o irq.o libsys.o rmd160.o rmd160_test.o -o rmd160_test.elf $(LIBS) >rmd160.map + $(LD) $(LFLAGS) $(LIB_DIRS) rmd160.o rmd160_test.o -o $@.elf $(LIBS) >$@.map $(OBJDUMP) -d $@.elf > $@.dis $(OBJCOPY) $@.elf -O binary $@.bin $(OBJCOPY) -O srec $@.elf $@.srec $(FLASHGEN) $@.bin -Bessel: libsys Bessel.c +Bessel: Bessel.c $(CC) $(CFLAGS) -g -c Bessel.c - $(LD) $(LFLAGS) $(LIB_DIRS) startup.o init.o kernel.o xcpt.o irq.o libsys.o Bessel.o -o Bessel.elf $(LIBS) >Bessel.map + $(LD) $(LFLAGS) $(LIB_DIRS) Bessel.o -o $@.elf $(LIBS) >$@.map $(OBJDUMP) -d $@.elf > $@.dis $(OBJCOPY) $@.elf -O binary $@.bin $(OBJCOPY) -O srec $@.elf $@.srec $(FLASHGEN) $@.bin -whet: libsys whet.c +whet: whet.c $(CC) $(CFLAGS) -g -c whet.c - $(LD) $(LFLAGS) $(LIB_DIRS) startup.o init.o kernel.o xcpt.o irq.o libsys.o whet.o -o whet.elf $(LIBS) >whet.map + $(LD) $(LFLAGS) $(LIB_DIRS) whet.o -o $@.elf $(LIBS) >$@.map $(OBJDUMP) -d $@.elf > $@.dis $(OBJCOPY) $@.elf -O binary $@.bin $(OBJCOPY) -O srec $@.elf $@.srec $(FLASHGEN) $@.bin -phrasen: libsys phrasen.c +phrasen: phrasen.c $(CC) $(CFLAGS) -g -c phrasen.c - $(LD) $(LFLAGS) $(LIB_DIRS) startup.o init.o kernel.o xcpt.o irq.o libsys.o phrasen.o -o phrasen.elf $(LIBS) >phrasen.map + $(LD) $(LFLAGS) $(LIB_DIRS) phrasen.o -o $@.elf $(LIBS) >$@.map + $(OBJDUMP) -d $@.elf > $@.dis + $(OBJCOPY) $@.elf -O binary $@.bin + $(OBJCOPY) -O srec $@.elf $@.srec + $(FLASHGEN) $@.bin + +dttl: dttl.c random.c + $(CC) $(CFLAGS) -g -c dttl.c random.c + $(LD) $(LFLAGS) $(LIB_DIRS) random.o dttl.o -o $@.elf $(LIBS) >$@.map + $(OBJDUMP) -d $@.elf > $@.dis + $(OBJCOPY) $@.elf -O binary $@.bin + $(OBJCOPY) -O srec $@.elf $@.srec + $(FLASHGEN) $@.bin + +richards_benchmark: richards_benchmark.c + $(CC) $(CFLAGS) -g -c richards_benchmark.c + $(LD) $(LFLAGS) $(LIB_DIRS) richards_benchmark.o -o $@.elf $(LIBS) >$@.map $(OBJDUMP) -d $@.elf > $@.dis $(OBJCOPY) $@.elf -O binary $@.bin $(OBJCOPY) -O srec $@.elf $@.srec diff --git a/lib/CPUs/MIPS/bsp/examples/link.ld b/lib/CPUs/MIPS/bsp/examples/link.ld index 58660ce..9effc40 100644 --- a/lib/CPUs/MIPS/bsp/examples/link.ld +++ b/lib/CPUs/MIPS/bsp/examples/link.ld @@ -15,6 +15,10 @@ sys_uart_baud = 0xA0010008; sys_timer_usec = 0xA000008; sys_timer_sec = 0xA000000C; +STARTUP(startup.o) +INPUT(kernel.o) +INPUT(libsys.a) + SECTIONS { .etext ORIGIN(sdram) :