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