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