xref: /linux/drivers/md/Makefile (revision 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2)
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