2 # This is a simple Makefile to test some of the RAID-6 code
7 OPTFLAGS
= -O2
# Adjust as desired
8 CFLAGS
= -I..
-I ..
/..
/..
/include -g
$(OPTFLAGS
)
14 ARCH
:= $(shell uname
-m
2>/dev
/null | sed
-e
/s
/i
.86/i386
/)
16 CFLAGS
+= -DCONFIG_X86_32
19 CFLAGS
+= -DCONFIG_X86_64
21 CFLAGS
+= $(shell echo
"vpbroadcastb %xmm0, %ymm1"| gcc
-c
-x assembler
- &&\
22 rm .
/-.o
&& echo
-DCONFIG_AS_AVX2
=1)
25 $(CC
) $(CFLAGS
) -c
-o
$@
$<
33 all: raid6.a raid6test
35 raid6.a
: int1.o int2.o int4.o int8.o int16.o int32.o mmx.o sse1.o sse2.o avx2.o \
36 altivec1.o altivec2.o altivec4.o altivec8.o recov.o recov_ssse3.o recov_avx2.o algos.o \
42 raid6test
: test.c raid6.a
43 $(CC
) $(CFLAGS
) -o raid6test
$^
45 altivec1.c
: altivec.uc ..
/unroll.awk
46 $(AWK
) ..
/unroll.awk
-vN
=1 < altivec.uc
> $@
48 altivec2.c
: altivec.uc ..
/unroll.awk
49 $(AWK
) ..
/unroll.awk
-vN
=2 < altivec.uc
> $@
51 altivec4.c
: altivec.uc ..
/unroll.awk
52 $(AWK
) ..
/unroll.awk
-vN
=4 < altivec.uc
> $@
54 altivec8.c
: altivec.uc ..
/unroll.awk
55 $(AWK
) ..
/unroll.awk
-vN
=8 < altivec.uc
> $@
57 int1.c
: int.uc ..
/unroll.awk
58 $(AWK
) ..
/unroll.awk
-vN
=1 < int.uc
> $@
60 int2.c
: int.uc ..
/unroll.awk
61 $(AWK
) ..
/unroll.awk
-vN
=2 < int.uc
> $@
63 int4.c
: int.uc ..
/unroll.awk
64 $(AWK
) ..
/unroll.awk
-vN
=4 < int.uc
> $@
66 int8.c
: int.uc ..
/unroll.awk
67 $(AWK
) ..
/unroll.awk
-vN
=8 < int.uc
> $@
69 int16.c
: int.uc ..
/unroll.awk
70 $(AWK
) ..
/unroll.awk
-vN
=16 < int.uc
> $@
72 int32.c
: int.uc ..
/unroll.awk
73 $(AWK
) ..
/unroll.awk
-vN
=32 < int.uc
> $@
79 rm -f
*.o
*.a mktables mktables.c
*.uc int
*.c altivec
*.c tables.c raid6test