xref: /linux/fs/xfs/Makefile (revision e21f9e2e862e9eb3dd64eaddb6256b3e5098660f)
1#
2# Copyright (c) 2000-2005 Silicon Graphics, Inc.
3# All Rights Reserved.
4#
5# This program is free software; you can redistribute it and/or
6# modify it under the terms of the GNU General Public License as
7# published by the Free Software Foundation.
8#
9# This program is distributed in the hope that it would be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12# GNU General Public License for more details.
13#
14# You should have received a copy of the GNU General Public License
15# along with this program; if not, write the Free Software Foundation,
16# Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17#
18
19ccflags-y += -I$(src)			# needed for trace events
20ccflags-y += -I$(src)/libxfs
21
22ccflags-$(CONFIG_XFS_DEBUG) += -g
23
24obj-$(CONFIG_XFS_FS)		+= xfs.o
25
26# this one should be compiled first, as the tracing macros can easily blow up
27xfs-y				+= xfs_trace.o
28
29# build the libxfs code first
30xfs-y				+= $(addprefix libxfs/, \
31				   xfs_alloc.o \
32				   xfs_alloc_btree.o \
33				   xfs_attr.o \
34				   xfs_attr_leaf.o \
35				   xfs_attr_remote.o \
36				   xfs_bit.o \
37				   xfs_bmap.o \
38				   xfs_bmap_btree.o \
39				   xfs_btree.o \
40				   xfs_da_btree.o \
41				   xfs_da_format.o \
42				   xfs_defer.o \
43				   xfs_dir2.o \
44				   xfs_dir2_block.o \
45				   xfs_dir2_data.o \
46				   xfs_dir2_leaf.o \
47				   xfs_dir2_node.o \
48				   xfs_dir2_sf.o \
49				   xfs_dquot_buf.o \
50				   xfs_ialloc.o \
51				   xfs_ialloc_btree.o \
52				   xfs_iext_tree.o \
53				   xfs_inode_fork.o \
54				   xfs_inode_buf.o \
55				   xfs_log_rlimit.o \
56				   xfs_ag_resv.o \
57				   xfs_rmap.o \
58				   xfs_rmap_btree.o \
59				   xfs_refcount.o \
60				   xfs_refcount_btree.o \
61				   xfs_sb.o \
62				   xfs_symlink_remote.o \
63				   xfs_trans_resv.o \
64				   )
65# xfs_rtbitmap is shared with libxfs
66xfs-$(CONFIG_XFS_RT)		+= $(addprefix libxfs/, \
67				   xfs_rtbitmap.o \
68				   )
69
70# highlevel code
71xfs-y				+= xfs_aops.o \
72				   xfs_attr_inactive.o \
73				   xfs_attr_list.o \
74				   xfs_bmap_util.o \
75				   xfs_buf.o \
76				   xfs_dir2_readdir.o \
77				   xfs_discard.o \
78				   xfs_error.o \
79				   xfs_export.o \
80				   xfs_extent_busy.o \
81				   xfs_file.o \
82				   xfs_filestream.o \
83				   xfs_fsmap.o \
84				   xfs_fsops.o \
85				   xfs_globals.o \
86				   xfs_icache.o \
87				   xfs_ioctl.o \
88				   xfs_iomap.o \
89				   xfs_iops.o \
90				   xfs_inode.o \
91				   xfs_itable.o \
92				   xfs_message.o \
93				   xfs_mount.o \
94				   xfs_mru_cache.o \
95				   xfs_reflink.o \
96				   xfs_stats.o \
97				   xfs_super.o \
98				   xfs_symlink.o \
99				   xfs_sysfs.o \
100				   xfs_trans.o \
101				   xfs_xattr.o \
102				   kmem.o
103
104# low-level transaction/log code
105xfs-y				+= xfs_log.o \
106				   xfs_log_cil.o \
107				   xfs_bmap_item.o \
108				   xfs_buf_item.o \
109				   xfs_extfree_item.o \
110				   xfs_icreate_item.o \
111				   xfs_inode_item.o \
112				   xfs_refcount_item.o \
113				   xfs_rmap_item.o \
114				   xfs_log_recover.o \
115				   xfs_trans_ail.o \
116				   xfs_trans_bmap.o \
117				   xfs_trans_buf.o \
118				   xfs_trans_extfree.o \
119				   xfs_trans_inode.o \
120				   xfs_trans_refcount.o \
121				   xfs_trans_rmap.o \
122
123# optional features
124xfs-$(CONFIG_XFS_QUOTA)		+= xfs_dquot.o \
125				   xfs_dquot_item.o \
126				   xfs_trans_dquot.o \
127				   xfs_qm_syscalls.o \
128				   xfs_qm_bhv.o \
129				   xfs_qm.o \
130				   xfs_quotaops.o
131
132# xfs_rtbitmap is shared with libxfs
133xfs-$(CONFIG_XFS_RT)		+= xfs_rtalloc.o
134
135xfs-$(CONFIG_XFS_POSIX_ACL)	+= xfs_acl.o
136xfs-$(CONFIG_SYSCTL)		+= xfs_sysctl.o
137xfs-$(CONFIG_COMPAT)		+= xfs_ioctl32.o
138xfs-$(CONFIG_EXPORTFS_BLOCK_OPS)	+= xfs_pnfs.o
139
140# online scrub/repair
141ifeq ($(CONFIG_XFS_ONLINE_SCRUB),y)
142
143# Tracepoints like to blow up, so build that before everything else
144
145xfs-y				+= $(addprefix scrub/, \
146				   trace.o \
147				   agheader.o \
148				   alloc.o \
149				   attr.o \
150				   bmap.o \
151				   btree.o \
152				   common.o \
153				   dabtree.o \
154				   dir.o \
155				   ialloc.o \
156				   inode.o \
157				   parent.o \
158				   refcount.o \
159				   rmap.o \
160				   scrub.o \
161				   symlink.o \
162				   )
163
164xfs-$(CONFIG_XFS_RT)		+= scrub/rtbitmap.o
165xfs-$(CONFIG_XFS_QUOTA)		+= scrub/quota.o
166endif
167