CFLAGS=-msoft-float -O2 -march=r3000 -I. LFLAGS=-M -T link.ld LIB_DIRS=-L . -L $(MIPS_TOOLS_PREFIX)/mipsel-elf/lib -L $(MIPS_TOOLS_PREFIX)/lib/gcc/mipsel-elf/$(MIPS_GCC_VER) 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=flashgen_el PROG = hello testbench test_irq dhry queens stanford paranoia rmd160_test Bessel whet phrasen dttl richards_benchmark test_exception all: $(PROG) libsys: startup.S init.S kernel.S libsys.c xcpt.c irq.c $(CC) $(CFLAGS) -G 0 -c startup.S -o startup.o $(CC) $(CFLAGS) -G 0 -c kernel.S -o kernel.o $(CC) $(CFLAGS) -G 0 -c init.S -o init.o $(CC) $(CFLAGS) -G 0 -c libsys.c -o libsys.o $(CC) $(CFLAGS) -G 0 -c xcpt.c -o xcpt.o $(CC) $(CFLAGS) -G 0 -c irq.c -o irq.o $(AR) -r libsys.a init.o libsys.o xcpt.o irq.o hello: hello.c $(CC) $(CFLAGS) -c hello.c $(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: testbench.c $(CC) $(CFLAGS) -c testbench.c paranoia.c -DNOSIGNAL -DBATCHMODE -DNOMAIN $(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: test_irq.c $(CC) $(CFLAGS) -c test_irq.c $(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: dhry_1.c dhry_2.c dhry.h $(CC) $(CFLAGS) -DHZ=1000 -c dhry_1.c dhry_2.c $(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: queens.c $(CC) $(CFLAGS) -DUNIX_Old -DHZ=1000 -c queens.c $(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: stanford.c $(CC) $(CFLAGS) -DHZ=1000 -c stanford.c $(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: paranoia.c $(CC) $(CFLAGS) -DNOSIGNAL -DBATCHMODE -g -c paranoia.c $(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: rmd160_test.c rmd160.c rmd160.h $(CC) $(CFLAGS) -DNOSIGNAL -DBATCHMODE -g -c rmd160.c rmd160_test.c $(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: Bessel.c $(CC) $(CFLAGS) -g -c Bessel.c $(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: whet.c $(CC) $(CFLAGS) -c whet.c $(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: phrasen.c $(CC) $(CFLAGS) -g -c phrasen.c $(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) -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 $(FLASHGEN) $@.bin test_exception: test_exception.c $(CC) $(CFLAGS) -O1 -c test_exception.c $(LD) $(LFLAGS) $(LIB_DIRS) test_exception.o -o $@.elf $(LIBS) >$@.map $(OBJDUMP) -d $@.elf > $@.dis $(OBJCOPY) $@.elf -O binary $@.bin $(OBJCOPY) -O srec $@.elf $@.srec $(FLASHGEN) $@.bin clean: rm -rf *.a *.o *.bin *.map *.dis *.srec *.elf $(PROG) > /dev/null