xref: /linux/fs/xfs/Makefile (revision d25522f10cfa342a20867086a516c45c87b0877c)
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/, \
31b16817b6SDave Chinner				   xfs_ag.o \
3230f712c9SDave Chinner				   xfs_alloc.o \
3330f712c9SDave Chinner				   xfs_alloc_btree.o \
3430f712c9SDave Chinner				   xfs_attr.o \
3530f712c9SDave Chinner				   xfs_attr_leaf.o \
3630f712c9SDave Chinner				   xfs_attr_remote.o \
371cfc4a9cSDave Chinner				   xfs_bit.o \
3830f712c9SDave Chinner				   xfs_bmap.o \
3930f712c9SDave Chinner				   xfs_bmap_btree.o \
4030f712c9SDave Chinner				   xfs_btree.o \
4130f712c9SDave Chinner				   xfs_da_btree.o \
4230f712c9SDave Chinner				   xfs_da_format.o \
434e0cc29bSDarrick J. Wong				   xfs_defer.o \
4430f712c9SDave Chinner				   xfs_dir2.o \
4530f712c9SDave Chinner				   xfs_dir2_block.o \
4630f712c9SDave Chinner				   xfs_dir2_data.o \
4730f712c9SDave Chinner				   xfs_dir2_leaf.o \
4830f712c9SDave Chinner				   xfs_dir2_node.o \
4930f712c9SDave Chinner				   xfs_dir2_sf.o \
5030f712c9SDave Chinner				   xfs_dquot_buf.o \
5130f712c9SDave Chinner				   xfs_ialloc.o \
5230f712c9SDave Chinner				   xfs_ialloc_btree.o \
536bdcf26aSChristoph Hellwig				   xfs_iext_tree.o \
5430f712c9SDave Chinner				   xfs_inode_fork.o \
5530f712c9SDave Chinner				   xfs_inode_buf.o \
5630f712c9SDave Chinner				   xfs_log_rlimit.o \
573fd129b6SDarrick J. Wong				   xfs_ag_resv.o \
58673930c3SDarrick J. Wong				   xfs_rmap.o \
59035e00acSDarrick J. Wong				   xfs_rmap_btree.o \
60bdf28630SDarrick J. Wong				   xfs_refcount.o \
611946b91cSDarrick J. Wong				   xfs_refcount_btree.o \
6269116a13SDave Chinner				   xfs_sb.o \
6330f712c9SDave Chinner				   xfs_symlink_remote.o \
6430f712c9SDave Chinner				   xfs_trans_resv.o \
6530f712c9SDave Chinner				   )
6630f712c9SDave Chinner# xfs_rtbitmap is shared with libxfs
6730f712c9SDave Chinnerxfs-$(CONFIG_XFS_RT)		+= $(addprefix libxfs/, \
6830f712c9SDave Chinner				   xfs_rtbitmap.o \
6969116a13SDave Chinner				   )
7069116a13SDave Chinner
71c59d87c4SChristoph Hellwig# highlevel code
72c59d87c4SChristoph Hellwigxfs-y				+= xfs_aops.o \
73fde2227cSDave Chinner				   xfs_attr_inactive.o \
74abec5f2bSDave Chinner				   xfs_attr_list.o \
7568988114SDave Chinner				   xfs_bmap_util.o \
76c59d87c4SChristoph Hellwig				   xfs_buf.o \
774a8af273SDave Chinner				   xfs_dir2_readdir.o \
78c59d87c4SChristoph Hellwig				   xfs_discard.o \
79c59d87c4SChristoph Hellwig				   xfs_error.o \
80c59d87c4SChristoph Hellwig				   xfs_export.o \
81efc27b52SDave Chinner				   xfs_extent_busy.o \
82c59d87c4SChristoph Hellwig				   xfs_file.o \
83c59d87c4SChristoph Hellwig				   xfs_filestream.o \
84e89c0413SDarrick J. Wong				   xfs_fsmap.o \
85c59d87c4SChristoph Hellwig				   xfs_fsops.o \
86c59d87c4SChristoph Hellwig				   xfs_globals.o \
876d8b79cfSDave Chinner				   xfs_icache.o \
88c59d87c4SChristoph Hellwig				   xfs_ioctl.o \
89c59d87c4SChristoph Hellwig				   xfs_iomap.o \
90c59d87c4SChristoph Hellwig				   xfs_iops.o \
9130f712c9SDave Chinner				   xfs_inode.o \
92c59d87c4SChristoph Hellwig				   xfs_itable.o \
93c59d87c4SChristoph Hellwig				   xfs_message.o \
94ff55068cSDave Chinner				   xfs_mount.o \
95c59d87c4SChristoph Hellwig				   xfs_mru_cache.o \
963993baebSDarrick J. Wong				   xfs_reflink.o \
97985ef4dcSDave Chinner				   xfs_stats.o \
9819de7351SDave Chinner				   xfs_super.o \
991fb7e48dSDave Chinner				   xfs_symlink.o \
100a31b1d3dSBrian Foster				   xfs_sysfs.o \
1017fd36c44SDave Chinner				   xfs_trans.o \
10219de7351SDave Chinner				   xfs_xattr.o \
103d905fdaaSAmir Goldstein				   kmem.o
104269cdfafSLachlan McIlroy
105c59d87c4SChristoph Hellwig# low-level transaction/log code
106c59d87c4SChristoph Hellwigxfs-y				+= xfs_log.o \
107c59d87c4SChristoph Hellwig				   xfs_log_cil.o \
1086413a014SDarrick J. Wong				   xfs_bmap_item.o \
109c59d87c4SChristoph Hellwig				   xfs_buf_item.o \
110c59d87c4SChristoph Hellwig				   xfs_extfree_item.o \
11130f712c9SDave Chinner				   xfs_icreate_item.o \
112c59d87c4SChristoph Hellwig				   xfs_inode_item.o \
113baf4bcacSDarrick J. Wong				   xfs_refcount_item.o \
1145880f2d7SDarrick J. Wong				   xfs_rmap_item.o \
11530f712c9SDave Chinner				   xfs_log_recover.o \
11658b7983dSAndi Kleen				   xfs_trans_ail.o \
11777d61fe4SDarrick J. Wong				   xfs_trans_bmap.o \
11858b7983dSAndi Kleen				   xfs_trans_buf.o \
11958b7983dSAndi Kleen				   xfs_trans_extfree.o \
12058b7983dSAndi Kleen				   xfs_trans_inode.o \
121f997ee21SDarrick J. Wong				   xfs_trans_refcount.o \
1229e88b5d8SDarrick J. Wong				   xfs_trans_rmap.o \
12358b7983dSAndi Kleen
124c59d87c4SChristoph Hellwig# optional features
125c59d87c4SChristoph Hellwigxfs-$(CONFIG_XFS_QUOTA)		+= xfs_dquot.o \
126c59d87c4SChristoph Hellwig				   xfs_dquot_item.o \
127c59d87c4SChristoph Hellwig				   xfs_trans_dquot.o \
128c59d87c4SChristoph Hellwig				   xfs_qm_syscalls.o \
129c59d87c4SChristoph Hellwig				   xfs_qm_bhv.o \
130c59d87c4SChristoph Hellwig				   xfs_qm.o \
131c59d87c4SChristoph Hellwig				   xfs_quotaops.o
132c963c619SDave Chinner
133c963c619SDave Chinner# xfs_rtbitmap is shared with libxfs
13430f712c9SDave Chinnerxfs-$(CONFIG_XFS_RT)		+= xfs_rtalloc.o
135c963c619SDave Chinner
136c59d87c4SChristoph Hellwigxfs-$(CONFIG_XFS_POSIX_ACL)	+= xfs_acl.o
137c59d87c4SChristoph Hellwigxfs-$(CONFIG_SYSCTL)		+= xfs_sysctl.o
138c59d87c4SChristoph Hellwigxfs-$(CONFIG_COMPAT)		+= xfs_ioctl32.o
13915d66ac2SBenjamin Coddingtonxfs-$(CONFIG_EXPORTFS_BLOCK_OPS)	+= xfs_pnfs.o
14036fd6e86SDarrick J. Wong
14136fd6e86SDarrick J. Wong# online scrub/repair
14236fd6e86SDarrick J. Wongifeq ($(CONFIG_XFS_ONLINE_SCRUB),y)
14336fd6e86SDarrick J. Wong
14436fd6e86SDarrick J. Wong# Tracepoints like to blow up, so build that before everything else
14536fd6e86SDarrick J. Wong
14636fd6e86SDarrick J. Wongxfs-y				+= $(addprefix scrub/, \
14736fd6e86SDarrick J. Wong				   trace.o \
14821fb4cb1SDarrick J. Wong				   agheader.o \
149efa7a99cSDarrick J. Wong				   alloc.o \
150eec0482eSDarrick J. Wong				   attr.o \
15199d9d8d0SDarrick J. Wong				   bmap.o \
152537964bcSDarrick J. Wong				   btree.o \
153dcb660f9SDarrick J. Wong				   common.o \
1547c4a07a4SDarrick J. Wong				   dabtree.o \
155a5c46e5eSDarrick J. Wong				   dir.o \
1563daa6641SDarrick J. Wong				   ialloc.o \
15780e4e126SDarrick J. Wong				   inode.o \
1580f28b257SDarrick J. Wong				   parent.o \
159edc09b52SDarrick J. Wong				   refcount.o \
160c7e693d9SDarrick J. Wong				   rmap.o \
16136fd6e86SDarrick J. Wong				   scrub.o \
1622a721dbbSDarrick J. Wong				   symlink.o \
16336fd6e86SDarrick J. Wong				   )
16429b0767bSDarrick J. Wong
16529b0767bSDarrick J. Wongxfs-$(CONFIG_XFS_RT)		+= scrub/rtbitmap.o
166c2fc338cSDarrick J. Wongxfs-$(CONFIG_XFS_QUOTA)		+= scrub/quota.o
16784d42ea6SDarrick J. Wong
16884d42ea6SDarrick J. Wong# online repair
16984d42ea6SDarrick J. Wongifeq ($(CONFIG_XFS_ONLINE_REPAIR),y)
17084d42ea6SDarrick J. Wongxfs-y				+= $(addprefix scrub/, \
171*d25522f1SDarrick J. Wong				   agheader_repair.o \
17284d42ea6SDarrick J. Wong				   repair.o \
17384d42ea6SDarrick J. Wong				   )
17484d42ea6SDarrick J. Wongendif
17536fd6e86SDarrick J. Wongendif
176