1*1da177e4SLinus Torvalds# 2*1da177e4SLinus Torvalds# Makefile for the kernel software RAID and LVM drivers. 3*1da177e4SLinus Torvalds# 4*1da177e4SLinus Torvalds 5*1da177e4SLinus Torvaldsdm-mod-objs := dm.o dm-table.o dm-target.o dm-linear.o dm-stripe.o \ 6*1da177e4SLinus Torvalds dm-ioctl.o dm-io.o kcopyd.o 7*1da177e4SLinus Torvaldsdm-multipath-objs := dm-hw-handler.o dm-path-selector.o dm-mpath.o 8*1da177e4SLinus Torvaldsdm-snapshot-objs := dm-snap.o dm-exception-store.o 9*1da177e4SLinus Torvaldsdm-mirror-objs := dm-log.o dm-raid1.o 10*1da177e4SLinus Torvaldsraid6-objs := raid6main.o raid6algos.o raid6recov.o raid6tables.o \ 11*1da177e4SLinus Torvalds raid6int1.o raid6int2.o raid6int4.o \ 12*1da177e4SLinus Torvalds raid6int8.o raid6int16.o raid6int32.o \ 13*1da177e4SLinus Torvalds raid6altivec1.o raid6altivec2.o raid6altivec4.o \ 14*1da177e4SLinus Torvalds raid6altivec8.o \ 15*1da177e4SLinus Torvalds raid6mmx.o raid6sse1.o raid6sse2.o 16*1da177e4SLinus Torvaldshostprogs-y := mktables 17*1da177e4SLinus Torvalds 18*1da177e4SLinus Torvalds# Note: link order is important. All raid personalities 19*1da177e4SLinus Torvalds# and xor.o must come before md.o, as they each initialise 20*1da177e4SLinus Torvalds# themselves, and md.o may use the personalities when it 21*1da177e4SLinus Torvalds# auto-initialised. 22*1da177e4SLinus Torvalds 23*1da177e4SLinus Torvaldsobj-$(CONFIG_MD_LINEAR) += linear.o 24*1da177e4SLinus Torvaldsobj-$(CONFIG_MD_RAID0) += raid0.o 25*1da177e4SLinus Torvaldsobj-$(CONFIG_MD_RAID1) += raid1.o 26*1da177e4SLinus Torvaldsobj-$(CONFIG_MD_RAID10) += raid10.o 27*1da177e4SLinus Torvaldsobj-$(CONFIG_MD_RAID5) += raid5.o xor.o 28*1da177e4SLinus Torvaldsobj-$(CONFIG_MD_RAID6) += raid6.o xor.o 29*1da177e4SLinus Torvaldsobj-$(CONFIG_MD_MULTIPATH) += multipath.o 30*1da177e4SLinus Torvaldsobj-$(CONFIG_MD_FAULTY) += faulty.o 31*1da177e4SLinus Torvaldsobj-$(CONFIG_BLK_DEV_MD) += md.o 32*1da177e4SLinus Torvaldsobj-$(CONFIG_BLK_DEV_DM) += dm-mod.o 33*1da177e4SLinus Torvaldsobj-$(CONFIG_DM_CRYPT) += dm-crypt.o 34*1da177e4SLinus Torvaldsobj-$(CONFIG_DM_MULTIPATH) += dm-multipath.o dm-round-robin.o 35*1da177e4SLinus Torvaldsobj-$(CONFIG_DM_MULTIPATH_EMC) += dm-emc.o 36*1da177e4SLinus Torvaldsobj-$(CONFIG_DM_SNAPSHOT) += dm-snapshot.o 37*1da177e4SLinus Torvaldsobj-$(CONFIG_DM_MIRROR) += dm-mirror.o 38*1da177e4SLinus Torvaldsobj-$(CONFIG_DM_ZERO) += dm-zero.o 39*1da177e4SLinus Torvalds 40*1da177e4SLinus Torvaldsquiet_cmd_unroll = UNROLL $@ 41*1da177e4SLinus Torvalds cmd_unroll = $(PERL) $(srctree)/$(src)/unroll.pl $(UNROLL) \ 42*1da177e4SLinus Torvalds < $< > $@ || ( rm -f $@ && exit 1 ) 43*1da177e4SLinus Torvalds 44*1da177e4SLinus Torvaldsifeq ($(CONFIG_ALTIVEC),y) 45*1da177e4SLinus Torvaldsaltivec_flags := -maltivec -mabi=altivec 46*1da177e4SLinus Torvaldsendif 47*1da177e4SLinus Torvalds 48*1da177e4SLinus Torvaldstargets += raid6int1.c 49*1da177e4SLinus Torvalds$(obj)/raid6int1.c: UNROLL := 1 50*1da177e4SLinus Torvalds$(obj)/raid6int1.c: $(src)/raid6int.uc $(src)/unroll.pl FORCE 51*1da177e4SLinus Torvalds $(call if_changed,unroll) 52*1da177e4SLinus Torvalds 53*1da177e4SLinus Torvaldstargets += raid6int2.c 54*1da177e4SLinus Torvalds$(obj)/raid6int2.c: UNROLL := 2 55*1da177e4SLinus Torvalds$(obj)/raid6int2.c: $(src)/raid6int.uc $(src)/unroll.pl FORCE 56*1da177e4SLinus Torvalds $(call if_changed,unroll) 57*1da177e4SLinus Torvalds 58*1da177e4SLinus Torvaldstargets += raid6int4.c 59*1da177e4SLinus Torvalds$(obj)/raid6int4.c: UNROLL := 4 60*1da177e4SLinus Torvalds$(obj)/raid6int4.c: $(src)/raid6int.uc $(src)/unroll.pl FORCE 61*1da177e4SLinus Torvalds $(call if_changed,unroll) 62*1da177e4SLinus Torvalds 63*1da177e4SLinus Torvaldstargets += raid6int8.c 64*1da177e4SLinus Torvalds$(obj)/raid6int8.c: UNROLL := 8 65*1da177e4SLinus Torvalds$(obj)/raid6int8.c: $(src)/raid6int.uc $(src)/unroll.pl FORCE 66*1da177e4SLinus Torvalds $(call if_changed,unroll) 67*1da177e4SLinus Torvalds 68*1da177e4SLinus Torvaldstargets += raid6int16.c 69*1da177e4SLinus Torvalds$(obj)/raid6int16.c: UNROLL := 16 70*1da177e4SLinus Torvalds$(obj)/raid6int16.c: $(src)/raid6int.uc $(src)/unroll.pl FORCE 71*1da177e4SLinus Torvalds $(call if_changed,unroll) 72*1da177e4SLinus Torvalds 73*1da177e4SLinus Torvaldstargets += raid6int32.c 74*1da177e4SLinus Torvalds$(obj)/raid6int32.c: UNROLL := 32 75*1da177e4SLinus Torvalds$(obj)/raid6int32.c: $(src)/raid6int.uc $(src)/unroll.pl FORCE 76*1da177e4SLinus Torvalds $(call if_changed,unroll) 77*1da177e4SLinus Torvalds 78*1da177e4SLinus TorvaldsCFLAGS_raid6altivec1.o += $(altivec_flags) 79*1da177e4SLinus Torvaldstargets += raid6altivec1.c 80*1da177e4SLinus Torvalds$(obj)/raid6altivec1.c: UNROLL := 1 81*1da177e4SLinus Torvalds$(obj)/raid6altivec1.c: $(src)/raid6altivec.uc $(src)/unroll.pl FORCE 82*1da177e4SLinus Torvalds $(call if_changed,unroll) 83*1da177e4SLinus Torvalds 84*1da177e4SLinus TorvaldsCFLAGS_raid6altivec2.o += $(altivec_flags) 85*1da177e4SLinus Torvaldstargets += raid6altivec2.c 86*1da177e4SLinus Torvalds$(obj)/raid6altivec2.c: UNROLL := 2 87*1da177e4SLinus Torvalds$(obj)/raid6altivec2.c: $(src)/raid6altivec.uc $(src)/unroll.pl FORCE 88*1da177e4SLinus Torvalds $(call if_changed,unroll) 89*1da177e4SLinus Torvalds 90*1da177e4SLinus TorvaldsCFLAGS_raid6altivec4.o += $(altivec_flags) 91*1da177e4SLinus Torvaldstargets += raid6altivec4.c 92*1da177e4SLinus Torvalds$(obj)/raid6altivec4.c: UNROLL := 4 93*1da177e4SLinus Torvalds$(obj)/raid6altivec4.c: $(src)/raid6altivec.uc $(src)/unroll.pl FORCE 94*1da177e4SLinus Torvalds $(call if_changed,unroll) 95*1da177e4SLinus Torvalds 96*1da177e4SLinus TorvaldsCFLAGS_raid6altivec8.o += $(altivec_flags) 97*1da177e4SLinus Torvaldstargets += raid6altivec8.c 98*1da177e4SLinus Torvalds$(obj)/raid6altivec8.c: UNROLL := 8 99*1da177e4SLinus Torvalds$(obj)/raid6altivec8.c: $(src)/raid6altivec.uc $(src)/unroll.pl FORCE 100*1da177e4SLinus Torvalds $(call if_changed,unroll) 101*1da177e4SLinus Torvalds 102*1da177e4SLinus Torvaldsquiet_cmd_mktable = TABLE $@ 103*1da177e4SLinus Torvalds cmd_mktable = $(obj)/mktables > $@ || ( rm -f $@ && exit 1 ) 104*1da177e4SLinus Torvalds 105*1da177e4SLinus Torvaldstargets += raid6tables.c 106*1da177e4SLinus Torvalds$(obj)/raid6tables.c: $(obj)/mktables FORCE 107*1da177e4SLinus Torvalds $(call if_changed,mktable) 108