|  | # | 
|  | # This is a simple Makefile to test some of the RAID-6 code | 
|  | # from userspace. | 
|  | # | 
|  |  | 
|  | CC	 = gcc | 
|  | OPTFLAGS = -O2			# Adjust as desired | 
|  | CFLAGS	 = -I.. -g $(OPTFLAGS) | 
|  | LD	 = ld | 
|  | PERL	 = perl | 
|  | AR	 = ar | 
|  | RANLIB	 = ranlib | 
|  |  | 
|  | .c.o: | 
|  | $(CC) $(CFLAGS) -c -o $@ $< | 
|  |  | 
|  | %.c: ../%.c | 
|  | cp -f $< $@ | 
|  |  | 
|  | %.uc: ../%.uc | 
|  | cp -f $< $@ | 
|  |  | 
|  | all:	raid6.a raid6test | 
|  |  | 
|  | raid6.a: raid6int1.o raid6int2.o raid6int4.o raid6int8.o raid6int16.o \ | 
|  | raid6int32.o \ | 
|  | raid6mmx.o raid6sse1.o raid6sse2.o \ | 
|  | raid6altivec1.o raid6altivec2.o raid6altivec4.o raid6altivec8.o \ | 
|  | raid6recov.o raid6algos.o \ | 
|  | raid6tables.o | 
|  | rm -f $@ | 
|  | $(AR) cq $@ $^ | 
|  | $(RANLIB) $@ | 
|  |  | 
|  | raid6test: test.c raid6.a | 
|  | $(CC) $(CFLAGS) -o raid6test $^ | 
|  |  | 
|  | raid6altivec1.c: raid6altivec.uc ../unroll.pl | 
|  | $(PERL) ../unroll.pl 1 < raid6altivec.uc > $@ | 
|  |  | 
|  | raid6altivec2.c: raid6altivec.uc ../unroll.pl | 
|  | $(PERL) ../unroll.pl 2 < raid6altivec.uc > $@ | 
|  |  | 
|  | raid6altivec4.c: raid6altivec.uc ../unroll.pl | 
|  | $(PERL) ../unroll.pl 4 < raid6altivec.uc > $@ | 
|  |  | 
|  | raid6altivec8.c: raid6altivec.uc ../unroll.pl | 
|  | $(PERL) ../unroll.pl 8 < raid6altivec.uc > $@ | 
|  |  | 
|  | raid6int1.c: raid6int.uc ../unroll.pl | 
|  | $(PERL) ../unroll.pl 1 < raid6int.uc > $@ | 
|  |  | 
|  | raid6int2.c: raid6int.uc ../unroll.pl | 
|  | $(PERL) ../unroll.pl 2 < raid6int.uc > $@ | 
|  |  | 
|  | raid6int4.c: raid6int.uc ../unroll.pl | 
|  | $(PERL) ../unroll.pl 4 < raid6int.uc > $@ | 
|  |  | 
|  | raid6int8.c: raid6int.uc ../unroll.pl | 
|  | $(PERL) ../unroll.pl 8 < raid6int.uc > $@ | 
|  |  | 
|  | raid6int16.c: raid6int.uc ../unroll.pl | 
|  | $(PERL) ../unroll.pl 16 < raid6int.uc > $@ | 
|  |  | 
|  | raid6int32.c: raid6int.uc ../unroll.pl | 
|  | $(PERL) ../unroll.pl 32 < raid6int.uc > $@ | 
|  |  | 
|  | raid6tables.c: mktables | 
|  | ./mktables > raid6tables.c | 
|  |  | 
|  | clean: | 
|  | rm -f *.o *.a mktables mktables.c raid6int.uc raid6*.c raid6test | 
|  |  | 
|  | spotless: clean | 
|  | rm -f *~ |