xref: /linux/drivers/md/Makefile (revision f5db4af466e2dca0fe822019812d586ca910b00c)
11da177e4SLinus Torvalds#
21da177e4SLinus Torvalds# Makefile for the kernel software RAID and LVM drivers.
31da177e4SLinus Torvalds#
41da177e4SLinus Torvalds
52a40a8aeSChristoph Hellwigdm-mod-y	+= dm.o dm-table.o dm-target.o dm-linear.o dm-stripe.o \
6784aae73SMilan Broz		   dm-ioctl.o dm-io.o dm-kcopyd.o dm-sysfs.o
72a40a8aeSChristoph Hellwigdm-multipath-y	+= dm-path-selector.o dm-mpath.o
82a40a8aeSChristoph Hellwigdm-snapshot-y	+= dm-snap.o dm-exception-store.o dm-snap-transient.o \
94db6bfe0SAlasdair G Kergon		    dm-snap-persistent.o
102a40a8aeSChristoph Hellwigdm-mirror-y	+= dm-raid1.o
11*f5db4af4SJonthan Brassowdm-log-userspace-y \
12*f5db4af4SJonthan Brassow		+= dm-log-userspace-base.o dm-log-userspace-transfer.o
132a40a8aeSChristoph Hellwigmd-mod-y	+= md.o bitmap.o
14f701d589SDan Williamsraid456-y	+= raid5.o
15f701d589SDan Williamsraid6_pq-y	+= raid6algos.o raid6recov.o raid6tables.o \
161da177e4SLinus Torvalds		   raid6int1.o raid6int2.o raid6int4.o \
171da177e4SLinus Torvalds		   raid6int8.o raid6int16.o raid6int32.o \
181da177e4SLinus Torvalds		   raid6altivec1.o raid6altivec2.o raid6altivec4.o \
191da177e4SLinus Torvalds		   raid6altivec8.o \
201da177e4SLinus Torvalds		   raid6mmx.o raid6sse1.o raid6sse2.o
212a40a8aeSChristoph Hellwighostprogs-y	+= mktables
221da177e4SLinus Torvalds
231da177e4SLinus Torvalds# Note: link order is important.  All raid personalities
24685784aaSDan Williams# and must come before md.o, as they each initialise
251da177e4SLinus Torvalds# themselves, and md.o may use the personalities when it
261da177e4SLinus Torvalds# auto-initialised.
271da177e4SLinus Torvalds
281da177e4SLinus Torvaldsobj-$(CONFIG_MD_LINEAR)		+= linear.o
291da177e4SLinus Torvaldsobj-$(CONFIG_MD_RAID0)		+= raid0.o
301da177e4SLinus Torvaldsobj-$(CONFIG_MD_RAID1)		+= raid1.o
311da177e4SLinus Torvaldsobj-$(CONFIG_MD_RAID10)		+= raid10.o
32f701d589SDan Williamsobj-$(CONFIG_MD_RAID6_PQ)	+= raid6_pq.o
33685784aaSDan Williamsobj-$(CONFIG_MD_RAID456)	+= raid456.o
341da177e4SLinus Torvaldsobj-$(CONFIG_MD_MULTIPATH)	+= multipath.o
351da177e4SLinus Torvaldsobj-$(CONFIG_MD_FAULTY)		+= faulty.o
3632a7627cSNeilBrownobj-$(CONFIG_BLK_DEV_MD)	+= md-mod.o
371da177e4SLinus Torvaldsobj-$(CONFIG_BLK_DEV_DM)	+= dm-mod.o
381da177e4SLinus Torvaldsobj-$(CONFIG_DM_CRYPT)		+= dm-crypt.o
3926b9f228SHeinz Mauelshagenobj-$(CONFIG_DM_DELAY)		+= dm-delay.o
401da177e4SLinus Torvaldsobj-$(CONFIG_DM_MULTIPATH)	+= dm-multipath.o dm-round-robin.o
41fd5e0339SKiyoshi Uedaobj-$(CONFIG_DM_MULTIPATH_QL)	+= dm-queue-length.o
42f392ba88SKiyoshi Uedaobj-$(CONFIG_DM_MULTIPATH_ST)	+= dm-service-time.o
431da177e4SLinus Torvaldsobj-$(CONFIG_DM_SNAPSHOT)	+= dm-snapshot.o
441f965b19SHeinz Mauelshagenobj-$(CONFIG_DM_MIRROR)		+= dm-mirror.o dm-log.o dm-region-hash.o
45*f5db4af4SJonthan Brassowobj-$(CONFIG_DM_LOG_USERSPACE)	+= dm-log-userspace.o
461da177e4SLinus Torvaldsobj-$(CONFIG_DM_ZERO)		+= dm-zero.o
471da177e4SLinus Torvalds
481da177e4SLinus Torvaldsquiet_cmd_unroll = UNROLL  $@
491da177e4SLinus Torvalds      cmd_unroll = $(PERL) $(srctree)/$(src)/unroll.pl $(UNROLL) \
501da177e4SLinus Torvalds                   < $< > $@ || ( rm -f $@ && exit 1 )
511da177e4SLinus Torvalds
521da177e4SLinus Torvaldsifeq ($(CONFIG_ALTIVEC),y)
531da177e4SLinus Torvaldsaltivec_flags := -maltivec -mabi=altivec
541da177e4SLinus Torvaldsendif
551da177e4SLinus Torvalds
5651e5b2bdSMike Andersonifeq ($(CONFIG_DM_UEVENT),y)
5751e5b2bdSMike Andersondm-mod-objs			+= dm-uevent.o
5851e5b2bdSMike Andersonendif
5951e5b2bdSMike Anderson
601da177e4SLinus Torvaldstargets += raid6int1.c
611da177e4SLinus Torvalds$(obj)/raid6int1.c:   UNROLL := 1
621da177e4SLinus Torvalds$(obj)/raid6int1.c:   $(src)/raid6int.uc $(src)/unroll.pl FORCE
631da177e4SLinus Torvalds	$(call if_changed,unroll)
641da177e4SLinus Torvalds
651da177e4SLinus Torvaldstargets += raid6int2.c
661da177e4SLinus Torvalds$(obj)/raid6int2.c:   UNROLL := 2
671da177e4SLinus Torvalds$(obj)/raid6int2.c:   $(src)/raid6int.uc $(src)/unroll.pl FORCE
681da177e4SLinus Torvalds	$(call if_changed,unroll)
691da177e4SLinus Torvalds
701da177e4SLinus Torvaldstargets += raid6int4.c
711da177e4SLinus Torvalds$(obj)/raid6int4.c:   UNROLL := 4
721da177e4SLinus Torvalds$(obj)/raid6int4.c:   $(src)/raid6int.uc $(src)/unroll.pl FORCE
731da177e4SLinus Torvalds	$(call if_changed,unroll)
741da177e4SLinus Torvalds
751da177e4SLinus Torvaldstargets += raid6int8.c
761da177e4SLinus Torvalds$(obj)/raid6int8.c:   UNROLL := 8
771da177e4SLinus Torvalds$(obj)/raid6int8.c:   $(src)/raid6int.uc $(src)/unroll.pl FORCE
781da177e4SLinus Torvalds	$(call if_changed,unroll)
791da177e4SLinus Torvalds
801da177e4SLinus Torvaldstargets += raid6int16.c
811da177e4SLinus Torvalds$(obj)/raid6int16.c:  UNROLL := 16
821da177e4SLinus Torvalds$(obj)/raid6int16.c:  $(src)/raid6int.uc $(src)/unroll.pl FORCE
831da177e4SLinus Torvalds	$(call if_changed,unroll)
841da177e4SLinus Torvalds
851da177e4SLinus Torvaldstargets += raid6int32.c
861da177e4SLinus Torvalds$(obj)/raid6int32.c:  UNROLL := 32
871da177e4SLinus Torvalds$(obj)/raid6int32.c:  $(src)/raid6int.uc $(src)/unroll.pl FORCE
881da177e4SLinus Torvalds	$(call if_changed,unroll)
891da177e4SLinus Torvalds
901da177e4SLinus TorvaldsCFLAGS_raid6altivec1.o += $(altivec_flags)
911da177e4SLinus Torvaldstargets += raid6altivec1.c
921da177e4SLinus Torvalds$(obj)/raid6altivec1.c:   UNROLL := 1
931da177e4SLinus Torvalds$(obj)/raid6altivec1.c:   $(src)/raid6altivec.uc $(src)/unroll.pl FORCE
941da177e4SLinus Torvalds	$(call if_changed,unroll)
951da177e4SLinus Torvalds
961da177e4SLinus TorvaldsCFLAGS_raid6altivec2.o += $(altivec_flags)
971da177e4SLinus Torvaldstargets += raid6altivec2.c
981da177e4SLinus Torvalds$(obj)/raid6altivec2.c:   UNROLL := 2
991da177e4SLinus Torvalds$(obj)/raid6altivec2.c:   $(src)/raid6altivec.uc $(src)/unroll.pl FORCE
1001da177e4SLinus Torvalds	$(call if_changed,unroll)
1011da177e4SLinus Torvalds
1021da177e4SLinus TorvaldsCFLAGS_raid6altivec4.o += $(altivec_flags)
1031da177e4SLinus Torvaldstargets += raid6altivec4.c
1041da177e4SLinus Torvalds$(obj)/raid6altivec4.c:   UNROLL := 4
1051da177e4SLinus Torvalds$(obj)/raid6altivec4.c:   $(src)/raid6altivec.uc $(src)/unroll.pl FORCE
1061da177e4SLinus Torvalds	$(call if_changed,unroll)
1071da177e4SLinus Torvalds
1081da177e4SLinus TorvaldsCFLAGS_raid6altivec8.o += $(altivec_flags)
1091da177e4SLinus Torvaldstargets += raid6altivec8.c
1101da177e4SLinus Torvalds$(obj)/raid6altivec8.c:   UNROLL := 8
1111da177e4SLinus Torvalds$(obj)/raid6altivec8.c:   $(src)/raid6altivec.uc $(src)/unroll.pl FORCE
1121da177e4SLinus Torvalds	$(call if_changed,unroll)
1131da177e4SLinus Torvalds
1141da177e4SLinus Torvaldsquiet_cmd_mktable = TABLE   $@
1151da177e4SLinus Torvalds      cmd_mktable = $(obj)/mktables > $@ || ( rm -f $@ && exit 1 )
1161da177e4SLinus Torvalds
1171da177e4SLinus Torvaldstargets += raid6tables.c
1181da177e4SLinus Torvalds$(obj)/raid6tables.c: $(obj)/mktables FORCE
1191da177e4SLinus Torvalds	$(call if_changed,mktable)
120