18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# Copyright (c) 2000-2005 Silicon Graphics, Inc.
48c2ecf20Sopenharmony_ci# All Rights Reserved.
58c2ecf20Sopenharmony_ci#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ciccflags-y += -I $(srctree)/$(src)		# needed for trace events
88c2ecf20Sopenharmony_ciccflags-y += -I $(srctree)/$(src)/libxfs
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ciobj-$(CONFIG_XFS_FS)		+= xfs.o
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci# this one should be compiled first, as the tracing macros can easily blow up
138c2ecf20Sopenharmony_cixfs-y				+= xfs_trace.o
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci# build the libxfs code first
168c2ecf20Sopenharmony_cixfs-y				+= $(addprefix libxfs/, \
178c2ecf20Sopenharmony_ci				   xfs_ag.o \
188c2ecf20Sopenharmony_ci				   xfs_alloc.o \
198c2ecf20Sopenharmony_ci				   xfs_alloc_btree.o \
208c2ecf20Sopenharmony_ci				   xfs_attr.o \
218c2ecf20Sopenharmony_ci				   xfs_attr_leaf.o \
228c2ecf20Sopenharmony_ci				   xfs_attr_remote.o \
238c2ecf20Sopenharmony_ci				   xfs_bit.o \
248c2ecf20Sopenharmony_ci				   xfs_bmap.o \
258c2ecf20Sopenharmony_ci				   xfs_bmap_btree.o \
268c2ecf20Sopenharmony_ci				   xfs_btree.o \
278c2ecf20Sopenharmony_ci				   xfs_btree_staging.o \
288c2ecf20Sopenharmony_ci				   xfs_da_btree.o \
298c2ecf20Sopenharmony_ci				   xfs_defer.o \
308c2ecf20Sopenharmony_ci				   xfs_dir2.o \
318c2ecf20Sopenharmony_ci				   xfs_dir2_block.o \
328c2ecf20Sopenharmony_ci				   xfs_dir2_data.o \
338c2ecf20Sopenharmony_ci				   xfs_dir2_leaf.o \
348c2ecf20Sopenharmony_ci				   xfs_dir2_node.o \
358c2ecf20Sopenharmony_ci				   xfs_dir2_sf.o \
368c2ecf20Sopenharmony_ci				   xfs_dquot_buf.o \
378c2ecf20Sopenharmony_ci				   xfs_ialloc.o \
388c2ecf20Sopenharmony_ci				   xfs_ialloc_btree.o \
398c2ecf20Sopenharmony_ci				   xfs_iext_tree.o \
408c2ecf20Sopenharmony_ci				   xfs_inode_fork.o \
418c2ecf20Sopenharmony_ci				   xfs_inode_buf.o \
428c2ecf20Sopenharmony_ci				   xfs_log_rlimit.o \
438c2ecf20Sopenharmony_ci				   xfs_ag_resv.o \
448c2ecf20Sopenharmony_ci				   xfs_rmap.o \
458c2ecf20Sopenharmony_ci				   xfs_rmap_btree.o \
468c2ecf20Sopenharmony_ci				   xfs_refcount.o \
478c2ecf20Sopenharmony_ci				   xfs_refcount_btree.o \
488c2ecf20Sopenharmony_ci				   xfs_sb.o \
498c2ecf20Sopenharmony_ci				   xfs_symlink_remote.o \
508c2ecf20Sopenharmony_ci				   xfs_trans_inode.o \
518c2ecf20Sopenharmony_ci				   xfs_trans_resv.o \
528c2ecf20Sopenharmony_ci				   xfs_types.o \
538c2ecf20Sopenharmony_ci				   )
548c2ecf20Sopenharmony_ci# xfs_rtbitmap is shared with libxfs
558c2ecf20Sopenharmony_cixfs-$(CONFIG_XFS_RT)		+= $(addprefix libxfs/, \
568c2ecf20Sopenharmony_ci				   xfs_rtbitmap.o \
578c2ecf20Sopenharmony_ci				   )
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ci# highlevel code
608c2ecf20Sopenharmony_cixfs-y				+= xfs_aops.o \
618c2ecf20Sopenharmony_ci				   xfs_attr_inactive.o \
628c2ecf20Sopenharmony_ci				   xfs_attr_list.o \
638c2ecf20Sopenharmony_ci				   xfs_bmap_util.o \
648c2ecf20Sopenharmony_ci				   xfs_bio_io.o \
658c2ecf20Sopenharmony_ci				   xfs_buf.o \
668c2ecf20Sopenharmony_ci				   xfs_dir2_readdir.o \
678c2ecf20Sopenharmony_ci				   xfs_discard.o \
688c2ecf20Sopenharmony_ci				   xfs_error.o \
698c2ecf20Sopenharmony_ci				   xfs_export.o \
708c2ecf20Sopenharmony_ci				   xfs_extent_busy.o \
718c2ecf20Sopenharmony_ci				   xfs_file.o \
728c2ecf20Sopenharmony_ci				   xfs_filestream.o \
738c2ecf20Sopenharmony_ci				   xfs_fsmap.o \
748c2ecf20Sopenharmony_ci				   xfs_fsops.o \
758c2ecf20Sopenharmony_ci				   xfs_globals.o \
768c2ecf20Sopenharmony_ci				   xfs_health.o \
778c2ecf20Sopenharmony_ci				   xfs_icache.o \
788c2ecf20Sopenharmony_ci				   xfs_ioctl.o \
798c2ecf20Sopenharmony_ci				   xfs_iomap.o \
808c2ecf20Sopenharmony_ci				   xfs_iops.o \
818c2ecf20Sopenharmony_ci				   xfs_inode.o \
828c2ecf20Sopenharmony_ci				   xfs_itable.o \
838c2ecf20Sopenharmony_ci				   xfs_iwalk.o \
848c2ecf20Sopenharmony_ci				   xfs_message.o \
858c2ecf20Sopenharmony_ci				   xfs_mount.o \
868c2ecf20Sopenharmony_ci				   xfs_mru_cache.o \
878c2ecf20Sopenharmony_ci				   xfs_pwork.o \
888c2ecf20Sopenharmony_ci				   xfs_reflink.o \
898c2ecf20Sopenharmony_ci				   xfs_stats.o \
908c2ecf20Sopenharmony_ci				   xfs_super.o \
918c2ecf20Sopenharmony_ci				   xfs_symlink.o \
928c2ecf20Sopenharmony_ci				   xfs_sysfs.o \
938c2ecf20Sopenharmony_ci				   xfs_trans.o \
948c2ecf20Sopenharmony_ci				   xfs_xattr.o \
958c2ecf20Sopenharmony_ci				   kmem.o
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ci# low-level transaction/log code
988c2ecf20Sopenharmony_cixfs-y				+= xfs_log.o \
998c2ecf20Sopenharmony_ci				   xfs_log_cil.o \
1008c2ecf20Sopenharmony_ci				   xfs_bmap_item.o \
1018c2ecf20Sopenharmony_ci				   xfs_buf_item.o \
1028c2ecf20Sopenharmony_ci				   xfs_buf_item_recover.o \
1038c2ecf20Sopenharmony_ci				   xfs_dquot_item_recover.o \
1048c2ecf20Sopenharmony_ci				   xfs_extfree_item.o \
1058c2ecf20Sopenharmony_ci				   xfs_icreate_item.o \
1068c2ecf20Sopenharmony_ci				   xfs_inode_item.o \
1078c2ecf20Sopenharmony_ci				   xfs_inode_item_recover.o \
1088c2ecf20Sopenharmony_ci				   xfs_refcount_item.o \
1098c2ecf20Sopenharmony_ci				   xfs_rmap_item.o \
1108c2ecf20Sopenharmony_ci				   xfs_log_recover.o \
1118c2ecf20Sopenharmony_ci				   xfs_trans_ail.o \
1128c2ecf20Sopenharmony_ci				   xfs_trans_buf.o
1138c2ecf20Sopenharmony_ci
1148c2ecf20Sopenharmony_ci# optional features
1158c2ecf20Sopenharmony_cixfs-$(CONFIG_XFS_QUOTA)		+= xfs_dquot.o \
1168c2ecf20Sopenharmony_ci				   xfs_dquot_item.o \
1178c2ecf20Sopenharmony_ci				   xfs_trans_dquot.o \
1188c2ecf20Sopenharmony_ci				   xfs_qm_syscalls.o \
1198c2ecf20Sopenharmony_ci				   xfs_qm_bhv.o \
1208c2ecf20Sopenharmony_ci				   xfs_qm.o \
1218c2ecf20Sopenharmony_ci				   xfs_quotaops.o
1228c2ecf20Sopenharmony_ci
1238c2ecf20Sopenharmony_ci# xfs_rtbitmap is shared with libxfs
1248c2ecf20Sopenharmony_cixfs-$(CONFIG_XFS_RT)		+= xfs_rtalloc.o
1258c2ecf20Sopenharmony_ci
1268c2ecf20Sopenharmony_cixfs-$(CONFIG_XFS_POSIX_ACL)	+= xfs_acl.o
1278c2ecf20Sopenharmony_cixfs-$(CONFIG_SYSCTL)		+= xfs_sysctl.o
1288c2ecf20Sopenharmony_cixfs-$(CONFIG_COMPAT)		+= xfs_ioctl32.o
1298c2ecf20Sopenharmony_cixfs-$(CONFIG_EXPORTFS_BLOCK_OPS)	+= xfs_pnfs.o
1308c2ecf20Sopenharmony_ci
1318c2ecf20Sopenharmony_ci# online scrub/repair
1328c2ecf20Sopenharmony_ciifeq ($(CONFIG_XFS_ONLINE_SCRUB),y)
1338c2ecf20Sopenharmony_ci
1348c2ecf20Sopenharmony_ci# Tracepoints like to blow up, so build that before everything else
1358c2ecf20Sopenharmony_ci
1368c2ecf20Sopenharmony_cixfs-y				+= $(addprefix scrub/, \
1378c2ecf20Sopenharmony_ci				   trace.o \
1388c2ecf20Sopenharmony_ci				   agheader.o \
1398c2ecf20Sopenharmony_ci				   alloc.o \
1408c2ecf20Sopenharmony_ci				   attr.o \
1418c2ecf20Sopenharmony_ci				   bmap.o \
1428c2ecf20Sopenharmony_ci				   btree.o \
1438c2ecf20Sopenharmony_ci				   common.o \
1448c2ecf20Sopenharmony_ci				   dabtree.o \
1458c2ecf20Sopenharmony_ci				   dir.o \
1468c2ecf20Sopenharmony_ci				   fscounters.o \
1478c2ecf20Sopenharmony_ci				   health.o \
1488c2ecf20Sopenharmony_ci				   ialloc.o \
1498c2ecf20Sopenharmony_ci				   inode.o \
1508c2ecf20Sopenharmony_ci				   parent.o \
1518c2ecf20Sopenharmony_ci				   refcount.o \
1528c2ecf20Sopenharmony_ci				   rmap.o \
1538c2ecf20Sopenharmony_ci				   scrub.o \
1548c2ecf20Sopenharmony_ci				   symlink.o \
1558c2ecf20Sopenharmony_ci				   )
1568c2ecf20Sopenharmony_ci
1578c2ecf20Sopenharmony_cixfs-$(CONFIG_XFS_RT)		+= scrub/rtbitmap.o
1588c2ecf20Sopenharmony_cixfs-$(CONFIG_XFS_QUOTA)		+= scrub/quota.o
1598c2ecf20Sopenharmony_ci
1608c2ecf20Sopenharmony_ci# online repair
1618c2ecf20Sopenharmony_ciifeq ($(CONFIG_XFS_ONLINE_REPAIR),y)
1628c2ecf20Sopenharmony_cixfs-y				+= $(addprefix scrub/, \
1638c2ecf20Sopenharmony_ci				   agheader_repair.o \
1648c2ecf20Sopenharmony_ci				   bitmap.o \
1658c2ecf20Sopenharmony_ci				   repair.o \
1668c2ecf20Sopenharmony_ci				   )
1678c2ecf20Sopenharmony_ciendif
1688c2ecf20Sopenharmony_ciendif
169