diff options
Diffstat (limited to 'lib/raid6/Makefile')
-rw-r--r-- | lib/raid6/Makefile | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/lib/raid6/Makefile b/lib/raid6/Makefile new file mode 100644 index 000000000000..19bf32da644f --- /dev/null +++ b/lib/raid6/Makefile | |||
@@ -0,0 +1,78 @@ | |||
1 | obj-$(CONFIG_RAID6_PQ) += raid6_pq.o | ||
2 | |||
3 | raid6_pq-y += raid6algos.o raid6recov.o raid6tables.o \ | ||
4 | raid6int1.o raid6int2.o raid6int4.o \ | ||
5 | raid6int8.o raid6int16.o raid6int32.o \ | ||
6 | raid6altivec1.o raid6altivec2.o raid6altivec4.o \ | ||
7 | raid6altivec8.o \ | ||
8 | raid6mmx.o raid6sse1.o raid6sse2.o | ||
9 | hostprogs-y += mktables | ||
10 | |||
11 | quiet_cmd_unroll = UNROLL $@ | ||
12 | cmd_unroll = $(AWK) -f$(srctree)/$(src)/unroll.awk -vN=$(UNROLL) \ | ||
13 | < $< > $@ || ( rm -f $@ && exit 1 ) | ||
14 | |||
15 | ifeq ($(CONFIG_ALTIVEC),y) | ||
16 | altivec_flags := -maltivec -mabi=altivec | ||
17 | endif | ||
18 | |||
19 | targets += raid6int1.c | ||
20 | $(obj)/raid6int1.c: UNROLL := 1 | ||
21 | $(obj)/raid6int1.c: $(src)/raid6int.uc $(src)/unroll.awk FORCE | ||
22 | $(call if_changed,unroll) | ||
23 | |||
24 | targets += raid6int2.c | ||
25 | $(obj)/raid6int2.c: UNROLL := 2 | ||
26 | $(obj)/raid6int2.c: $(src)/raid6int.uc $(src)/unroll.awk FORCE | ||
27 | $(call if_changed,unroll) | ||
28 | |||
29 | targets += raid6int4.c | ||
30 | $(obj)/raid6int4.c: UNROLL := 4 | ||
31 | $(obj)/raid6int4.c: $(src)/raid6int.uc $(src)/unroll.awk FORCE | ||
32 | $(call if_changed,unroll) | ||
33 | |||
34 | targets += raid6int8.c | ||
35 | $(obj)/raid6int8.c: UNROLL := 8 | ||
36 | $(obj)/raid6int8.c: $(src)/raid6int.uc $(src)/unroll.awk FORCE | ||
37 | $(call if_changed,unroll) | ||
38 | |||
39 | targets += raid6int16.c | ||
40 | $(obj)/raid6int16.c: UNROLL := 16 | ||
41 | $(obj)/raid6int16.c: $(src)/raid6int.uc $(src)/unroll.awk FORCE | ||
42 | $(call if_changed,unroll) | ||
43 | |||
44 | targets += raid6int32.c | ||
45 | $(obj)/raid6int32.c: UNROLL := 32 | ||
46 | $(obj)/raid6int32.c: $(src)/raid6int.uc $(src)/unroll.awk FORCE | ||
47 | $(call if_changed,unroll) | ||
48 | |||
49 | CFLAGS_raid6altivec1.o += $(altivec_flags) | ||
50 | targets += raid6altivec1.c | ||
51 | $(obj)/raid6altivec1.c: UNROLL := 1 | ||
52 | $(obj)/raid6altivec1.c: $(src)/raid6altivec.uc $(src)/unroll.awk FORCE | ||
53 | $(call if_changed,unroll) | ||
54 | |||
55 | CFLAGS_raid6altivec2.o += $(altivec_flags) | ||
56 | targets += raid6altivec2.c | ||
57 | $(obj)/raid6altivec2.c: UNROLL := 2 | ||
58 | $(obj)/raid6altivec2.c: $(src)/raid6altivec.uc $(src)/unroll.awk FORCE | ||
59 | $(call if_changed,unroll) | ||
60 | |||
61 | CFLAGS_raid6altivec4.o += $(altivec_flags) | ||
62 | targets += raid6altivec4.c | ||
63 | $(obj)/raid6altivec4.c: UNROLL := 4 | ||
64 | $(obj)/raid6altivec4.c: $(src)/raid6altivec.uc $(src)/unroll.awk FORCE | ||
65 | $(call if_changed,unroll) | ||
66 | |||
67 | CFLAGS_raid6altivec8.o += $(altivec_flags) | ||
68 | targets += raid6altivec8.c | ||
69 | $(obj)/raid6altivec8.c: UNROLL := 8 | ||
70 | $(obj)/raid6altivec8.c: $(src)/raid6altivec.uc $(src)/unroll.awk FORCE | ||
71 | $(call if_changed,unroll) | ||
72 | |||
73 | quiet_cmd_mktable = TABLE $@ | ||
74 | cmd_mktable = $(obj)/mktables > $@ || ( rm -f $@ && exit 1 ) | ||
75 | |||
76 | targets += raid6tables.c | ||
77 | $(obj)/raid6tables.c: $(obj)/mktables FORCE | ||
78 | $(call if_changed,mktable) | ||