# SPDX-License-Identifier: GPL-2.0 # # Copyright (c) 2000-2005 Silicon Graphics, Inc. # All Rights Reserved. # ccflags-y += -I $(srctree)/$(src) # needed for trace events ccflags-y += -I $(srctree)/$(src)/libxfs obj-$(CONFIG_XFS_FS) += xfs.o # this one should be compiled first, as the tracing macros can easily blow up xfs-y += xfs_trace.o # build the libxfs code first xfs-y += $(addprefix libxfs/, \ xfs_ag.o \ xfs_alloc.o \ xfs_alloc_btree.o \ xfs_attr.o \ xfs_attr_leaf.o \ xfs_attr_remote.o \ xfs_bit.o \ xfs_bmap.o \ xfs_bmap_btree.o \ xfs_btree.o \ xfs_btree_staging.o \ xfs_da_btree.o \ xfs_defer.o \ xfs_dir2.o \ xfs_dir2_block.o \ xfs_dir2_data.o \ xfs_dir2_leaf.o \ xfs_dir2_node.o \ xfs_dir2_sf.o \ xfs_dquot_buf.o \ xfs_ialloc.o \ xfs_ialloc_btree.o \ xfs_iext_tree.o \ xfs_inode_fork.o \ xfs_inode_buf.o \ xfs_log_rlimit.o \ xfs_ag_resv.o \ xfs_rmap.o \ xfs_rmap_btree.o \ xfs_refcount.o \ xfs_refcount_btree.o \ xfs_sb.o \ xfs_symlink_remote.o \ xfs_trans_inode.o \ xfs_trans_resv.o \ xfs_types.o \ ) # xfs_rtbitmap is shared with libxfs xfs-$(CONFIG_XFS_RT) += $(addprefix libxfs/, \ xfs_rtbitmap.o \ ) # highlevel code xfs-y += xfs_aops.o \ xfs_attr_inactive.o \ xfs_attr_list.o \ xfs_bmap_util.o \ xfs_bio_io.o \ xfs_buf.o \ xfs_dahash_test.o \ xfs_dir2_readdir.o \ xfs_discard.o \ xfs_error.o \ xfs_export.o \ xfs_extent_busy.o \ xfs_file.o \ xfs_filestream.o \ xfs_fsmap.o \ xfs_fsops.o \ xfs_globals.o \ xfs_health.o \ xfs_icache.o \ xfs_ioctl.o \ xfs_iomap.o \ xfs_iops.o \ xfs_inode.o \ xfs_itable.o \ xfs_iwalk.o \ xfs_message.o \ xfs_mount.o \ xfs_mru_cache.o \ xfs_pwork.o \ xfs_reflink.o \ xfs_stats.o \ xfs_super.o \ xfs_symlink.o \ xfs_sysfs.o \ xfs_trans.o \ xfs_xattr.o \ kmem.o # low-level transaction/log code xfs-y += xfs_log.o \ xfs_log_cil.o \ xfs_bmap_item.o \ xfs_buf_item.o \ xfs_buf_item_recover.o \ xfs_dquot_item_recover.o \ xfs_extfree_item.o \ xfs_attr_item.o \ xfs_icreate_item.o \ xfs_inode_item.o \ xfs_inode_item_recover.o \ xfs_iunlink_item.o \ xfs_refcount_item.o \ xfs_rmap_item.o \ xfs_log_recover.o \ xfs_trans_ail.o \ xfs_trans_buf.o # optional features xfs-$(CONFIG_XFS_QUOTA) += xfs_dquot.o \ xfs_dquot_item.o \ xfs_trans_dquot.o \ xfs_qm_syscalls.o \ xfs_qm_bhv.o \ xfs_qm.o \ xfs_quotaops.o # xfs_rtbitmap is shared with libxfs xfs-$(CONFIG_XFS_RT) += xfs_rtalloc.o xfs-$(CONFIG_XFS_POSIX_ACL) += xfs_acl.o xfs-$(CONFIG_SYSCTL) += xfs_sysctl.o xfs-$(CONFIG_COMPAT) += xfs_ioctl32.o xfs-$(CONFIG_EXPORTFS_BLOCK_OPS) += xfs_pnfs.o # notify failure ifeq ($(CONFIG_MEMORY_FAILURE),y) xfs-$(CONFIG_FS_DAX) += xfs_notify_failure.o endif xfs-$(CONFIG_XFS_DRAIN_INTENTS) += xfs_drain.o # online scrub/repair ifeq ($(CONFIG_XFS_ONLINE_SCRUB),y) # Tracepoints like to blow up, so build that before everything else xfs-y += $(addprefix scrub/, \ trace.o \ agb_bitmap.o \ agheader.o \ alloc.o \ attr.o \ bitmap.o \ bmap.o \ btree.o \ common.o \ dabtree.o \ dir.o \ fscounters.o \ health.o \ ialloc.o \ inode.o \ parent.o \ readdir.o \ refcount.o \ rmap.o \ scrub.o \ symlink.o \ xfarray.o \ xfile.o \ ) xfs-$(CONFIG_XFS_ONLINE_SCRUB_STATS) += scrub/stats.o xfs-$(CONFIG_XFS_RT) += $(addprefix scrub/, \ rtbitmap.o \ rtsummary.o \ ) xfs-$(CONFIG_XFS_QUOTA) += $(addprefix scrub/, \ dqiterate.o \ quota.o \ ) # online repair ifeq ($(CONFIG_XFS_ONLINE_REPAIR),y) xfs-y += $(addprefix scrub/, \ agheader_repair.o \ alloc_repair.o \ bmap_repair.o \ cow_repair.o \ ialloc_repair.o \ inode_repair.o \ newbt.o \ reap.o \ refcount_repair.o \ repair.o \ ) xfs-$(CONFIG_XFS_RT) += $(addprefix scrub/, \ rtbitmap_repair.o \ ) endif endif