xref: /OK3568_Linux_fs/kernel/fs/xfs/Makefile (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# Copyright (c) 2000-2005 Silicon Graphics, Inc.
4*4882a593Smuzhiyun# All Rights Reserved.
5*4882a593Smuzhiyun#
6*4882a593Smuzhiyun
7*4882a593Smuzhiyunccflags-y += -I $(srctree)/$(src)		# needed for trace events
8*4882a593Smuzhiyunccflags-y += -I $(srctree)/$(src)/libxfs
9*4882a593Smuzhiyun
10*4882a593Smuzhiyunobj-$(CONFIG_XFS_FS)		+= xfs.o
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun# this one should be compiled first, as the tracing macros can easily blow up
13*4882a593Smuzhiyunxfs-y				+= xfs_trace.o
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun# build the libxfs code first
16*4882a593Smuzhiyunxfs-y				+= $(addprefix libxfs/, \
17*4882a593Smuzhiyun				   xfs_ag.o \
18*4882a593Smuzhiyun				   xfs_alloc.o \
19*4882a593Smuzhiyun				   xfs_alloc_btree.o \
20*4882a593Smuzhiyun				   xfs_attr.o \
21*4882a593Smuzhiyun				   xfs_attr_leaf.o \
22*4882a593Smuzhiyun				   xfs_attr_remote.o \
23*4882a593Smuzhiyun				   xfs_bit.o \
24*4882a593Smuzhiyun				   xfs_bmap.o \
25*4882a593Smuzhiyun				   xfs_bmap_btree.o \
26*4882a593Smuzhiyun				   xfs_btree.o \
27*4882a593Smuzhiyun				   xfs_btree_staging.o \
28*4882a593Smuzhiyun				   xfs_da_btree.o \
29*4882a593Smuzhiyun				   xfs_defer.o \
30*4882a593Smuzhiyun				   xfs_dir2.o \
31*4882a593Smuzhiyun				   xfs_dir2_block.o \
32*4882a593Smuzhiyun				   xfs_dir2_data.o \
33*4882a593Smuzhiyun				   xfs_dir2_leaf.o \
34*4882a593Smuzhiyun				   xfs_dir2_node.o \
35*4882a593Smuzhiyun				   xfs_dir2_sf.o \
36*4882a593Smuzhiyun				   xfs_dquot_buf.o \
37*4882a593Smuzhiyun				   xfs_ialloc.o \
38*4882a593Smuzhiyun				   xfs_ialloc_btree.o \
39*4882a593Smuzhiyun				   xfs_iext_tree.o \
40*4882a593Smuzhiyun				   xfs_inode_fork.o \
41*4882a593Smuzhiyun				   xfs_inode_buf.o \
42*4882a593Smuzhiyun				   xfs_log_rlimit.o \
43*4882a593Smuzhiyun				   xfs_ag_resv.o \
44*4882a593Smuzhiyun				   xfs_rmap.o \
45*4882a593Smuzhiyun				   xfs_rmap_btree.o \
46*4882a593Smuzhiyun				   xfs_refcount.o \
47*4882a593Smuzhiyun				   xfs_refcount_btree.o \
48*4882a593Smuzhiyun				   xfs_sb.o \
49*4882a593Smuzhiyun				   xfs_symlink_remote.o \
50*4882a593Smuzhiyun				   xfs_trans_inode.o \
51*4882a593Smuzhiyun				   xfs_trans_resv.o \
52*4882a593Smuzhiyun				   xfs_types.o \
53*4882a593Smuzhiyun				   )
54*4882a593Smuzhiyun# xfs_rtbitmap is shared with libxfs
55*4882a593Smuzhiyunxfs-$(CONFIG_XFS_RT)		+= $(addprefix libxfs/, \
56*4882a593Smuzhiyun				   xfs_rtbitmap.o \
57*4882a593Smuzhiyun				   )
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun# highlevel code
60*4882a593Smuzhiyunxfs-y				+= xfs_aops.o \
61*4882a593Smuzhiyun				   xfs_attr_inactive.o \
62*4882a593Smuzhiyun				   xfs_attr_list.o \
63*4882a593Smuzhiyun				   xfs_bmap_util.o \
64*4882a593Smuzhiyun				   xfs_bio_io.o \
65*4882a593Smuzhiyun				   xfs_buf.o \
66*4882a593Smuzhiyun				   xfs_dir2_readdir.o \
67*4882a593Smuzhiyun				   xfs_discard.o \
68*4882a593Smuzhiyun				   xfs_error.o \
69*4882a593Smuzhiyun				   xfs_export.o \
70*4882a593Smuzhiyun				   xfs_extent_busy.o \
71*4882a593Smuzhiyun				   xfs_file.o \
72*4882a593Smuzhiyun				   xfs_filestream.o \
73*4882a593Smuzhiyun				   xfs_fsmap.o \
74*4882a593Smuzhiyun				   xfs_fsops.o \
75*4882a593Smuzhiyun				   xfs_globals.o \
76*4882a593Smuzhiyun				   xfs_health.o \
77*4882a593Smuzhiyun				   xfs_icache.o \
78*4882a593Smuzhiyun				   xfs_ioctl.o \
79*4882a593Smuzhiyun				   xfs_iomap.o \
80*4882a593Smuzhiyun				   xfs_iops.o \
81*4882a593Smuzhiyun				   xfs_inode.o \
82*4882a593Smuzhiyun				   xfs_itable.o \
83*4882a593Smuzhiyun				   xfs_iwalk.o \
84*4882a593Smuzhiyun				   xfs_message.o \
85*4882a593Smuzhiyun				   xfs_mount.o \
86*4882a593Smuzhiyun				   xfs_mru_cache.o \
87*4882a593Smuzhiyun				   xfs_pwork.o \
88*4882a593Smuzhiyun				   xfs_reflink.o \
89*4882a593Smuzhiyun				   xfs_stats.o \
90*4882a593Smuzhiyun				   xfs_super.o \
91*4882a593Smuzhiyun				   xfs_symlink.o \
92*4882a593Smuzhiyun				   xfs_sysfs.o \
93*4882a593Smuzhiyun				   xfs_trans.o \
94*4882a593Smuzhiyun				   xfs_xattr.o \
95*4882a593Smuzhiyun				   kmem.o
96*4882a593Smuzhiyun
97*4882a593Smuzhiyun# low-level transaction/log code
98*4882a593Smuzhiyunxfs-y				+= xfs_log.o \
99*4882a593Smuzhiyun				   xfs_log_cil.o \
100*4882a593Smuzhiyun				   xfs_bmap_item.o \
101*4882a593Smuzhiyun				   xfs_buf_item.o \
102*4882a593Smuzhiyun				   xfs_buf_item_recover.o \
103*4882a593Smuzhiyun				   xfs_dquot_item_recover.o \
104*4882a593Smuzhiyun				   xfs_extfree_item.o \
105*4882a593Smuzhiyun				   xfs_icreate_item.o \
106*4882a593Smuzhiyun				   xfs_inode_item.o \
107*4882a593Smuzhiyun				   xfs_inode_item_recover.o \
108*4882a593Smuzhiyun				   xfs_refcount_item.o \
109*4882a593Smuzhiyun				   xfs_rmap_item.o \
110*4882a593Smuzhiyun				   xfs_log_recover.o \
111*4882a593Smuzhiyun				   xfs_trans_ail.o \
112*4882a593Smuzhiyun				   xfs_trans_buf.o
113*4882a593Smuzhiyun
114*4882a593Smuzhiyun# optional features
115*4882a593Smuzhiyunxfs-$(CONFIG_XFS_QUOTA)		+= xfs_dquot.o \
116*4882a593Smuzhiyun				   xfs_dquot_item.o \
117*4882a593Smuzhiyun				   xfs_trans_dquot.o \
118*4882a593Smuzhiyun				   xfs_qm_syscalls.o \
119*4882a593Smuzhiyun				   xfs_qm_bhv.o \
120*4882a593Smuzhiyun				   xfs_qm.o \
121*4882a593Smuzhiyun				   xfs_quotaops.o
122*4882a593Smuzhiyun
123*4882a593Smuzhiyun# xfs_rtbitmap is shared with libxfs
124*4882a593Smuzhiyunxfs-$(CONFIG_XFS_RT)		+= xfs_rtalloc.o
125*4882a593Smuzhiyun
126*4882a593Smuzhiyunxfs-$(CONFIG_XFS_POSIX_ACL)	+= xfs_acl.o
127*4882a593Smuzhiyunxfs-$(CONFIG_SYSCTL)		+= xfs_sysctl.o
128*4882a593Smuzhiyunxfs-$(CONFIG_COMPAT)		+= xfs_ioctl32.o
129*4882a593Smuzhiyunxfs-$(CONFIG_EXPORTFS_BLOCK_OPS)	+= xfs_pnfs.o
130*4882a593Smuzhiyun
131*4882a593Smuzhiyun# online scrub/repair
132*4882a593Smuzhiyunifeq ($(CONFIG_XFS_ONLINE_SCRUB),y)
133*4882a593Smuzhiyun
134*4882a593Smuzhiyun# Tracepoints like to blow up, so build that before everything else
135*4882a593Smuzhiyun
136*4882a593Smuzhiyunxfs-y				+= $(addprefix scrub/, \
137*4882a593Smuzhiyun				   trace.o \
138*4882a593Smuzhiyun				   agheader.o \
139*4882a593Smuzhiyun				   alloc.o \
140*4882a593Smuzhiyun				   attr.o \
141*4882a593Smuzhiyun				   bmap.o \
142*4882a593Smuzhiyun				   btree.o \
143*4882a593Smuzhiyun				   common.o \
144*4882a593Smuzhiyun				   dabtree.o \
145*4882a593Smuzhiyun				   dir.o \
146*4882a593Smuzhiyun				   fscounters.o \
147*4882a593Smuzhiyun				   health.o \
148*4882a593Smuzhiyun				   ialloc.o \
149*4882a593Smuzhiyun				   inode.o \
150*4882a593Smuzhiyun				   parent.o \
151*4882a593Smuzhiyun				   refcount.o \
152*4882a593Smuzhiyun				   rmap.o \
153*4882a593Smuzhiyun				   scrub.o \
154*4882a593Smuzhiyun				   symlink.o \
155*4882a593Smuzhiyun				   )
156*4882a593Smuzhiyun
157*4882a593Smuzhiyunxfs-$(CONFIG_XFS_RT)		+= scrub/rtbitmap.o
158*4882a593Smuzhiyunxfs-$(CONFIG_XFS_QUOTA)		+= scrub/quota.o
159*4882a593Smuzhiyun
160*4882a593Smuzhiyun# online repair
161*4882a593Smuzhiyunifeq ($(CONFIG_XFS_ONLINE_REPAIR),y)
162*4882a593Smuzhiyunxfs-y				+= $(addprefix scrub/, \
163*4882a593Smuzhiyun				   agheader_repair.o \
164*4882a593Smuzhiyun				   bitmap.o \
165*4882a593Smuzhiyun				   repair.o \
166*4882a593Smuzhiyun				   )
167*4882a593Smuzhiyunendif
168*4882a593Smuzhiyunendif
169