xref: /linux/fs/xfs/Makefile (revision 0f28b25731f76feda1ec71671754a2b7179ee1ef)
158b7983dSAndi Kleen#
258b7983dSAndi Kleen# Copyright (c) 2000-2005 Silicon Graphics, Inc.
358b7983dSAndi Kleen# All Rights Reserved.
458b7983dSAndi Kleen#
558b7983dSAndi Kleen# This program is free software; you can redistribute it and/or
658b7983dSAndi Kleen# modify it under the terms of the GNU General Public License as
758b7983dSAndi Kleen# published by the Free Software Foundation.
858b7983dSAndi Kleen#
958b7983dSAndi Kleen# This program is distributed in the hope that it would be useful,
1058b7983dSAndi Kleen# but WITHOUT ANY WARRANTY; without even the implied warranty of
1158b7983dSAndi Kleen# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1258b7983dSAndi Kleen# GNU General Public License for more details.
1358b7983dSAndi Kleen#
1458b7983dSAndi Kleen# You should have received a copy of the GNU General Public License
1558b7983dSAndi Kleen# along with this program; if not, write the Free Software Foundation,
1658b7983dSAndi Kleen# Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
1758b7983dSAndi Kleen#
1858b7983dSAndi Kleen
19b6bede3bSChristoph Hellwigccflags-y += -I$(src)			# needed for trace events
2069116a13SDave Chinnerccflags-y += -I$(src)/libxfs
21b6bede3bSChristoph Hellwig
220ccd234cSmatt mooneyccflags-$(CONFIG_XFS_DEBUG) += -g
2358b7983dSAndi Kleen
2458b7983dSAndi Kleenobj-$(CONFIG_XFS_FS)		+= xfs.o
25269cdfafSLachlan McIlroy
26c59d87c4SChristoph Hellwig# this one should be compiled first, as the tracing macros can easily blow up
27c59d87c4SChristoph Hellwigxfs-y				+= xfs_trace.o
280b1b213fSChristoph Hellwig
2969116a13SDave Chinner# build the libxfs code first
3069116a13SDave Chinnerxfs-y				+= $(addprefix libxfs/, \
3130f712c9SDave Chinner				   xfs_alloc.o \
3230f712c9SDave Chinner				   xfs_alloc_btree.o \
3330f712c9SDave Chinner				   xfs_attr.o \
3430f712c9SDave Chinner				   xfs_attr_leaf.o \
3530f712c9SDave Chinner				   xfs_attr_remote.o \
361cfc4a9cSDave Chinner				   xfs_bit.o \
3730f712c9SDave Chinner				   xfs_bmap.o \
3830f712c9SDave Chinner				   xfs_bmap_btree.o \
3930f712c9SDave Chinner				   xfs_btree.o \
4030f712c9SDave Chinner				   xfs_da_btree.o \
4130f712c9SDave Chinner				   xfs_da_format.o \
424e0cc29bSDarrick J. Wong				   xfs_defer.o \
4330f712c9SDave Chinner				   xfs_dir2.o \
4430f712c9SDave Chinner				   xfs_dir2_block.o \
4530f712c9SDave Chinner				   xfs_dir2_data.o \
4630f712c9SDave Chinner				   xfs_dir2_leaf.o \
4730f712c9SDave Chinner				   xfs_dir2_node.o \
4830f712c9SDave Chinner				   xfs_dir2_sf.o \
4930f712c9SDave Chinner				   xfs_dquot_buf.o \
5030f712c9SDave Chinner				   xfs_ialloc.o \
5130f712c9SDave Chinner				   xfs_ialloc_btree.o \
5230f712c9SDave Chinner				   xfs_inode_fork.o \
5330f712c9SDave Chinner				   xfs_inode_buf.o \
5430f712c9SDave Chinner				   xfs_log_rlimit.o \
553fd129b6SDarrick J. Wong				   xfs_ag_resv.o \
56673930c3SDarrick J. Wong				   xfs_rmap.o \
57035e00acSDarrick J. Wong				   xfs_rmap_btree.o \
58bdf28630SDarrick J. Wong				   xfs_refcount.o \
591946b91cSDarrick J. Wong				   xfs_refcount_btree.o \
6069116a13SDave Chinner				   xfs_sb.o \
6130f712c9SDave Chinner				   xfs_symlink_remote.o \
6230f712c9SDave Chinner				   xfs_trans_resv.o \
6330f712c9SDave Chinner				   )
6430f712c9SDave Chinner# xfs_rtbitmap is shared with libxfs
6530f712c9SDave Chinnerxfs-$(CONFIG_XFS_RT)		+= $(addprefix libxfs/, \
6630f712c9SDave Chinner				   xfs_rtbitmap.o \
6769116a13SDave Chinner				   )
6869116a13SDave Chinner
69c59d87c4SChristoph Hellwig# highlevel code
70c59d87c4SChristoph Hellwigxfs-y				+= xfs_aops.o \
71fde2227cSDave Chinner				   xfs_attr_inactive.o \
72abec5f2bSDave Chinner				   xfs_attr_list.o \
7368988114SDave Chinner				   xfs_bmap_util.o \
74c59d87c4SChristoph Hellwig				   xfs_buf.o \
754a8af273SDave Chinner				   xfs_dir2_readdir.o \
76c59d87c4SChristoph Hellwig				   xfs_discard.o \
77c59d87c4SChristoph Hellwig				   xfs_error.o \
78c59d87c4SChristoph Hellwig				   xfs_export.o \
79efc27b52SDave Chinner				   xfs_extent_busy.o \
80c59d87c4SChristoph Hellwig				   xfs_file.o \
81c59d87c4SChristoph Hellwig				   xfs_filestream.o \
82e89c0413SDarrick J. Wong				   xfs_fsmap.o \
83c59d87c4SChristoph Hellwig				   xfs_fsops.o \
84c59d87c4SChristoph Hellwig				   xfs_globals.o \
856d8b79cfSDave Chinner				   xfs_icache.o \
86c59d87c4SChristoph Hellwig				   xfs_ioctl.o \
87c59d87c4SChristoph Hellwig				   xfs_iomap.o \
88c59d87c4SChristoph Hellwig				   xfs_iops.o \
8930f712c9SDave Chinner				   xfs_inode.o \
90c59d87c4SChristoph Hellwig				   xfs_itable.o \
91c59d87c4SChristoph Hellwig				   xfs_message.o \
92ff55068cSDave Chinner				   xfs_mount.o \
93c59d87c4SChristoph Hellwig				   xfs_mru_cache.o \
943993baebSDarrick J. Wong				   xfs_reflink.o \
95985ef4dcSDave Chinner				   xfs_stats.o \
9619de7351SDave Chinner				   xfs_super.o \
971fb7e48dSDave Chinner				   xfs_symlink.o \
98a31b1d3dSBrian Foster				   xfs_sysfs.o \
997fd36c44SDave Chinner				   xfs_trans.o \
10019de7351SDave Chinner				   xfs_xattr.o \
101d905fdaaSAmir Goldstein				   kmem.o
102269cdfafSLachlan McIlroy
103c59d87c4SChristoph Hellwig# low-level transaction/log code
104c59d87c4SChristoph Hellwigxfs-y				+= xfs_log.o \
105c59d87c4SChristoph Hellwig				   xfs_log_cil.o \
1066413a014SDarrick J. Wong				   xfs_bmap_item.o \
107c59d87c4SChristoph Hellwig				   xfs_buf_item.o \
108c59d87c4SChristoph Hellwig				   xfs_extfree_item.o \
10930f712c9SDave Chinner				   xfs_icreate_item.o \
110c59d87c4SChristoph Hellwig				   xfs_inode_item.o \
111baf4bcacSDarrick J. Wong				   xfs_refcount_item.o \
1125880f2d7SDarrick J. Wong				   xfs_rmap_item.o \
11330f712c9SDave Chinner				   xfs_log_recover.o \
11458b7983dSAndi Kleen				   xfs_trans_ail.o \
11577d61fe4SDarrick J. Wong				   xfs_trans_bmap.o \
11658b7983dSAndi Kleen				   xfs_trans_buf.o \
11758b7983dSAndi Kleen				   xfs_trans_extfree.o \
11858b7983dSAndi Kleen				   xfs_trans_inode.o \
119f997ee21SDarrick J. Wong				   xfs_trans_refcount.o \
1209e88b5d8SDarrick J. Wong				   xfs_trans_rmap.o \
12158b7983dSAndi Kleen
122c59d87c4SChristoph Hellwig# optional features
123c59d87c4SChristoph Hellwigxfs-$(CONFIG_XFS_QUOTA)		+= xfs_dquot.o \
124c59d87c4SChristoph Hellwig				   xfs_dquot_item.o \
125c59d87c4SChristoph Hellwig				   xfs_trans_dquot.o \
126c59d87c4SChristoph Hellwig				   xfs_qm_syscalls.o \
127c59d87c4SChristoph Hellwig				   xfs_qm_bhv.o \
128c59d87c4SChristoph Hellwig				   xfs_qm.o \
129c59d87c4SChristoph Hellwig				   xfs_quotaops.o
130c963c619SDave Chinner
131c963c619SDave Chinner# xfs_rtbitmap is shared with libxfs
13230f712c9SDave Chinnerxfs-$(CONFIG_XFS_RT)		+= xfs_rtalloc.o
133c963c619SDave Chinner
134c59d87c4SChristoph Hellwigxfs-$(CONFIG_XFS_POSIX_ACL)	+= xfs_acl.o
135c59d87c4SChristoph Hellwigxfs-$(CONFIG_SYSCTL)		+= xfs_sysctl.o
136c59d87c4SChristoph Hellwigxfs-$(CONFIG_COMPAT)		+= xfs_ioctl32.o
13715d66ac2SBenjamin Coddingtonxfs-$(CONFIG_EXPORTFS_BLOCK_OPS)	+= xfs_pnfs.o
13836fd6e86SDarrick J. Wong
13936fd6e86SDarrick J. Wong# online scrub/repair
14036fd6e86SDarrick J. Wongifeq ($(CONFIG_XFS_ONLINE_SCRUB),y)
14136fd6e86SDarrick J. Wong
14236fd6e86SDarrick J. Wong# Tracepoints like to blow up, so build that before everything else
14336fd6e86SDarrick J. Wong
14436fd6e86SDarrick J. Wongxfs-y				+= $(addprefix scrub/, \
14536fd6e86SDarrick J. Wong				   trace.o \
14621fb4cb1SDarrick J. Wong				   agheader.o \
147efa7a99cSDarrick J. Wong				   alloc.o \
148eec0482eSDarrick J. Wong				   attr.o \
14999d9d8d0SDarrick J. Wong				   bmap.o \
150537964bcSDarrick J. Wong				   btree.o \
151dcb660f9SDarrick J. Wong				   common.o \
1527c4a07a4SDarrick J. Wong				   dabtree.o \
153a5c46e5eSDarrick J. Wong				   dir.o \
1543daa6641SDarrick J. Wong				   ialloc.o \
15580e4e126SDarrick J. Wong				   inode.o \
156*0f28b257SDarrick J. Wong				   parent.o \
157edc09b52SDarrick J. Wong				   refcount.o \
158c7e693d9SDarrick J. Wong				   rmap.o \
15936fd6e86SDarrick J. Wong				   scrub.o \
1602a721dbbSDarrick J. Wong				   symlink.o \
16136fd6e86SDarrick J. Wong				   )
16236fd6e86SDarrick J. Wongendif
163