xref: /linux/fs/xfs/Makefile (revision bc270b53e6aa3b9723e26a548fa1a1688ea61361)
10b61f8a4SDave Chinner# SPDX-License-Identifier: GPL-2.0
258b7983dSAndi Kleen#
358b7983dSAndi Kleen# Copyright (c) 2000-2005 Silicon Graphics, Inc.
458b7983dSAndi Kleen# All Rights Reserved.
558b7983dSAndi Kleen#
658b7983dSAndi Kleen
7b6bede3bSChristoph Hellwigccflags-y += -I$(src)			# needed for trace events
869116a13SDave Chinnerccflags-y += -I$(src)/libxfs
9b6bede3bSChristoph Hellwig
100ccd234cSmatt mooneyccflags-$(CONFIG_XFS_DEBUG) += -g
1158b7983dSAndi Kleen
1258b7983dSAndi Kleenobj-$(CONFIG_XFS_FS)		+= xfs.o
13269cdfafSLachlan McIlroy
14c59d87c4SChristoph Hellwig# this one should be compiled first, as the tracing macros can easily blow up
15c59d87c4SChristoph Hellwigxfs-y				+= xfs_trace.o
160b1b213fSChristoph Hellwig
1769116a13SDave Chinner# build the libxfs code first
1869116a13SDave Chinnerxfs-y				+= $(addprefix libxfs/, \
19b16817b6SDave Chinner				   xfs_ag.o \
2030f712c9SDave Chinner				   xfs_alloc.o \
2130f712c9SDave Chinner				   xfs_alloc_btree.o \
2230f712c9SDave Chinner				   xfs_attr.o \
2330f712c9SDave Chinner				   xfs_attr_leaf.o \
2430f712c9SDave Chinner				   xfs_attr_remote.o \
251cfc4a9cSDave Chinner				   xfs_bit.o \
2630f712c9SDave Chinner				   xfs_bmap.o \
2730f712c9SDave Chinner				   xfs_bmap_btree.o \
2830f712c9SDave Chinner				   xfs_btree.o \
2930f712c9SDave Chinner				   xfs_da_btree.o \
3030f712c9SDave Chinner				   xfs_da_format.o \
314e0cc29bSDarrick J. Wong				   xfs_defer.o \
3230f712c9SDave Chinner				   xfs_dir2.o \
3330f712c9SDave Chinner				   xfs_dir2_block.o \
3430f712c9SDave Chinner				   xfs_dir2_data.o \
3530f712c9SDave Chinner				   xfs_dir2_leaf.o \
3630f712c9SDave Chinner				   xfs_dir2_node.o \
3730f712c9SDave Chinner				   xfs_dir2_sf.o \
3830f712c9SDave Chinner				   xfs_dquot_buf.o \
3930f712c9SDave Chinner				   xfs_ialloc.o \
4030f712c9SDave Chinner				   xfs_ialloc_btree.o \
416bdcf26aSChristoph Hellwig				   xfs_iext_tree.o \
4230f712c9SDave Chinner				   xfs_inode_fork.o \
4330f712c9SDave Chinner				   xfs_inode_buf.o \
4430f712c9SDave Chinner				   xfs_log_rlimit.o \
453fd129b6SDarrick J. Wong				   xfs_ag_resv.o \
46673930c3SDarrick J. Wong				   xfs_rmap.o \
47035e00acSDarrick J. Wong				   xfs_rmap_btree.o \
48bdf28630SDarrick J. Wong				   xfs_refcount.o \
491946b91cSDarrick J. Wong				   xfs_refcount_btree.o \
5069116a13SDave Chinner				   xfs_sb.o \
5130f712c9SDave Chinner				   xfs_symlink_remote.o \
5230f712c9SDave Chinner				   xfs_trans_resv.o \
5386210fbeSDave Chinner				   xfs_types.o \
5430f712c9SDave Chinner				   )
5530f712c9SDave Chinner# xfs_rtbitmap is shared with libxfs
5630f712c9SDave Chinnerxfs-$(CONFIG_XFS_RT)		+= $(addprefix libxfs/, \
5730f712c9SDave Chinner				   xfs_rtbitmap.o \
5869116a13SDave Chinner				   )
5969116a13SDave Chinner
60c59d87c4SChristoph Hellwig# highlevel code
61c59d87c4SChristoph Hellwigxfs-y				+= xfs_aops.o \
62fde2227cSDave Chinner				   xfs_attr_inactive.o \
63abec5f2bSDave Chinner				   xfs_attr_list.o \
6468988114SDave Chinner				   xfs_bmap_util.o \
65c59d87c4SChristoph Hellwig				   xfs_buf.o \
664a8af273SDave Chinner				   xfs_dir2_readdir.o \
67c59d87c4SChristoph Hellwig				   xfs_discard.o \
68c59d87c4SChristoph Hellwig				   xfs_error.o \
69c59d87c4SChristoph Hellwig				   xfs_export.o \
70efc27b52SDave Chinner				   xfs_extent_busy.o \
71c59d87c4SChristoph Hellwig				   xfs_file.o \
72c59d87c4SChristoph Hellwig				   xfs_filestream.o \
73e89c0413SDarrick J. Wong				   xfs_fsmap.o \
74c59d87c4SChristoph Hellwig				   xfs_fsops.o \
75c59d87c4SChristoph Hellwig				   xfs_globals.o \
766d8b79cfSDave Chinner				   xfs_icache.o \
77c59d87c4SChristoph Hellwig				   xfs_ioctl.o \
78c59d87c4SChristoph Hellwig				   xfs_iomap.o \
79c59d87c4SChristoph Hellwig				   xfs_iops.o \
8030f712c9SDave Chinner				   xfs_inode.o \
81c59d87c4SChristoph Hellwig				   xfs_itable.o \
82c59d87c4SChristoph Hellwig				   xfs_message.o \
83ff55068cSDave Chinner				   xfs_mount.o \
84c59d87c4SChristoph Hellwig				   xfs_mru_cache.o \
853993baebSDarrick J. Wong				   xfs_reflink.o \
86985ef4dcSDave Chinner				   xfs_stats.o \
8719de7351SDave Chinner				   xfs_super.o \
881fb7e48dSDave Chinner				   xfs_symlink.o \
89a31b1d3dSBrian Foster				   xfs_sysfs.o \
907fd36c44SDave Chinner				   xfs_trans.o \
9119de7351SDave Chinner				   xfs_xattr.o \
92d905fdaaSAmir Goldstein				   kmem.o
93269cdfafSLachlan McIlroy
94c59d87c4SChristoph Hellwig# low-level transaction/log code
95c59d87c4SChristoph Hellwigxfs-y				+= xfs_log.o \
96c59d87c4SChristoph Hellwig				   xfs_log_cil.o \
976413a014SDarrick J. Wong				   xfs_bmap_item.o \
98c59d87c4SChristoph Hellwig				   xfs_buf_item.o \
99c59d87c4SChristoph Hellwig				   xfs_extfree_item.o \
10030f712c9SDave Chinner				   xfs_icreate_item.o \
101c59d87c4SChristoph Hellwig				   xfs_inode_item.o \
102baf4bcacSDarrick J. Wong				   xfs_refcount_item.o \
1035880f2d7SDarrick J. Wong				   xfs_rmap_item.o \
10430f712c9SDave Chinner				   xfs_log_recover.o \
10558b7983dSAndi Kleen				   xfs_trans_ail.o \
10677d61fe4SDarrick J. Wong				   xfs_trans_bmap.o \
10758b7983dSAndi Kleen				   xfs_trans_buf.o \
10858b7983dSAndi Kleen				   xfs_trans_extfree.o \
10958b7983dSAndi Kleen				   xfs_trans_inode.o \
110f997ee21SDarrick J. Wong				   xfs_trans_refcount.o \
1119e88b5d8SDarrick J. Wong				   xfs_trans_rmap.o \
11258b7983dSAndi Kleen
113c59d87c4SChristoph Hellwig# optional features
114c59d87c4SChristoph Hellwigxfs-$(CONFIG_XFS_QUOTA)		+= xfs_dquot.o \
115c59d87c4SChristoph Hellwig				   xfs_dquot_item.o \
116c59d87c4SChristoph Hellwig				   xfs_trans_dquot.o \
117c59d87c4SChristoph Hellwig				   xfs_qm_syscalls.o \
118c59d87c4SChristoph Hellwig				   xfs_qm_bhv.o \
119c59d87c4SChristoph Hellwig				   xfs_qm.o \
120c59d87c4SChristoph Hellwig				   xfs_quotaops.o
121c963c619SDave Chinner
122c963c619SDave Chinner# xfs_rtbitmap is shared with libxfs
12330f712c9SDave Chinnerxfs-$(CONFIG_XFS_RT)		+= xfs_rtalloc.o
124c963c619SDave Chinner
125c59d87c4SChristoph Hellwigxfs-$(CONFIG_XFS_POSIX_ACL)	+= xfs_acl.o
126c59d87c4SChristoph Hellwigxfs-$(CONFIG_SYSCTL)		+= xfs_sysctl.o
127c59d87c4SChristoph Hellwigxfs-$(CONFIG_COMPAT)		+= xfs_ioctl32.o
12815d66ac2SBenjamin Coddingtonxfs-$(CONFIG_EXPORTFS_BLOCK_OPS)	+= xfs_pnfs.o
12936fd6e86SDarrick J. Wong
13036fd6e86SDarrick J. Wong# online scrub/repair
13136fd6e86SDarrick J. Wongifeq ($(CONFIG_XFS_ONLINE_SCRUB),y)
13236fd6e86SDarrick J. Wong
13336fd6e86SDarrick J. Wong# Tracepoints like to blow up, so build that before everything else
13436fd6e86SDarrick J. Wong
13536fd6e86SDarrick J. Wongxfs-y				+= $(addprefix scrub/, \
13636fd6e86SDarrick J. Wong				   trace.o \
13721fb4cb1SDarrick J. Wong				   agheader.o \
138efa7a99cSDarrick J. Wong				   alloc.o \
139eec0482eSDarrick J. Wong				   attr.o \
14099d9d8d0SDarrick J. Wong				   bmap.o \
141537964bcSDarrick J. Wong				   btree.o \
142dcb660f9SDarrick J. Wong				   common.o \
1437c4a07a4SDarrick J. Wong				   dabtree.o \
144a5c46e5eSDarrick J. Wong				   dir.o \
1453daa6641SDarrick J. Wong				   ialloc.o \
14680e4e126SDarrick J. Wong				   inode.o \
1470f28b257SDarrick J. Wong				   parent.o \
148edc09b52SDarrick J. Wong				   refcount.o \
149c7e693d9SDarrick J. Wong				   rmap.o \
15036fd6e86SDarrick J. Wong				   scrub.o \
1512a721dbbSDarrick J. Wong				   symlink.o \
15236fd6e86SDarrick J. Wong				   )
15329b0767bSDarrick J. Wong
15429b0767bSDarrick J. Wongxfs-$(CONFIG_XFS_RT)		+= scrub/rtbitmap.o
155c2fc338cSDarrick J. Wongxfs-$(CONFIG_XFS_QUOTA)		+= scrub/quota.o
15684d42ea6SDarrick J. Wong
15784d42ea6SDarrick J. Wong# online repair
15884d42ea6SDarrick J. Wongifeq ($(CONFIG_XFS_ONLINE_REPAIR),y)
15984d42ea6SDarrick J. Wongxfs-y				+= $(addprefix scrub/, \
160d25522f1SDarrick J. Wong				   agheader_repair.o \
161*bc270b53SDarrick J. Wong				   bitmap.o \
16284d42ea6SDarrick J. Wong				   repair.o \
16384d42ea6SDarrick J. Wong				   )
16484d42ea6SDarrick J. Wongendif
16536fd6e86SDarrick J. Wongendif
166