xref: /linux/fs/xfs/Makefile (revision a7f25dc23ff6d238ed70e8a3a8a3792cde3bcc68)
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
7b1992c37SMasahiro Yamadaccflags-y += -I $(src)		# needed for trace events
8b1992c37SMasahiro Yamadaccflags-y += -I $(src)/libxfs
9b6bede3bSChristoph Hellwig
1058b7983dSAndi Kleenobj-$(CONFIG_XFS_FS)		+= xfs.o
11269cdfafSLachlan McIlroy
12c59d87c4SChristoph Hellwig# this one should be compiled first, as the tracing macros can easily blow up
13c59d87c4SChristoph Hellwigxfs-y				+= xfs_trace.o
140b1b213fSChristoph Hellwig
1569116a13SDave Chinner# build the libxfs code first
1669116a13SDave Chinnerxfs-y				+= $(addprefix libxfs/, \
17e9c4d8bfSChristoph Hellwig				   xfs_group.o \
18b16817b6SDave Chinner				   xfs_ag.o \
195d9b54a4SDarrick J. Wong				   xfs_ag_resv.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 \
29e06536a6SDarrick J. Wong				   xfs_btree_staging.o \
3030f712c9SDave Chinner				   xfs_da_btree.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 \
39966ceafcSDarrick J. Wong				   xfs_exchmaps.o \
4030f712c9SDave Chinner				   xfs_ialloc.o \
4130f712c9SDave Chinner				   xfs_ialloc_btree.o \
426bdcf26aSChristoph Hellwig				   xfs_iext_tree.o \
4330f712c9SDave Chinner				   xfs_inode_fork.o \
4430f712c9SDave Chinner				   xfs_inode_buf.o \
45b7c477beSDarrick J. Wong				   xfs_inode_util.o \
4630f712c9SDave Chinner				   xfs_log_rlimit.o \
475d9b54a4SDarrick J. Wong				   xfs_metadir.o \
485d9b54a4SDarrick J. Wong				   xfs_metafile.o \
49a08d6729SAllison Henderson				   xfs_parent.o \
50673930c3SDarrick J. Wong				   xfs_rmap.o \
51035e00acSDarrick J. Wong				   xfs_rmap_btree.o \
52bdf28630SDarrick J. Wong				   xfs_refcount.o \
531946b91cSDarrick J. Wong				   xfs_refcount_btree.o \
549abe03a0SDarrick J. Wong				   xfs_rtrefcount_btree.o \
55fc6856c6SDarrick J. Wong				   xfs_rtrmap_btree.o \
5669116a13SDave Chinner				   xfs_sb.o \
5730f712c9SDave Chinner				   xfs_symlink_remote.o \
583f6d70e8SEric Sandeen				   xfs_trans_inode.o \
5930f712c9SDave Chinner				   xfs_trans_resv.o \
60b7c62d90SAllison Henderson				   xfs_trans_space.o \
6186210fbeSDave Chinner				   xfs_types.o \
6230f712c9SDave Chinner				   )
6330f712c9SDave Chinner# xfs_rtbitmap is shared with libxfs
6430f712c9SDave Chinnerxfs-$(CONFIG_XFS_RT)		+= $(addprefix libxfs/, \
6530f712c9SDave Chinner				   xfs_rtbitmap.o \
6687fe4c34SDarrick J. Wong				   xfs_rtgroup.o \
67720c2d58SChristoph Hellwig				   xfs_zones.o \
6869116a13SDave Chinner				   )
6969116a13SDave Chinner
70c59d87c4SChristoph Hellwig# highlevel code
71c59d87c4SChristoph Hellwigxfs-y				+= xfs_aops.o \
72fde2227cSDave Chinner				   xfs_attr_inactive.o \
73abec5f2bSDave Chinner				   xfs_attr_list.o \
7468988114SDave Chinner				   xfs_bmap_util.o \
756ad5b325SChristoph Hellwig				   xfs_bio_io.o \
76c59d87c4SChristoph Hellwig				   xfs_buf.o \
773cfb9290SDarrick J. Wong				   xfs_dahash_test.o \
784a8af273SDave Chinner				   xfs_dir2_readdir.o \
79c59d87c4SChristoph Hellwig				   xfs_discard.o \
80c59d87c4SChristoph Hellwig				   xfs_error.o \
819a64d9b3SDarrick J. Wong				   xfs_exchrange.o \
82c59d87c4SChristoph Hellwig				   xfs_export.o \
83efc27b52SDave Chinner				   xfs_extent_busy.o \
84c59d87c4SChristoph Hellwig				   xfs_file.o \
85c59d87c4SChristoph Hellwig				   xfs_filestream.o \
86e89c0413SDarrick J. Wong				   xfs_fsmap.o \
87c59d87c4SChristoph Hellwig				   xfs_fsops.o \
88c59d87c4SChristoph Hellwig				   xfs_globals.o \
89af69d852SDarrick J. Wong				   xfs_handle.o \
906772c1f1SDarrick J. Wong				   xfs_health.o \
91a48373e7SDarrick J. Wong				   xfs_healthmon.o \
926d8b79cfSDave Chinner				   xfs_icache.o \
93c59d87c4SChristoph Hellwig				   xfs_ioctl.o \
94*6b855256SChristoph Hellwig				   xfs_ioend.o \
95c59d87c4SChristoph Hellwig				   xfs_iomap.o \
96c59d87c4SChristoph Hellwig				   xfs_iops.o \
9730f712c9SDave Chinner				   xfs_inode.o \
98c59d87c4SChristoph Hellwig				   xfs_itable.o \
99a211432cSDarrick J. Wong				   xfs_iwalk.o \
100c59d87c4SChristoph Hellwig				   xfs_message.o \
101ff55068cSDave Chinner				   xfs_mount.o \
102c59d87c4SChristoph Hellwig				   xfs_mru_cache.o \
10340786717SDarrick J. Wong				   xfs_pwork.o \
1043993baebSDarrick J. Wong				   xfs_reflink.o \
105985ef4dcSDave Chinner				   xfs_stats.o \
10619de7351SDave Chinner				   xfs_super.o \
1071fb7e48dSDave Chinner				   xfs_symlink.o \
108a31b1d3dSBrian Foster				   xfs_sysfs.o \
1097fd36c44SDave Chinner				   xfs_trans.o \
110b8accfd6SDarrick J. Wong				   xfs_verify_media.o \
111f078d4eaSDave Chinner				   xfs_xattr.o
112269cdfafSLachlan McIlroy
113c59d87c4SChristoph Hellwig# low-level transaction/log code
114c59d87c4SChristoph Hellwigxfs-y				+= xfs_log.o \
115c59d87c4SChristoph Hellwig				   xfs_log_cil.o \
1166413a014SDarrick J. Wong				   xfs_bmap_item.o \
117c59d87c4SChristoph Hellwig				   xfs_buf_item.o \
11886ffa471SDarrick J. Wong				   xfs_buf_item_recover.o \
11986ffa471SDarrick J. Wong				   xfs_dquot_item_recover.o \
1206c08f434SDarrick J. Wong				   xfs_exchmaps_item.o \
121c59d87c4SChristoph Hellwig				   xfs_extfree_item.o \
122fd920008SAllison Henderson				   xfs_attr_item.o \
12330f712c9SDave Chinner				   xfs_icreate_item.o \
124c59d87c4SChristoph Hellwig				   xfs_inode_item.o \
12586ffa471SDarrick J. Wong				   xfs_inode_item_recover.o \
126784eb7d8SDave Chinner				   xfs_iunlink_item.o \
127baf4bcacSDarrick J. Wong				   xfs_refcount_item.o \
1285880f2d7SDarrick J. Wong				   xfs_rmap_item.o \
12930f712c9SDave Chinner				   xfs_log_recover.o \
13058b7983dSAndi Kleen				   xfs_trans_ail.o \
1313f6d70e8SEric Sandeen				   xfs_trans_buf.o
13258b7983dSAndi Kleen
133c59d87c4SChristoph Hellwig# optional features
134c59d87c4SChristoph Hellwigxfs-$(CONFIG_XFS_QUOTA)		+= xfs_dquot.o \
135c59d87c4SChristoph Hellwig				   xfs_dquot_item.o \
136c59d87c4SChristoph Hellwig				   xfs_trans_dquot.o \
137c59d87c4SChristoph Hellwig				   xfs_qm_syscalls.o \
138c59d87c4SChristoph Hellwig				   xfs_qm_bhv.o \
139c59d87c4SChristoph Hellwig				   xfs_qm.o \
140c59d87c4SChristoph Hellwig				   xfs_quotaops.o
141c963c619SDave Chinner
142c963c619SDave Chinner# xfs_rtbitmap is shared with libxfs
1434e4d5207SChristoph Hellwigxfs-$(CONFIG_XFS_RT)		+= xfs_rtalloc.o \
1440bb21930SChristoph Hellwig				   xfs_zone_alloc.o \
145080d01c4SChristoph Hellwig				   xfs_zone_gc.o \
1465443041bSHans Holmberg				   xfs_zone_info.o \
1470bb21930SChristoph Hellwig				   xfs_zone_space_resv.o
148c963c619SDave Chinner
149c59d87c4SChristoph Hellwigxfs-$(CONFIG_XFS_POSIX_ACL)	+= xfs_acl.o
150c59d87c4SChristoph Hellwigxfs-$(CONFIG_SYSCTL)		+= xfs_sysctl.o
151c59d87c4SChristoph Hellwigxfs-$(CONFIG_COMPAT)		+= xfs_ioctl32.o
15215d66ac2SBenjamin Coddingtonxfs-$(CONFIG_EXPORTFS_BLOCK_OPS)	+= xfs_pnfs.o
15336fd6e86SDarrick J. Wong
1546f643c57SShiyang Ruan# notify failure
1556f643c57SShiyang Ruanifeq ($(CONFIG_MEMORY_FAILURE),y)
1566f643c57SShiyang Ruanxfs-$(CONFIG_FS_DAX)		+= xfs_notify_failure.o
1576f643c57SShiyang Ruanendif
1586f643c57SShiyang Ruan
159d5c88131SDarrick J. Wongxfs-$(CONFIG_XFS_DRAIN_INTENTS)	+= xfs_drain.o
1604e98cc90SDarrick J. Wongxfs-$(CONFIG_XFS_LIVE_HOOKS)	+= xfs_hooks.o
1615076a604SDarrick J. Wongxfs-$(CONFIG_XFS_MEMORY_BUFS)	+= xfs_buf_mem.o
162a095686aSDarrick J. Wongxfs-$(CONFIG_XFS_BTREE_IN_MEM)	+= libxfs/xfs_btree_mem.o
163d5c88131SDarrick J. Wong
16436fd6e86SDarrick J. Wong# online scrub/repair
16536fd6e86SDarrick J. Wongifeq ($(CONFIG_XFS_ONLINE_SCRUB),y)
16636fd6e86SDarrick J. Wong
16736fd6e86SDarrick J. Wong# Tracepoints like to blow up, so build that before everything else
16836fd6e86SDarrick J. Wong
16936fd6e86SDarrick J. Wongxfs-y				+= $(addprefix scrub/, \
17036fd6e86SDarrick J. Wong				   trace.o \
1710f08af0fSDarrick J. Wong				   agb_bitmap.o \
17221fb4cb1SDarrick J. Wong				   agheader.o \
173efa7a99cSDarrick J. Wong				   alloc.o \
174eec0482eSDarrick J. Wong				   attr.o \
175fed050f3SDarrick J. Wong				   bitmap.o \
17699d9d8d0SDarrick J. Wong				   bmap.o \
177537964bcSDarrick J. Wong				   btree.o \
178dcb660f9SDarrick J. Wong				   common.o \
1797c4a07a4SDarrick J. Wong				   dabtree.o \
180a5c46e5eSDarrick J. Wong				   dir.o \
181928b721aSDarrick J. Wong				   dirtree.o \
18275efa57dSDarrick J. Wong				   fscounters.o \
1834860a05dSDarrick J. Wong				   health.o \
1843daa6641SDarrick J. Wong				   ialloc.o \
18580e4e126SDarrick J. Wong				   inode.o \
1868660c7b7SDarrick J. Wong				   iscan.o \
1876c631e79SDarrick J. Wong				   listxattr.o \
188b3c03efaSDarrick J. Wong				   metapath.o \
189f1184081SDarrick J. Wong				   nlinks.o \
1900f28b257SDarrick J. Wong				   parent.o \
1914c233b5cSDarrick J. Wong				   readdir.o \
192edc09b52SDarrick J. Wong				   refcount.o \
193c7e693d9SDarrick J. Wong				   rmap.o \
19436fd6e86SDarrick J. Wong				   scrub.o \
1952a721dbbSDarrick J. Wong				   symlink.o \
1963934e8ebSDarrick J. Wong				   xfarray.o \
1978ad34530SDarrick J. Wong				   xfblob.o \
1983934e8ebSDarrick J. Wong				   xfile.o \
19936fd6e86SDarrick J. Wong				   )
20029b0767bSDarrick J. Wong
201d7a74cadSDarrick J. Wongxfs-$(CONFIG_XFS_ONLINE_SCRUB_STATS) += scrub/stats.o
202b7d47a77SDarrick J. Wong
203b7d47a77SDarrick J. Wongxfs-$(CONFIG_XFS_RT)		+= $(addprefix scrub/, \
2043f1bdf50SDarrick J. Wong				   rgsuper.o \
205b7d47a77SDarrick J. Wong				   rtbitmap.o \
206c2792967SDarrick J. Wong				   rtrefcount.o \
2079a6cc4f6SDarrick J. Wong				   rtrmap.o \
208b7d47a77SDarrick J. Wong				   rtsummary.o \
209b7d47a77SDarrick J. Wong				   )
210b7d47a77SDarrick J. Wong
21121d75009SDarrick J. Wongxfs-$(CONFIG_XFS_QUOTA)		+= $(addprefix scrub/, \
21221d75009SDarrick J. Wong				   dqiterate.o \
21321d75009SDarrick J. Wong				   quota.o \
21448dd9117SDarrick J. Wong				   quotacheck.o \
21521d75009SDarrick J. Wong				   )
21684d42ea6SDarrick J. Wong
21784d42ea6SDarrick J. Wong# online repair
21884d42ea6SDarrick J. Wongifeq ($(CONFIG_XFS_ONLINE_REPAIR),y)
21984d42ea6SDarrick J. Wongxfs-y				+= $(addprefix scrub/, \
220d25522f1SDarrick J. Wong				   agheader_repair.o \
2214bdfd7d1SDarrick J. Wong				   alloc_repair.o \
222e47dcf11SDarrick J. Wong				   attr_repair.o \
2238f71bedeSDarrick J. Wong				   bmap_repair.o \
224dbbdbd00SDarrick J. Wong				   cow_repair.o \
225b1991ee3SDarrick J. Wong				   dir_repair.o \
2263f31406aSDarrick J. Wong				   dirtree_repair.o \
227a07b4557SDarrick J. Wong				   findparent.o \
2284ed080cdSDarrick J. Wong				   fscounters_repair.o \
229dbfbf3bdSDarrick J. Wong				   ialloc_repair.o \
2302d295fe6SDarrick J. Wong				   inode_repair.o \
231be408417SDarrick J. Wong				   newbt.o \
2326b631c60SDarrick J. Wong				   nlinks_repair.o \
2331e58a8ccSDarrick J. Wong				   orphanage.o \
234cc22edabSDarrick J. Wong				   parent_repair.o \
23518a1e644SDarrick J. Wong				   rcbag_btree.o \
2367a2192acSDarrick J. Wong				   rcbag.o \
237e06ef14bSDarrick J. Wong				   reap.o \
2389099cd38SDarrick J. Wong				   refcount_repair.o \
23984d42ea6SDarrick J. Wong				   repair.o \
24032080a9bSDarrick J. Wong				   rmap_repair.o \
2412651923dSDarrick J. Wong				   symlink_repair.o \
24284c14ee3SDarrick J. Wong				   tempfile.o \
24384d42ea6SDarrick J. Wong				   )
244ffd37b22SDarrick J. Wong
245ffd37b22SDarrick J. Wongxfs-$(CONFIG_XFS_RT)		+= $(addprefix scrub/, \
246ffd37b22SDarrick J. Wong				   rtbitmap_repair.o \
24783ccffc4SDarrick J. Wong				   rtrefcount_repair.o \
2486a849bd8SDarrick J. Wong				   rtrmap_repair.o \
249abf039e2SDarrick J. Wong				   rtsummary_repair.o \
250ffd37b22SDarrick J. Wong				   )
251a5b91555SDarrick J. Wong
252a5b91555SDarrick J. Wongxfs-$(CONFIG_XFS_QUOTA)		+= $(addprefix scrub/, \
253a5b91555SDarrick J. Wong				   quota_repair.o \
25496ed2ae4SDarrick J. Wong				   quotacheck_repair.o \
255a5b91555SDarrick J. Wong				   )
25684d42ea6SDarrick J. Wongendif
25736fd6e86SDarrick J. Wongendif
258