xref: /linux/fs/xfs/Makefile (revision 48dd9117a34fe9a34a6be0b1dba5694e0f19cbd4)
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
79cc342f6SMasahiro Yamadaccflags-y += -I $(srctree)/$(src)		# needed for trace events
89cc342f6SMasahiro Yamadaccflags-y += -I $(srctree)/$(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/, \
17b16817b6SDave Chinner				   xfs_ag.o \
1830f712c9SDave Chinner				   xfs_alloc.o \
1930f712c9SDave Chinner				   xfs_alloc_btree.o \
2030f712c9SDave Chinner				   xfs_attr.o \
2130f712c9SDave Chinner				   xfs_attr_leaf.o \
2230f712c9SDave Chinner				   xfs_attr_remote.o \
231cfc4a9cSDave Chinner				   xfs_bit.o \
2430f712c9SDave Chinner				   xfs_bmap.o \
2530f712c9SDave Chinner				   xfs_bmap_btree.o \
2630f712c9SDave Chinner				   xfs_btree.o \
27e06536a6SDarrick J. Wong				   xfs_btree_staging.o \
2830f712c9SDave Chinner				   xfs_da_btree.o \
294e0cc29bSDarrick J. Wong				   xfs_defer.o \
3030f712c9SDave Chinner				   xfs_dir2.o \
3130f712c9SDave Chinner				   xfs_dir2_block.o \
3230f712c9SDave Chinner				   xfs_dir2_data.o \
3330f712c9SDave Chinner				   xfs_dir2_leaf.o \
3430f712c9SDave Chinner				   xfs_dir2_node.o \
3530f712c9SDave Chinner				   xfs_dir2_sf.o \
3630f712c9SDave Chinner				   xfs_dquot_buf.o \
3730f712c9SDave Chinner				   xfs_ialloc.o \
3830f712c9SDave Chinner				   xfs_ialloc_btree.o \
396bdcf26aSChristoph Hellwig				   xfs_iext_tree.o \
4030f712c9SDave Chinner				   xfs_inode_fork.o \
4130f712c9SDave Chinner				   xfs_inode_buf.o \
4230f712c9SDave Chinner				   xfs_log_rlimit.o \
433fd129b6SDarrick J. Wong				   xfs_ag_resv.o \
44673930c3SDarrick J. Wong				   xfs_rmap.o \
45035e00acSDarrick J. Wong				   xfs_rmap_btree.o \
46bdf28630SDarrick J. Wong				   xfs_refcount.o \
471946b91cSDarrick J. Wong				   xfs_refcount_btree.o \
4869116a13SDave Chinner				   xfs_sb.o \
4930f712c9SDave Chinner				   xfs_symlink_remote.o \
503f6d70e8SEric Sandeen				   xfs_trans_inode.o \
5130f712c9SDave Chinner				   xfs_trans_resv.o \
5286210fbeSDave Chinner				   xfs_types.o \
5330f712c9SDave Chinner				   )
5430f712c9SDave Chinner# xfs_rtbitmap is shared with libxfs
5530f712c9SDave Chinnerxfs-$(CONFIG_XFS_RT)		+= $(addprefix libxfs/, \
5630f712c9SDave Chinner				   xfs_rtbitmap.o \
5769116a13SDave Chinner				   )
5869116a13SDave Chinner
59c59d87c4SChristoph Hellwig# highlevel code
60c59d87c4SChristoph Hellwigxfs-y				+= xfs_aops.o \
61fde2227cSDave Chinner				   xfs_attr_inactive.o \
62abec5f2bSDave Chinner				   xfs_attr_list.o \
6368988114SDave Chinner				   xfs_bmap_util.o \
646ad5b325SChristoph Hellwig				   xfs_bio_io.o \
65c59d87c4SChristoph Hellwig				   xfs_buf.o \
663cfb9290SDarrick J. Wong				   xfs_dahash_test.o \
674a8af273SDave Chinner				   xfs_dir2_readdir.o \
68c59d87c4SChristoph Hellwig				   xfs_discard.o \
69c59d87c4SChristoph Hellwig				   xfs_error.o \
70c59d87c4SChristoph Hellwig				   xfs_export.o \
71efc27b52SDave Chinner				   xfs_extent_busy.o \
72c59d87c4SChristoph Hellwig				   xfs_file.o \
73c59d87c4SChristoph Hellwig				   xfs_filestream.o \
74e89c0413SDarrick J. Wong				   xfs_fsmap.o \
75c59d87c4SChristoph Hellwig				   xfs_fsops.o \
76c59d87c4SChristoph Hellwig				   xfs_globals.o \
776772c1f1SDarrick J. Wong				   xfs_health.o \
786d8b79cfSDave Chinner				   xfs_icache.o \
79c59d87c4SChristoph Hellwig				   xfs_ioctl.o \
80c59d87c4SChristoph Hellwig				   xfs_iomap.o \
81c59d87c4SChristoph Hellwig				   xfs_iops.o \
8230f712c9SDave Chinner				   xfs_inode.o \
83c59d87c4SChristoph Hellwig				   xfs_itable.o \
84a211432cSDarrick J. Wong				   xfs_iwalk.o \
85c59d87c4SChristoph Hellwig				   xfs_message.o \
86ff55068cSDave Chinner				   xfs_mount.o \
87c59d87c4SChristoph Hellwig				   xfs_mru_cache.o \
8840786717SDarrick J. Wong				   xfs_pwork.o \
893993baebSDarrick J. Wong				   xfs_reflink.o \
90985ef4dcSDave Chinner				   xfs_stats.o \
9119de7351SDave Chinner				   xfs_super.o \
921fb7e48dSDave Chinner				   xfs_symlink.o \
93a31b1d3dSBrian Foster				   xfs_sysfs.o \
947fd36c44SDave Chinner				   xfs_trans.o \
95f078d4eaSDave Chinner				   xfs_xattr.o
96269cdfafSLachlan McIlroy
97c59d87c4SChristoph Hellwig# low-level transaction/log code
98c59d87c4SChristoph Hellwigxfs-y				+= xfs_log.o \
99c59d87c4SChristoph Hellwig				   xfs_log_cil.o \
1006413a014SDarrick J. Wong				   xfs_bmap_item.o \
101c59d87c4SChristoph Hellwig				   xfs_buf_item.o \
10286ffa471SDarrick J. Wong				   xfs_buf_item_recover.o \
10386ffa471SDarrick J. Wong				   xfs_dquot_item_recover.o \
104c59d87c4SChristoph Hellwig				   xfs_extfree_item.o \
105fd920008SAllison Henderson				   xfs_attr_item.o \
10630f712c9SDave Chinner				   xfs_icreate_item.o \
107c59d87c4SChristoph Hellwig				   xfs_inode_item.o \
10886ffa471SDarrick J. Wong				   xfs_inode_item_recover.o \
109784eb7d8SDave Chinner				   xfs_iunlink_item.o \
110baf4bcacSDarrick J. Wong				   xfs_refcount_item.o \
1115880f2d7SDarrick J. Wong				   xfs_rmap_item.o \
11230f712c9SDave Chinner				   xfs_log_recover.o \
11358b7983dSAndi Kleen				   xfs_trans_ail.o \
1143f6d70e8SEric Sandeen				   xfs_trans_buf.o
11558b7983dSAndi Kleen
116c59d87c4SChristoph Hellwig# optional features
117c59d87c4SChristoph Hellwigxfs-$(CONFIG_XFS_QUOTA)		+= xfs_dquot.o \
118c59d87c4SChristoph Hellwig				   xfs_dquot_item.o \
119c59d87c4SChristoph Hellwig				   xfs_trans_dquot.o \
120c59d87c4SChristoph Hellwig				   xfs_qm_syscalls.o \
121c59d87c4SChristoph Hellwig				   xfs_qm_bhv.o \
122c59d87c4SChristoph Hellwig				   xfs_qm.o \
123c59d87c4SChristoph Hellwig				   xfs_quotaops.o
124c963c619SDave Chinner
125c963c619SDave Chinner# xfs_rtbitmap is shared with libxfs
12630f712c9SDave Chinnerxfs-$(CONFIG_XFS_RT)		+= xfs_rtalloc.o
127c963c619SDave Chinner
128c59d87c4SChristoph Hellwigxfs-$(CONFIG_XFS_POSIX_ACL)	+= xfs_acl.o
129c59d87c4SChristoph Hellwigxfs-$(CONFIG_SYSCTL)		+= xfs_sysctl.o
130c59d87c4SChristoph Hellwigxfs-$(CONFIG_COMPAT)		+= xfs_ioctl32.o
13115d66ac2SBenjamin Coddingtonxfs-$(CONFIG_EXPORTFS_BLOCK_OPS)	+= xfs_pnfs.o
13236fd6e86SDarrick J. Wong
1336f643c57SShiyang Ruan# notify failure
1346f643c57SShiyang Ruanifeq ($(CONFIG_MEMORY_FAILURE),y)
1356f643c57SShiyang Ruanxfs-$(CONFIG_FS_DAX)		+= xfs_notify_failure.o
1366f643c57SShiyang Ruanendif
1376f643c57SShiyang Ruan
138d5c88131SDarrick J. Wongxfs-$(CONFIG_XFS_DRAIN_INTENTS)	+= xfs_drain.o
1394e98cc90SDarrick J. Wongxfs-$(CONFIG_XFS_LIVE_HOOKS)	+= xfs_hooks.o
140d5c88131SDarrick 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 \
1480f08af0fSDarrick J. Wong				   agb_bitmap.o \
14921fb4cb1SDarrick J. Wong				   agheader.o \
150efa7a99cSDarrick J. Wong				   alloc.o \
151eec0482eSDarrick J. Wong				   attr.o \
152fed050f3SDarrick J. Wong				   bitmap.o \
15399d9d8d0SDarrick J. Wong				   bmap.o \
154537964bcSDarrick J. Wong				   btree.o \
155dcb660f9SDarrick J. Wong				   common.o \
1567c4a07a4SDarrick J. Wong				   dabtree.o \
157a5c46e5eSDarrick J. Wong				   dir.o \
15875efa57dSDarrick J. Wong				   fscounters.o \
1594860a05dSDarrick J. Wong				   health.o \
1603daa6641SDarrick J. Wong				   ialloc.o \
16180e4e126SDarrick J. Wong				   inode.o \
1628660c7b7SDarrick J. Wong				   iscan.o \
1630f28b257SDarrick J. Wong				   parent.o \
1644c233b5cSDarrick J. Wong				   readdir.o \
165edc09b52SDarrick J. Wong				   refcount.o \
166c7e693d9SDarrick J. Wong				   rmap.o \
16736fd6e86SDarrick J. Wong				   scrub.o \
1682a721dbbSDarrick J. Wong				   symlink.o \
1693934e8ebSDarrick J. Wong				   xfarray.o \
1703934e8ebSDarrick J. Wong				   xfile.o \
17136fd6e86SDarrick J. Wong				   )
17229b0767bSDarrick J. Wong
173d7a74cadSDarrick J. Wongxfs-$(CONFIG_XFS_ONLINE_SCRUB_STATS) += scrub/stats.o
174b7d47a77SDarrick J. Wong
175b7d47a77SDarrick J. Wongxfs-$(CONFIG_XFS_RT)		+= $(addprefix scrub/, \
176b7d47a77SDarrick J. Wong				   rtbitmap.o \
177b7d47a77SDarrick J. Wong				   rtsummary.o \
178b7d47a77SDarrick J. Wong				   )
179b7d47a77SDarrick J. Wong
18021d75009SDarrick J. Wongxfs-$(CONFIG_XFS_QUOTA)		+= $(addprefix scrub/, \
18121d75009SDarrick J. Wong				   dqiterate.o \
18221d75009SDarrick J. Wong				   quota.o \
183*48dd9117SDarrick J. Wong				   quotacheck.o \
18421d75009SDarrick J. Wong				   )
18584d42ea6SDarrick J. Wong
18684d42ea6SDarrick J. Wong# online repair
18784d42ea6SDarrick J. Wongifeq ($(CONFIG_XFS_ONLINE_REPAIR),y)
18884d42ea6SDarrick J. Wongxfs-y				+= $(addprefix scrub/, \
189d25522f1SDarrick J. Wong				   agheader_repair.o \
1904bdfd7d1SDarrick J. Wong				   alloc_repair.o \
1918f71bedeSDarrick J. Wong				   bmap_repair.o \
192dbbdbd00SDarrick J. Wong				   cow_repair.o \
193dbfbf3bdSDarrick J. Wong				   ialloc_repair.o \
1942d295fe6SDarrick J. Wong				   inode_repair.o \
195be408417SDarrick J. Wong				   newbt.o \
196e06ef14bSDarrick J. Wong				   reap.o \
1979099cd38SDarrick J. Wong				   refcount_repair.o \
19884d42ea6SDarrick J. Wong				   repair.o \
19984d42ea6SDarrick J. Wong				   )
200ffd37b22SDarrick J. Wong
201ffd37b22SDarrick J. Wongxfs-$(CONFIG_XFS_RT)		+= $(addprefix scrub/, \
202ffd37b22SDarrick J. Wong				   rtbitmap_repair.o \
203ffd37b22SDarrick J. Wong				   )
204a5b91555SDarrick J. Wong
205a5b91555SDarrick J. Wongxfs-$(CONFIG_XFS_QUOTA)		+= $(addprefix scrub/, \
206a5b91555SDarrick J. Wong				   quota_repair.o \
207a5b91555SDarrick J. Wong				   )
20884d42ea6SDarrick J. Wongendif
20936fd6e86SDarrick J. Wongendif
210