XCFLAGS=-Wall -g -O

all: scrubtest scrubtest_ram0 scrubtest_ml510 scrubtest_ngfp scrubonly_ngfp

clean:
	rm -f *.o scrubtest scrubtest_ram0 scrubtest_ml510 scrubtest_ngfp scrubonly_ngfp

memscrub.o: memscrub.c memscrub.h
	sparc-rtems-gcc -c memscrub.c $(XCFLAGS)	

memscrub_rtems.o: memscrub_rtems.c memscrub_rtems.h memscrub.h
	sparc-rtems-gcc -c memscrub_rtems.c $(XCFLAGS)

failover.o: failover.c failover.h memscrub_rtems.h
	sparc-rtems-gcc -c failover.c $(XCFLAGS)

scrubtest.o: scrubtest.c memscrub_rtems.h
	sparc-rtems-gcc -c scrubtest.c -DMEMSTART=0x40000000 $(XCFLAGS)

scrubtest_ram0.o: scrubtest.c memscrub_rtems.h
	sparc-rtems-gcc -c scrubtest.c -o scrubtest_ram0.o -DMEMSTART=0 $(XCFLAGS)

scrubtest_ml510.o: scrubtest.c memscrub_rtems.h
	sparc-rtems-gcc -c scrubtest.c -o scrubtest_ml510.o -DMEMSTART=0 -DMEMSIZE=0x40000000 -DMEMFAIL_ML510 $(XCFLAGS)

scrubtest_ngfp.o: scrubtest.c memscrub_rtems.h
	sparc-rtems-gcc -c scrubtest.c -o scrubtest_ngfp.o -DMEMSTART=0 -DMEMSIZE=0x40000000 -DMEMFAIL_NGFP -DOPERMODE=2 -DFOOPTIONS=1 $(XCFLAGS)

scrubonly_ngfp.o: scrubtest.c memscrub_rtems.h
	sparc-rtems-gcc -c scrubtest.c -o scrubonly_ngfp.o -DNOFITASK -DMEMSTART=0 -DMEMFAIL_NGFP -DMEMSIZE=0x40000000 -DOPERMODE=2 -DFOOPTIONS=1 $(XCFLAGS)

scrubtest: scrubtest.o memscrub_rtems.o memscrub.o
	sparc-rtems-gcc scrubtest.o memscrub_rtems.o memscrub.o -o scrubtest

scrubtest_ram0: scrubtest_ram0.o memscrub_rtems.o memscrub.o
	sparc-rtems-gcc -qngmp scrubtest_ram0.o memscrub_rtems.o memscrub.o -o scrubtest_ram0

scrubtest_ml510: scrubtest_ml510.o memscrub_rtems.o memscrub.o failover.o
	sparc-rtems-gcc -qngmp scrubtest_ml510.o memscrub_rtems.o memscrub.o failover.o -o scrubtest_ml510

scrubtest_ngfp: scrubtest_ngfp.o memscrub_rtems.o memscrub.o failover.o
	sparc-rtems-gcc -qngmp scrubtest_ngfp.o memscrub_rtems.o memscrub.o failover.o -o scrubtest_ngfp

scrubonly_ngfp: scrubonly_ngfp.o memscrub_rtems.o memscrub.o failover.o
	sparc-rtems-gcc -qngmp scrubonly_ngfp.o memscrub_rtems.o memscrub.o failover.o -o scrubonly_ngfp

