• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2# This is a simple Makefile to test some of the RAID-6 code
3# from userspace.
4#
5
6CC	 = gcc
7OPTFLAGS = -O2			# Adjust as desired
8CFLAGS	 = -I.. -g $(OPTFLAGS)
9LD	 = ld
10PERL	 = perl
11AR	 = ar
12RANLIB	 = ranlib
13
14.c.o:
15	$(CC) $(CFLAGS) -c -o $@ $<
16
17%.c: ../%.c
18	cp -f $< $@
19
20%.uc: ../%.uc
21	cp -f $< $@
22
23all:	raid6.a raid6test
24
25raid6.a: raid6int1.o raid6int2.o raid6int4.o raid6int8.o raid6int16.o \
26	 raid6int32.o \
27	 raid6mmx.o raid6sse1.o raid6sse2.o \
28	 raid6altivec1.o raid6altivec2.o raid6altivec4.o raid6altivec8.o \
29	 raid6recov.o raid6algos.o \
30	 raid6tables.o
31	 rm -f $@
32	 $(AR) cq $@ $^
33	 $(RANLIB) $@
34
35raid6test: test.c raid6.a
36	$(CC) $(CFLAGS) -o raid6test $^
37
38raid6altivec1.c: raid6altivec.uc ../unroll.pl
39	$(PERL) ../unroll.pl 1 < raid6altivec.uc > $@
40
41raid6altivec2.c: raid6altivec.uc ../unroll.pl
42	$(PERL) ../unroll.pl 2 < raid6altivec.uc > $@
43
44raid6altivec4.c: raid6altivec.uc ../unroll.pl
45	$(PERL) ../unroll.pl 4 < raid6altivec.uc > $@
46
47raid6altivec8.c: raid6altivec.uc ../unroll.pl
48	$(PERL) ../unroll.pl 8 < raid6altivec.uc > $@
49
50raid6int1.c: raid6int.uc ../unroll.pl
51	$(PERL) ../unroll.pl 1 < raid6int.uc > $@
52
53raid6int2.c: raid6int.uc ../unroll.pl
54	$(PERL) ../unroll.pl 2 < raid6int.uc > $@
55
56raid6int4.c: raid6int.uc ../unroll.pl
57	$(PERL) ../unroll.pl 4 < raid6int.uc > $@
58
59raid6int8.c: raid6int.uc ../unroll.pl
60	$(PERL) ../unroll.pl 8 < raid6int.uc > $@
61
62raid6int16.c: raid6int.uc ../unroll.pl
63	$(PERL) ../unroll.pl 16 < raid6int.uc > $@
64
65raid6int32.c: raid6int.uc ../unroll.pl
66	$(PERL) ../unroll.pl 32 < raid6int.uc > $@
67
68raid6tables.c: mktables
69	./mktables > raid6tables.c
70
71clean:
72	rm -f *.o *.a mktables mktables.c raid6int.uc raid6*.c raid6test
73
74spotless: clean
75	rm -f *~
76