diff options
Diffstat (limited to 'lib/raid6/test/Makefile')
-rw-r--r-- | lib/raid6/test/Makefile | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/lib/raid6/test/Makefile b/lib/raid6/test/Makefile index 754cbac0f9f8..087332dbf8aa 100644 --- a/lib/raid6/test/Makefile +++ b/lib/raid6/test/Makefile | |||
@@ -10,16 +10,31 @@ LD = ld | |||
10 | AWK = awk -f | 10 | AWK = awk -f |
11 | AR = ar | 11 | AR = ar |
12 | RANLIB = ranlib | 12 | RANLIB = ranlib |
13 | OBJS = int1.o int2.o int4.o int8.o int16.o int32.o recov.o algos.o tables.o | ||
13 | 14 | ||
14 | ARCH := $(shell uname -m 2>/dev/null | sed -e /s/i.86/i386/) | 15 | ARCH := $(shell uname -m 2>/dev/null | sed -e /s/i.86/i386/) |
15 | ifeq ($(ARCH),i386) | 16 | ifeq ($(ARCH),i386) |
16 | CFLAGS += -DCONFIG_X86_32 | 17 | CFLAGS += -DCONFIG_X86_32 |
18 | IS_X86 = yes | ||
17 | endif | 19 | endif |
18 | ifeq ($(ARCH),x86_64) | 20 | ifeq ($(ARCH),x86_64) |
19 | CFLAGS += -DCONFIG_X86_64 | 21 | CFLAGS += -DCONFIG_X86_64 |
22 | IS_X86 = yes | ||
23 | endif | ||
24 | |||
25 | ifeq ($(IS_X86),yes) | ||
26 | OBJS += mmx.o sse1.o sse2.o avx2.o recov_ssse3.o recov_avx2.o | ||
27 | CFLAGS += $(shell echo "vpbroadcastb %xmm0, %ymm1" | \ | ||
28 | gcc -c -x assembler - >&/dev/null && \ | ||
29 | rm ./-.o && echo -DCONFIG_AS_AVX2=1) | ||
30 | else | ||
31 | HAS_ALTIVEC := $(shell echo -e '\#include <altivec.h>\nvector int a;' |\ | ||
32 | gcc -c -x c - >&/dev/null && \ | ||
33 | rm ./-.o && echo yes) | ||
34 | ifeq ($(HAS_ALTIVEC),yes) | ||
35 | OBJS += altivec1.o altivec2.o altivec4.o altivec8.o | ||
36 | endif | ||
20 | endif | 37 | endif |
21 | CFLAGS += $(shell echo "vpbroadcastb %xmm0, %ymm1"| gcc -c -x assembler - &&\ | ||
22 | rm ./-.o && echo -DCONFIG_AS_AVX2=1) | ||
23 | 38 | ||
24 | .c.o: | 39 | .c.o: |
25 | $(CC) $(CFLAGS) -c -o $@ $< | 40 | $(CC) $(CFLAGS) -c -o $@ $< |
@@ -32,9 +47,7 @@ CFLAGS += $(shell echo "vpbroadcastb %xmm0, %ymm1"| gcc -c -x assembler - &&\ | |||
32 | 47 | ||
33 | all: raid6.a raid6test | 48 | all: raid6.a raid6test |
34 | 49 | ||
35 | raid6.a: int1.o int2.o int4.o int8.o int16.o int32.o mmx.o sse1.o sse2.o avx2.o \ | 50 | raid6.a: $(OBJS) |
36 | altivec1.o altivec2.o altivec4.o altivec8.o recov.o recov_ssse3.o recov_avx2.o algos.o \ | ||
37 | tables.o | ||
38 | rm -f $@ | 51 | rm -f $@ |
39 | $(AR) cq $@ $^ | 52 | $(AR) cq $@ $^ |
40 | $(RANLIB) $@ | 53 | $(RANLIB) $@ |