11da177e4SLinus Torvalds# 21da177e4SLinus Torvalds# Makefile for the kernel software RAID and LVM drivers. 31da177e4SLinus Torvalds# 41da177e4SLinus Torvalds 51da177e4SLinus Torvaldsdm-mod-objs := dm.o dm-table.o dm-target.o dm-linear.o dm-stripe.o \ 6*784aae73SMilan Broz dm-ioctl.o dm-io.o dm-kcopyd.o dm-sysfs.o 7688864e2SChandra Seetharamandm-multipath-objs := dm-path-selector.o dm-mpath.o 81da177e4SLinus Torvaldsdm-snapshot-objs := dm-snap.o dm-exception-store.o 9769aef30SHeinz Mauelshagendm-mirror-objs := dm-raid1.o 1032a7627cSNeilBrownmd-mod-objs := md.o bitmap.o 1116a53eccSNeilBrownraid456-objs := raid5.o raid6algos.o raid6recov.o raid6tables.o \ 121da177e4SLinus Torvalds raid6int1.o raid6int2.o raid6int4.o \ 131da177e4SLinus Torvalds raid6int8.o raid6int16.o raid6int32.o \ 141da177e4SLinus Torvalds raid6altivec1.o raid6altivec2.o raid6altivec4.o \ 151da177e4SLinus Torvalds raid6altivec8.o \ 161da177e4SLinus Torvalds raid6mmx.o raid6sse1.o raid6sse2.o 171da177e4SLinus Torvaldshostprogs-y := mktables 181da177e4SLinus Torvalds 191da177e4SLinus Torvalds# Note: link order is important. All raid personalities 20685784aaSDan Williams# and must come before md.o, as they each initialise 211da177e4SLinus Torvalds# themselves, and md.o may use the personalities when it 221da177e4SLinus Torvalds# auto-initialised. 231da177e4SLinus Torvalds 241da177e4SLinus Torvaldsobj-$(CONFIG_MD_LINEAR) += linear.o 251da177e4SLinus Torvaldsobj-$(CONFIG_MD_RAID0) += raid0.o 261da177e4SLinus Torvaldsobj-$(CONFIG_MD_RAID1) += raid1.o 271da177e4SLinus Torvaldsobj-$(CONFIG_MD_RAID10) += raid10.o 28685784aaSDan Williamsobj-$(CONFIG_MD_RAID456) += raid456.o 291da177e4SLinus Torvaldsobj-$(CONFIG_MD_MULTIPATH) += multipath.o 301da177e4SLinus Torvaldsobj-$(CONFIG_MD_FAULTY) += faulty.o 3132a7627cSNeilBrownobj-$(CONFIG_BLK_DEV_MD) += md-mod.o 321da177e4SLinus Torvaldsobj-$(CONFIG_BLK_DEV_DM) += dm-mod.o 331da177e4SLinus Torvaldsobj-$(CONFIG_DM_CRYPT) += dm-crypt.o 3426b9f228SHeinz Mauelshagenobj-$(CONFIG_DM_DELAY) += dm-delay.o 351da177e4SLinus Torvaldsobj-$(CONFIG_DM_MULTIPATH) += dm-multipath.o dm-round-robin.o 361da177e4SLinus Torvaldsobj-$(CONFIG_DM_SNAPSHOT) += dm-snapshot.o 371f965b19SHeinz Mauelshagenobj-$(CONFIG_DM_MIRROR) += dm-mirror.o dm-log.o dm-region-hash.o 381da177e4SLinus Torvaldsobj-$(CONFIG_DM_ZERO) += dm-zero.o 391da177e4SLinus Torvalds 401da177e4SLinus Torvaldsquiet_cmd_unroll = UNROLL $@ 411da177e4SLinus Torvalds cmd_unroll = $(PERL) $(srctree)/$(src)/unroll.pl $(UNROLL) \ 421da177e4SLinus Torvalds < $< > $@ || ( rm -f $@ && exit 1 ) 431da177e4SLinus Torvalds 441da177e4SLinus Torvaldsifeq ($(CONFIG_ALTIVEC),y) 451da177e4SLinus Torvaldsaltivec_flags := -maltivec -mabi=altivec 461da177e4SLinus Torvaldsendif 471da177e4SLinus Torvalds 4851e5b2bdSMike Andersonifeq ($(CONFIG_DM_UEVENT),y) 4951e5b2bdSMike Andersondm-mod-objs += dm-uevent.o 5051e5b2bdSMike Andersonendif 5151e5b2bdSMike Anderson 521da177e4SLinus Torvaldstargets += raid6int1.c 531da177e4SLinus Torvalds$(obj)/raid6int1.c: UNROLL := 1 541da177e4SLinus Torvalds$(obj)/raid6int1.c: $(src)/raid6int.uc $(src)/unroll.pl FORCE 551da177e4SLinus Torvalds $(call if_changed,unroll) 561da177e4SLinus Torvalds 571da177e4SLinus Torvaldstargets += raid6int2.c 581da177e4SLinus Torvalds$(obj)/raid6int2.c: UNROLL := 2 591da177e4SLinus Torvalds$(obj)/raid6int2.c: $(src)/raid6int.uc $(src)/unroll.pl FORCE 601da177e4SLinus Torvalds $(call if_changed,unroll) 611da177e4SLinus Torvalds 621da177e4SLinus Torvaldstargets += raid6int4.c 631da177e4SLinus Torvalds$(obj)/raid6int4.c: UNROLL := 4 641da177e4SLinus Torvalds$(obj)/raid6int4.c: $(src)/raid6int.uc $(src)/unroll.pl FORCE 651da177e4SLinus Torvalds $(call if_changed,unroll) 661da177e4SLinus Torvalds 671da177e4SLinus Torvaldstargets += raid6int8.c 681da177e4SLinus Torvalds$(obj)/raid6int8.c: UNROLL := 8 691da177e4SLinus Torvalds$(obj)/raid6int8.c: $(src)/raid6int.uc $(src)/unroll.pl FORCE 701da177e4SLinus Torvalds $(call if_changed,unroll) 711da177e4SLinus Torvalds 721da177e4SLinus Torvaldstargets += raid6int16.c 731da177e4SLinus Torvalds$(obj)/raid6int16.c: UNROLL := 16 741da177e4SLinus Torvalds$(obj)/raid6int16.c: $(src)/raid6int.uc $(src)/unroll.pl FORCE 751da177e4SLinus Torvalds $(call if_changed,unroll) 761da177e4SLinus Torvalds 771da177e4SLinus Torvaldstargets += raid6int32.c 781da177e4SLinus Torvalds$(obj)/raid6int32.c: UNROLL := 32 791da177e4SLinus Torvalds$(obj)/raid6int32.c: $(src)/raid6int.uc $(src)/unroll.pl FORCE 801da177e4SLinus Torvalds $(call if_changed,unroll) 811da177e4SLinus Torvalds 821da177e4SLinus TorvaldsCFLAGS_raid6altivec1.o += $(altivec_flags) 831da177e4SLinus Torvaldstargets += raid6altivec1.c 841da177e4SLinus Torvalds$(obj)/raid6altivec1.c: UNROLL := 1 851da177e4SLinus Torvalds$(obj)/raid6altivec1.c: $(src)/raid6altivec.uc $(src)/unroll.pl FORCE 861da177e4SLinus Torvalds $(call if_changed,unroll) 871da177e4SLinus Torvalds 881da177e4SLinus TorvaldsCFLAGS_raid6altivec2.o += $(altivec_flags) 891da177e4SLinus Torvaldstargets += raid6altivec2.c 901da177e4SLinus Torvalds$(obj)/raid6altivec2.c: UNROLL := 2 911da177e4SLinus Torvalds$(obj)/raid6altivec2.c: $(src)/raid6altivec.uc $(src)/unroll.pl FORCE 921da177e4SLinus Torvalds $(call if_changed,unroll) 931da177e4SLinus Torvalds 941da177e4SLinus TorvaldsCFLAGS_raid6altivec4.o += $(altivec_flags) 951da177e4SLinus Torvaldstargets += raid6altivec4.c 961da177e4SLinus Torvalds$(obj)/raid6altivec4.c: UNROLL := 4 971da177e4SLinus Torvalds$(obj)/raid6altivec4.c: $(src)/raid6altivec.uc $(src)/unroll.pl FORCE 981da177e4SLinus Torvalds $(call if_changed,unroll) 991da177e4SLinus Torvalds 1001da177e4SLinus TorvaldsCFLAGS_raid6altivec8.o += $(altivec_flags) 1011da177e4SLinus Torvaldstargets += raid6altivec8.c 1021da177e4SLinus Torvalds$(obj)/raid6altivec8.c: UNROLL := 8 1031da177e4SLinus Torvalds$(obj)/raid6altivec8.c: $(src)/raid6altivec.uc $(src)/unroll.pl FORCE 1041da177e4SLinus Torvalds $(call if_changed,unroll) 1051da177e4SLinus Torvalds 1061da177e4SLinus Torvaldsquiet_cmd_mktable = TABLE $@ 1071da177e4SLinus Torvalds cmd_mktable = $(obj)/mktables > $@ || ( rm -f $@ && exit 1 ) 1081da177e4SLinus Torvalds 1091da177e4SLinus Torvaldstargets += raid6tables.c 1101da177e4SLinus Torvalds$(obj)/raid6tables.c: $(obj)/mktables FORCE 1111da177e4SLinus Torvalds $(call if_changed,mktable) 112