2 # Makefile for the kernel software RAID and LVM drivers.
5 dm-mod-y
+= dm.o dm-table.o dm-target.o dm-linear.o dm-stripe.o \
6 dm-ioctl.o dm-io.o dm-kcopyd.o dm-sysfs.o
7 dm-multipath-y
+= dm-path-selector.o dm-mpath.o
8 dm-snapshot-y
+= dm-snap.o dm-exception-store.o dm-snap-transient.o \
10 dm-mirror-y
+= dm-raid1.o
12 += dm-log-userspace-base.o dm-log-userspace-transfer.o
13 md-mod-y
+= md.o bitmap.o
15 raid6_pq-y
+= raid6algos.o raid6recov.o raid6tables.o \
16 raid6int1.o raid6int2.o raid6int4.o \
17 raid6int8.o raid6int16.o raid6int32.o \
18 raid6altivec1.o raid6altivec2.o raid6altivec4.o \
20 raid6mmx.o raid6sse1.o raid6sse2.o
21 hostprogs-y
+= mktables
23 # Note: link order is important. All raid personalities
24 # and must come before md.o, as they each initialise
25 # themselves, and md.o may use the personalities when it
28 obj-
$(CONFIG_MD_LINEAR
) += linear.o
29 obj-
$(CONFIG_MD_RAID0
) += raid0.o
30 obj-
$(CONFIG_MD_RAID1
) += raid1.o
31 obj-
$(CONFIG_MD_RAID10
) += raid10.o
32 obj-
$(CONFIG_MD_RAID6_PQ
) += raid6_pq.o
33 obj-
$(CONFIG_MD_RAID456
) += raid456.o
34 obj-
$(CONFIG_MD_MULTIPATH
) += multipath.o
35 obj-
$(CONFIG_MD_FAULTY
) += faulty.o
36 obj-
$(CONFIG_BLK_DEV_MD
) += md-mod.o
37 obj-
$(CONFIG_BLK_DEV_DM
) += dm-mod.o
38 obj-
$(CONFIG_DM_CRYPT
) += dm-crypt.o
39 obj-
$(CONFIG_DM_DELAY
) += dm-delay.o
40 obj-
$(CONFIG_DM_MULTIPATH
) += dm-multipath.o dm-round-robin.o
41 obj-
$(CONFIG_DM_MULTIPATH_QL
) += dm-queue-length.o
42 obj-
$(CONFIG_DM_MULTIPATH_ST
) += dm-service-time.o
43 obj-
$(CONFIG_DM_SNAPSHOT
) += dm-snapshot.o
44 obj-
$(CONFIG_DM_MIRROR
) += dm-mirror.o dm-log.o dm-region-hash.o
45 obj-
$(CONFIG_DM_LOG_USERSPACE
) += dm-log-userspace.o
46 obj-
$(CONFIG_DM_ZERO
) += dm-zero.o
48 quiet_cmd_unroll
= UNROLL
$@
49 cmd_unroll
= $(AWK
) -f
$(srctree
)/$(src
)/unroll.awk
-vN
=$(UNROLL
) \
50 < $< > $@ ||
( rm -f
$@
&& exit
1 )
52 ifeq ($(CONFIG_ALTIVEC
),y
)
53 altivec_flags
:= -maltivec
-mabi
=altivec
56 ifeq ($(CONFIG_DM_UEVENT
),y
)
57 dm-mod-objs
+= dm-uevent.o
60 targets
+= raid6int1.c
61 $(obj
)/raid6int1.c
: UNROLL
:= 1
62 $(obj
)/raid6int1.c
: $(src
)/raid6int.uc
$(src
)/unroll.awk FORCE
63 $(call if_changed
,unroll
)
65 targets
+= raid6int2.c
66 $(obj
)/raid6int2.c
: UNROLL
:= 2
67 $(obj
)/raid6int2.c
: $(src
)/raid6int.uc
$(src
)/unroll.awk FORCE
68 $(call if_changed
,unroll
)
70 targets
+= raid6int4.c
71 $(obj
)/raid6int4.c
: UNROLL
:= 4
72 $(obj
)/raid6int4.c
: $(src
)/raid6int.uc
$(src
)/unroll.awk FORCE
73 $(call if_changed
,unroll
)
75 targets
+= raid6int8.c
76 $(obj
)/raid6int8.c
: UNROLL
:= 8
77 $(obj
)/raid6int8.c
: $(src
)/raid6int.uc
$(src
)/unroll.awk FORCE
78 $(call if_changed
,unroll
)
80 targets
+= raid6int16.c
81 $(obj
)/raid6int16.c
: UNROLL
:= 16
82 $(obj
)/raid6int16.c
: $(src
)/raid6int.uc
$(src
)/unroll.awk FORCE
83 $(call if_changed
,unroll
)
85 targets
+= raid6int32.c
86 $(obj
)/raid6int32.c
: UNROLL
:= 32
87 $(obj
)/raid6int32.c
: $(src
)/raid6int.uc
$(src
)/unroll.awk FORCE
88 $(call if_changed
,unroll
)
90 CFLAGS_raid6altivec1.o
+= $(altivec_flags
)
91 targets
+= raid6altivec1.c
92 $(obj
)/raid6altivec1.c
: UNROLL
:= 1
93 $(obj
)/raid6altivec1.c
: $(src
)/raid6altivec.uc
$(src
)/unroll.awk FORCE
94 $(call if_changed
,unroll
)
96 CFLAGS_raid6altivec2.o
+= $(altivec_flags
)
97 targets
+= raid6altivec2.c
98 $(obj
)/raid6altivec2.c
: UNROLL
:= 2
99 $(obj
)/raid6altivec2.c
: $(src
)/raid6altivec.uc
$(src
)/unroll.awk FORCE
100 $(call if_changed
,unroll
)
102 CFLAGS_raid6altivec4.o
+= $(altivec_flags
)
103 targets
+= raid6altivec4.c
104 $(obj
)/raid6altivec4.c
: UNROLL
:= 4
105 $(obj
)/raid6altivec4.c
: $(src
)/raid6altivec.uc
$(src
)/unroll.awk FORCE
106 $(call if_changed
,unroll
)
108 CFLAGS_raid6altivec8.o
+= $(altivec_flags
)
109 targets
+= raid6altivec8.c
110 $(obj
)/raid6altivec8.c
: UNROLL
:= 8
111 $(obj
)/raid6altivec8.c
: $(src
)/raid6altivec.uc
$(src
)/unroll.awk FORCE
112 $(call if_changed
,unroll
)
114 quiet_cmd_mktable
= TABLE
$@
115 cmd_mktable
= $(obj
)/mktables
> $@ ||
( rm -f
$@
&& exit
1 )
117 targets
+= raid6tables.c
118 $(obj
)/raid6tables.c
: $(obj
)/mktables FORCE
119 $(call if_changed
,mktable
)