xref: /linux-6.15/lib/raid6/Makefile (revision f5e70d0f)
1*f5e70d0fSDavid Woodhouseobj-$(CONFIG_RAID6_PQ)	+= raid6_pq.o
2*f5e70d0fSDavid Woodhouse
3*f5e70d0fSDavid Woodhouseraid6_pq-y	+= raid6algos.o raid6recov.o raid6tables.o \
4*f5e70d0fSDavid Woodhouse		   raid6int1.o raid6int2.o raid6int4.o \
5*f5e70d0fSDavid Woodhouse		   raid6int8.o raid6int16.o raid6int32.o \
6*f5e70d0fSDavid Woodhouse		   raid6altivec1.o raid6altivec2.o raid6altivec4.o \
7*f5e70d0fSDavid Woodhouse		   raid6altivec8.o \
8*f5e70d0fSDavid Woodhouse		   raid6mmx.o raid6sse1.o raid6sse2.o
9*f5e70d0fSDavid Woodhousehostprogs-y	+= mktables
10*f5e70d0fSDavid Woodhouse
11*f5e70d0fSDavid Woodhousequiet_cmd_unroll = UNROLL  $@
12*f5e70d0fSDavid Woodhouse      cmd_unroll = $(PERL) $(srctree)/$(src)/unroll.pl $(UNROLL) \
13*f5e70d0fSDavid Woodhouse                   < $< > $@ || ( rm -f $@ && exit 1 )
14*f5e70d0fSDavid Woodhouse
15*f5e70d0fSDavid Woodhouseifeq ($(CONFIG_ALTIVEC),y)
16*f5e70d0fSDavid Woodhousealtivec_flags := -maltivec -mabi=altivec
17*f5e70d0fSDavid Woodhouseendif
18*f5e70d0fSDavid Woodhouse
19*f5e70d0fSDavid Woodhousetargets += raid6int1.c
20*f5e70d0fSDavid Woodhouse$(obj)/raid6int1.c:   UNROLL := 1
21*f5e70d0fSDavid Woodhouse$(obj)/raid6int1.c:   $(src)/raid6int.uc $(src)/unroll.pl FORCE
22*f5e70d0fSDavid Woodhouse	$(call if_changed,unroll)
23*f5e70d0fSDavid Woodhouse
24*f5e70d0fSDavid Woodhousetargets += raid6int2.c
25*f5e70d0fSDavid Woodhouse$(obj)/raid6int2.c:   UNROLL := 2
26*f5e70d0fSDavid Woodhouse$(obj)/raid6int2.c:   $(src)/raid6int.uc $(src)/unroll.pl FORCE
27*f5e70d0fSDavid Woodhouse	$(call if_changed,unroll)
28*f5e70d0fSDavid Woodhouse
29*f5e70d0fSDavid Woodhousetargets += raid6int4.c
30*f5e70d0fSDavid Woodhouse$(obj)/raid6int4.c:   UNROLL := 4
31*f5e70d0fSDavid Woodhouse$(obj)/raid6int4.c:   $(src)/raid6int.uc $(src)/unroll.pl FORCE
32*f5e70d0fSDavid Woodhouse	$(call if_changed,unroll)
33*f5e70d0fSDavid Woodhouse
34*f5e70d0fSDavid Woodhousetargets += raid6int8.c
35*f5e70d0fSDavid Woodhouse$(obj)/raid6int8.c:   UNROLL := 8
36*f5e70d0fSDavid Woodhouse$(obj)/raid6int8.c:   $(src)/raid6int.uc $(src)/unroll.pl FORCE
37*f5e70d0fSDavid Woodhouse	$(call if_changed,unroll)
38*f5e70d0fSDavid Woodhouse
39*f5e70d0fSDavid Woodhousetargets += raid6int16.c
40*f5e70d0fSDavid Woodhouse$(obj)/raid6int16.c:  UNROLL := 16
41*f5e70d0fSDavid Woodhouse$(obj)/raid6int16.c:  $(src)/raid6int.uc $(src)/unroll.pl FORCE
42*f5e70d0fSDavid Woodhouse	$(call if_changed,unroll)
43*f5e70d0fSDavid Woodhouse
44*f5e70d0fSDavid Woodhousetargets += raid6int32.c
45*f5e70d0fSDavid Woodhouse$(obj)/raid6int32.c:  UNROLL := 32
46*f5e70d0fSDavid Woodhouse$(obj)/raid6int32.c:  $(src)/raid6int.uc $(src)/unroll.pl FORCE
47*f5e70d0fSDavid Woodhouse	$(call if_changed,unroll)
48*f5e70d0fSDavid Woodhouse
49*f5e70d0fSDavid WoodhouseCFLAGS_raid6altivec1.o += $(altivec_flags)
50*f5e70d0fSDavid Woodhousetargets += raid6altivec1.c
51*f5e70d0fSDavid Woodhouse$(obj)/raid6altivec1.c:   UNROLL := 1
52*f5e70d0fSDavid Woodhouse$(obj)/raid6altivec1.c:   $(src)/raid6altivec.uc $(src)/unroll.pl FORCE
53*f5e70d0fSDavid Woodhouse	$(call if_changed,unroll)
54*f5e70d0fSDavid Woodhouse
55*f5e70d0fSDavid WoodhouseCFLAGS_raid6altivec2.o += $(altivec_flags)
56*f5e70d0fSDavid Woodhousetargets += raid6altivec2.c
57*f5e70d0fSDavid Woodhouse$(obj)/raid6altivec2.c:   UNROLL := 2
58*f5e70d0fSDavid Woodhouse$(obj)/raid6altivec2.c:   $(src)/raid6altivec.uc $(src)/unroll.pl FORCE
59*f5e70d0fSDavid Woodhouse	$(call if_changed,unroll)
60*f5e70d0fSDavid Woodhouse
61*f5e70d0fSDavid WoodhouseCFLAGS_raid6altivec4.o += $(altivec_flags)
62*f5e70d0fSDavid Woodhousetargets += raid6altivec4.c
63*f5e70d0fSDavid Woodhouse$(obj)/raid6altivec4.c:   UNROLL := 4
64*f5e70d0fSDavid Woodhouse$(obj)/raid6altivec4.c:   $(src)/raid6altivec.uc $(src)/unroll.pl FORCE
65*f5e70d0fSDavid Woodhouse	$(call if_changed,unroll)
66*f5e70d0fSDavid Woodhouse
67*f5e70d0fSDavid WoodhouseCFLAGS_raid6altivec8.o += $(altivec_flags)
68*f5e70d0fSDavid Woodhousetargets += raid6altivec8.c
69*f5e70d0fSDavid Woodhouse$(obj)/raid6altivec8.c:   UNROLL := 8
70*f5e70d0fSDavid Woodhouse$(obj)/raid6altivec8.c:   $(src)/raid6altivec.uc $(src)/unroll.pl FORCE
71*f5e70d0fSDavid Woodhouse	$(call if_changed,unroll)
72*f5e70d0fSDavid Woodhouse
73*f5e70d0fSDavid Woodhousequiet_cmd_mktable = TABLE   $@
74*f5e70d0fSDavid Woodhouse      cmd_mktable = $(obj)/mktables > $@ || ( rm -f $@ && exit 1 )
75*f5e70d0fSDavid Woodhouse
76*f5e70d0fSDavid Woodhousetargets += raid6tables.c
77*f5e70d0fSDavid Woodhouse$(obj)/raid6tables.c: $(obj)/mktables FORCE
78*f5e70d0fSDavid Woodhouse	$(call if_changed,mktable)
79