only build arch specific raid6 routines on the arch they run on.
I noticed the altivec routines are being built even on x86. Also it looks like mmx/sse get built on non-x86.
Signed-off-by Dave Jones <[email protected]>
lib/raid6/Makefile +11 -6
@@ -1,18 +1,23 @@ obj-$(CONFIG_RAID6_PQ) += raid6_pq.o raid6_pq-y += algos.o recov.o tables.o int1.o int2.o int4.o \ - int8.o int16.o int32.o altivec1.o altivec2.o altivec4.o \ - altivec8.o mmx.o sse1.o sse2.o -hostprogs-y += mktables + int8.o int16.o int32.o -quiet_cmd_unroll = UNROLL $@ - cmd_unroll = $(AWK) -f$(srctree)/$(src)/unroll.awk -vN=$(UNROLL) \ - < $< > $@ || ( rm -f $@ && exit 1 ) +ifeq ($(CONFIG_X86),y) +raid6_pq-y += mmx.o sse1.o sse2.o +endif ifeq ($(CONFIG_ALTIVEC),y) +raid6_pq-y += altivec1.o altivec2.o altivec4.o altivec8.o altivec_flags := -maltivec -mabi=altivec endif +hostprogs-y += mktables + +quiet_cmd_unroll = UNROLL $@ + cmd_unroll = $(AWK) -f$(srctree)/$(src)/unroll.awk -vN=$(UNROLL) \ + < $< > $@ || ( rm -f $@ && exit 1 ) + targets += int1.c $(obj)/int1.c: UNROLL := 1 $(obj)/int1.c: $(src)/int.uc $(src)/unroll.awk FORCE