xref: /linux/fs/xfs/Makefile (revision 7f71507851fc7764b36a3221839607d3a45c2025)
1# SPDX-License-Identifier: GPL-2.0
2#
3# Copyright (c) 2000-2005 Silicon Graphics, Inc.
4# All Rights Reserved.
5#
6
7ccflags-y += -I $(src)		# needed for trace events
8ccflags-y += -I $(src)/libxfs
9
10obj-$(CONFIG_XFS_FS)		+= xfs.o
11
12# this one should be compiled first, as the tracing macros can easily blow up
13xfs-y				+= xfs_trace.o
14
15# build the libxfs code first
16xfs-y				+= $(addprefix libxfs/, \
17				   xfs_group.o \
18				   xfs_ag.o \
19				   xfs_ag_resv.o \
20				   xfs_alloc.o \
21				   xfs_alloc_btree.o \
22				   xfs_attr.o \
23				   xfs_attr_leaf.o \
24				   xfs_attr_remote.o \
25				   xfs_bit.o \
26				   xfs_bmap.o \
27				   xfs_bmap_btree.o \
28				   xfs_btree.o \
29				   xfs_btree_staging.o \
30				   xfs_da_btree.o \
31				   xfs_defer.o \
32				   xfs_dir2.o \
33				   xfs_dir2_block.o \
34				   xfs_dir2_data.o \
35				   xfs_dir2_leaf.o \
36				   xfs_dir2_node.o \
37				   xfs_dir2_sf.o \
38				   xfs_dquot_buf.o \
39				   xfs_exchmaps.o \
40				   xfs_ialloc.o \
41				   xfs_ialloc_btree.o \
42				   xfs_iext_tree.o \
43				   xfs_inode_fork.o \
44				   xfs_inode_buf.o \
45				   xfs_inode_util.o \
46				   xfs_log_rlimit.o \
47				   xfs_metadir.o \
48				   xfs_metafile.o \
49				   xfs_parent.o \
50				   xfs_rmap.o \
51				   xfs_rmap_btree.o \
52				   xfs_refcount.o \
53				   xfs_refcount_btree.o \
54				   xfs_sb.o \
55				   xfs_symlink_remote.o \
56				   xfs_trans_inode.o \
57				   xfs_trans_resv.o \
58				   xfs_trans_space.o \
59				   xfs_types.o \
60				   )
61# xfs_rtbitmap is shared with libxfs
62xfs-$(CONFIG_XFS_RT)		+= $(addprefix libxfs/, \
63				   xfs_rtbitmap.o \
64				   xfs_rtgroup.o \
65				   )
66
67# highlevel code
68xfs-y				+= xfs_aops.o \
69				   xfs_attr_inactive.o \
70				   xfs_attr_list.o \
71				   xfs_bmap_util.o \
72				   xfs_bio_io.o \
73				   xfs_buf.o \
74				   xfs_dahash_test.o \
75				   xfs_dir2_readdir.o \
76				   xfs_discard.o \
77				   xfs_error.o \
78				   xfs_exchrange.o \
79				   xfs_export.o \
80				   xfs_extent_busy.o \
81				   xfs_file.o \
82				   xfs_filestream.o \
83				   xfs_fsmap.o \
84				   xfs_fsops.o \
85				   xfs_globals.o \
86				   xfs_handle.o \
87				   xfs_health.o \
88				   xfs_icache.o \
89				   xfs_ioctl.o \
90				   xfs_iomap.o \
91				   xfs_iops.o \
92				   xfs_inode.o \
93				   xfs_itable.o \
94				   xfs_iwalk.o \
95				   xfs_message.o \
96				   xfs_mount.o \
97				   xfs_mru_cache.o \
98				   xfs_pwork.o \
99				   xfs_reflink.o \
100				   xfs_stats.o \
101				   xfs_super.o \
102				   xfs_symlink.o \
103				   xfs_sysfs.o \
104				   xfs_trans.o \
105				   xfs_xattr.o
106
107# low-level transaction/log code
108xfs-y				+= xfs_log.o \
109				   xfs_log_cil.o \
110				   xfs_bmap_item.o \
111				   xfs_buf_item.o \
112				   xfs_buf_item_recover.o \
113				   xfs_dquot_item_recover.o \
114				   xfs_exchmaps_item.o \
115				   xfs_extfree_item.o \
116				   xfs_attr_item.o \
117				   xfs_icreate_item.o \
118				   xfs_inode_item.o \
119				   xfs_inode_item_recover.o \
120				   xfs_iunlink_item.o \
121				   xfs_refcount_item.o \
122				   xfs_rmap_item.o \
123				   xfs_log_recover.o \
124				   xfs_trans_ail.o \
125				   xfs_trans_buf.o
126
127# optional features
128xfs-$(CONFIG_XFS_QUOTA)		+= xfs_dquot.o \
129				   xfs_dquot_item.o \
130				   xfs_trans_dquot.o \
131				   xfs_qm_syscalls.o \
132				   xfs_qm_bhv.o \
133				   xfs_qm.o \
134				   xfs_quotaops.o
135
136# xfs_rtbitmap is shared with libxfs
137xfs-$(CONFIG_XFS_RT)		+= xfs_rtalloc.o
138
139xfs-$(CONFIG_XFS_POSIX_ACL)	+= xfs_acl.o
140xfs-$(CONFIG_SYSCTL)		+= xfs_sysctl.o
141xfs-$(CONFIG_COMPAT)		+= xfs_ioctl32.o
142xfs-$(CONFIG_EXPORTFS_BLOCK_OPS)	+= xfs_pnfs.o
143
144# notify failure
145ifeq ($(CONFIG_MEMORY_FAILURE),y)
146xfs-$(CONFIG_FS_DAX)		+= xfs_notify_failure.o
147endif
148
149xfs-$(CONFIG_XFS_DRAIN_INTENTS)	+= xfs_drain.o
150xfs-$(CONFIG_XFS_LIVE_HOOKS)	+= xfs_hooks.o
151xfs-$(CONFIG_XFS_MEMORY_BUFS)	+= xfs_buf_mem.o
152xfs-$(CONFIG_XFS_BTREE_IN_MEM)	+= libxfs/xfs_btree_mem.o
153
154# online scrub/repair
155ifeq ($(CONFIG_XFS_ONLINE_SCRUB),y)
156
157# Tracepoints like to blow up, so build that before everything else
158
159xfs-y				+= $(addprefix scrub/, \
160				   trace.o \
161				   agb_bitmap.o \
162				   agheader.o \
163				   alloc.o \
164				   attr.o \
165				   bitmap.o \
166				   bmap.o \
167				   btree.o \
168				   common.o \
169				   dabtree.o \
170				   dir.o \
171				   dirtree.o \
172				   fscounters.o \
173				   health.o \
174				   ialloc.o \
175				   inode.o \
176				   iscan.o \
177				   listxattr.o \
178				   metapath.o \
179				   nlinks.o \
180				   parent.o \
181				   readdir.o \
182				   refcount.o \
183				   rmap.o \
184				   scrub.o \
185				   symlink.o \
186				   xfarray.o \
187				   xfblob.o \
188				   xfile.o \
189				   )
190
191xfs-$(CONFIG_XFS_ONLINE_SCRUB_STATS) += scrub/stats.o
192
193xfs-$(CONFIG_XFS_RT)		+= $(addprefix scrub/, \
194				   rgsuper.o \
195				   rtbitmap.o \
196				   rtsummary.o \
197				   )
198
199xfs-$(CONFIG_XFS_QUOTA)		+= $(addprefix scrub/, \
200				   dqiterate.o \
201				   quota.o \
202				   quotacheck.o \
203				   )
204
205# online repair
206ifeq ($(CONFIG_XFS_ONLINE_REPAIR),y)
207xfs-y				+= $(addprefix scrub/, \
208				   agheader_repair.o \
209				   alloc_repair.o \
210				   attr_repair.o \
211				   bmap_repair.o \
212				   cow_repair.o \
213				   dir_repair.o \
214				   dirtree_repair.o \
215				   findparent.o \
216				   fscounters_repair.o \
217				   ialloc_repair.o \
218				   inode_repair.o \
219				   newbt.o \
220				   nlinks_repair.o \
221				   orphanage.o \
222				   parent_repair.o \
223				   rcbag_btree.o \
224				   rcbag.o \
225				   reap.o \
226				   refcount_repair.o \
227				   repair.o \
228				   rmap_repair.o \
229				   symlink_repair.o \
230				   tempfile.o \
231				   )
232
233xfs-$(CONFIG_XFS_RT)		+= $(addprefix scrub/, \
234				   rtbitmap_repair.o \
235				   rtsummary_repair.o \
236				   )
237
238xfs-$(CONFIG_XFS_QUOTA)		+= $(addprefix scrub/, \
239				   quota_repair.o \
240				   quotacheck_repair.o \
241				   )
242endif
243endif
244