10b61f8a4SDave Chinner# SPDX-License-Identifier: GPL-2.0 258b7983dSAndi Kleen# 358b7983dSAndi Kleen# Copyright (c) 2000-2005 Silicon Graphics, Inc. 458b7983dSAndi Kleen# All Rights Reserved. 558b7983dSAndi Kleen# 658b7983dSAndi Kleen 7b1992c37SMasahiro Yamadaccflags-y += -I $(src) # needed for trace events 8b1992c37SMasahiro Yamadaccflags-y += -I $(src)/libxfs 9b6bede3bSChristoph Hellwig 1058b7983dSAndi Kleenobj-$(CONFIG_XFS_FS) += xfs.o 11269cdfafSLachlan McIlroy 12c59d87c4SChristoph Hellwig# this one should be compiled first, as the tracing macros can easily blow up 13c59d87c4SChristoph Hellwigxfs-y += xfs_trace.o 140b1b213fSChristoph Hellwig 1569116a13SDave Chinner# build the libxfs code first 1669116a13SDave Chinnerxfs-y += $(addprefix libxfs/, \ 17e9c4d8bfSChristoph Hellwig xfs_group.o \ 18b16817b6SDave Chinner xfs_ag.o \ 195d9b54a4SDarrick J. Wong xfs_ag_resv.o \ 2030f712c9SDave Chinner xfs_alloc.o \ 2130f712c9SDave Chinner xfs_alloc_btree.o \ 2230f712c9SDave Chinner xfs_attr.o \ 2330f712c9SDave Chinner xfs_attr_leaf.o \ 2430f712c9SDave Chinner xfs_attr_remote.o \ 251cfc4a9cSDave Chinner xfs_bit.o \ 2630f712c9SDave Chinner xfs_bmap.o \ 2730f712c9SDave Chinner xfs_bmap_btree.o \ 2830f712c9SDave Chinner xfs_btree.o \ 29e06536a6SDarrick J. Wong xfs_btree_staging.o \ 3030f712c9SDave Chinner xfs_da_btree.o \ 314e0cc29bSDarrick J. Wong xfs_defer.o \ 3230f712c9SDave Chinner xfs_dir2.o \ 3330f712c9SDave Chinner xfs_dir2_block.o \ 3430f712c9SDave Chinner xfs_dir2_data.o \ 3530f712c9SDave Chinner xfs_dir2_leaf.o \ 3630f712c9SDave Chinner xfs_dir2_node.o \ 3730f712c9SDave Chinner xfs_dir2_sf.o \ 3830f712c9SDave Chinner xfs_dquot_buf.o \ 39966ceafcSDarrick J. Wong xfs_exchmaps.o \ 4030f712c9SDave Chinner xfs_ialloc.o \ 4130f712c9SDave Chinner xfs_ialloc_btree.o \ 426bdcf26aSChristoph Hellwig xfs_iext_tree.o \ 4330f712c9SDave Chinner xfs_inode_fork.o \ 4430f712c9SDave Chinner xfs_inode_buf.o \ 45b7c477beSDarrick J. Wong xfs_inode_util.o \ 4630f712c9SDave Chinner xfs_log_rlimit.o \ 475d9b54a4SDarrick J. Wong xfs_metadir.o \ 485d9b54a4SDarrick J. Wong xfs_metafile.o \ 49a08d6729SAllison Henderson xfs_parent.o \ 50673930c3SDarrick J. Wong xfs_rmap.o \ 51035e00acSDarrick J. Wong xfs_rmap_btree.o \ 52bdf28630SDarrick J. Wong xfs_refcount.o \ 531946b91cSDarrick J. Wong xfs_refcount_btree.o \ 549abe03a0SDarrick J. Wong xfs_rtrefcount_btree.o \ 55fc6856c6SDarrick J. Wong xfs_rtrmap_btree.o \ 5669116a13SDave Chinner xfs_sb.o \ 5730f712c9SDave Chinner xfs_symlink_remote.o \ 583f6d70e8SEric Sandeen xfs_trans_inode.o \ 5930f712c9SDave Chinner xfs_trans_resv.o \ 60b7c62d90SAllison Henderson xfs_trans_space.o \ 6186210fbeSDave Chinner xfs_types.o \ 6230f712c9SDave Chinner ) 6330f712c9SDave Chinner# xfs_rtbitmap is shared with libxfs 6430f712c9SDave Chinnerxfs-$(CONFIG_XFS_RT) += $(addprefix libxfs/, \ 6530f712c9SDave Chinner xfs_rtbitmap.o \ 6687fe4c34SDarrick J. Wong xfs_rtgroup.o \ 67720c2d58SChristoph Hellwig xfs_zones.o \ 6869116a13SDave Chinner ) 6969116a13SDave Chinner 70c59d87c4SChristoph Hellwig# highlevel code 71c59d87c4SChristoph Hellwigxfs-y += xfs_aops.o \ 72fde2227cSDave Chinner xfs_attr_inactive.o \ 73abec5f2bSDave Chinner xfs_attr_list.o \ 7468988114SDave Chinner xfs_bmap_util.o \ 756ad5b325SChristoph Hellwig xfs_bio_io.o \ 76c59d87c4SChristoph Hellwig xfs_buf.o \ 773cfb9290SDarrick J. Wong xfs_dahash_test.o \ 784a8af273SDave Chinner xfs_dir2_readdir.o \ 79c59d87c4SChristoph Hellwig xfs_discard.o \ 80c59d87c4SChristoph Hellwig xfs_error.o \ 819a64d9b3SDarrick J. Wong xfs_exchrange.o \ 82c59d87c4SChristoph Hellwig xfs_export.o \ 83efc27b52SDave Chinner xfs_extent_busy.o \ 84c59d87c4SChristoph Hellwig xfs_file.o \ 85c59d87c4SChristoph Hellwig xfs_filestream.o \ 86e89c0413SDarrick J. Wong xfs_fsmap.o \ 87c59d87c4SChristoph Hellwig xfs_fsops.o \ 88c59d87c4SChristoph Hellwig xfs_globals.o \ 89af69d852SDarrick J. Wong xfs_handle.o \ 906772c1f1SDarrick J. Wong xfs_health.o \ 916d8b79cfSDave Chinner xfs_icache.o \ 92c59d87c4SChristoph Hellwig xfs_ioctl.o \ 93c59d87c4SChristoph Hellwig xfs_iomap.o \ 94c59d87c4SChristoph Hellwig xfs_iops.o \ 9530f712c9SDave Chinner xfs_inode.o \ 96c59d87c4SChristoph Hellwig xfs_itable.o \ 97a211432cSDarrick J. Wong xfs_iwalk.o \ 98c59d87c4SChristoph Hellwig xfs_message.o \ 99ff55068cSDave Chinner xfs_mount.o \ 100c59d87c4SChristoph Hellwig xfs_mru_cache.o \ 10140786717SDarrick J. Wong xfs_pwork.o \ 1023993baebSDarrick J. Wong xfs_reflink.o \ 103985ef4dcSDave Chinner xfs_stats.o \ 10419de7351SDave Chinner xfs_super.o \ 1051fb7e48dSDave Chinner xfs_symlink.o \ 106a31b1d3dSBrian Foster xfs_sysfs.o \ 1077fd36c44SDave Chinner xfs_trans.o \ 108f078d4eaSDave Chinner xfs_xattr.o 109269cdfafSLachlan McIlroy 110c59d87c4SChristoph Hellwig# low-level transaction/log code 111c59d87c4SChristoph Hellwigxfs-y += xfs_log.o \ 112c59d87c4SChristoph Hellwig xfs_log_cil.o \ 1136413a014SDarrick J. Wong xfs_bmap_item.o \ 114c59d87c4SChristoph Hellwig xfs_buf_item.o \ 11586ffa471SDarrick J. Wong xfs_buf_item_recover.o \ 11686ffa471SDarrick J. Wong xfs_dquot_item_recover.o \ 1176c08f434SDarrick J. Wong xfs_exchmaps_item.o \ 118c59d87c4SChristoph Hellwig xfs_extfree_item.o \ 119fd920008SAllison Henderson xfs_attr_item.o \ 12030f712c9SDave Chinner xfs_icreate_item.o \ 121c59d87c4SChristoph Hellwig xfs_inode_item.o \ 12286ffa471SDarrick J. Wong xfs_inode_item_recover.o \ 123784eb7d8SDave Chinner xfs_iunlink_item.o \ 124baf4bcacSDarrick J. Wong xfs_refcount_item.o \ 1255880f2d7SDarrick J. Wong xfs_rmap_item.o \ 12630f712c9SDave Chinner xfs_log_recover.o \ 12758b7983dSAndi Kleen xfs_trans_ail.o \ 1283f6d70e8SEric Sandeen xfs_trans_buf.o 12958b7983dSAndi Kleen 130c59d87c4SChristoph Hellwig# optional features 131c59d87c4SChristoph Hellwigxfs-$(CONFIG_XFS_QUOTA) += xfs_dquot.o \ 132c59d87c4SChristoph Hellwig xfs_dquot_item.o \ 133c59d87c4SChristoph Hellwig xfs_trans_dquot.o \ 134c59d87c4SChristoph Hellwig xfs_qm_syscalls.o \ 135c59d87c4SChristoph Hellwig xfs_qm_bhv.o \ 136c59d87c4SChristoph Hellwig xfs_qm.o \ 137c59d87c4SChristoph Hellwig xfs_quotaops.o 138c963c619SDave Chinner 139c963c619SDave Chinner# xfs_rtbitmap is shared with libxfs 1404e4d5207SChristoph Hellwigxfs-$(CONFIG_XFS_RT) += xfs_rtalloc.o \ 1410bb21930SChristoph Hellwig xfs_zone_alloc.o \ 142080d01c4SChristoph Hellwig xfs_zone_gc.o \ 143*5443041bSHans Holmberg xfs_zone_info.o \ 1440bb21930SChristoph Hellwig xfs_zone_space_resv.o 145c963c619SDave Chinner 146c59d87c4SChristoph Hellwigxfs-$(CONFIG_XFS_POSIX_ACL) += xfs_acl.o 147c59d87c4SChristoph Hellwigxfs-$(CONFIG_SYSCTL) += xfs_sysctl.o 148c59d87c4SChristoph Hellwigxfs-$(CONFIG_COMPAT) += xfs_ioctl32.o 14915d66ac2SBenjamin Coddingtonxfs-$(CONFIG_EXPORTFS_BLOCK_OPS) += xfs_pnfs.o 15036fd6e86SDarrick J. Wong 1516f643c57SShiyang Ruan# notify failure 1526f643c57SShiyang Ruanifeq ($(CONFIG_MEMORY_FAILURE),y) 1536f643c57SShiyang Ruanxfs-$(CONFIG_FS_DAX) += xfs_notify_failure.o 1546f643c57SShiyang Ruanendif 1556f643c57SShiyang Ruan 156d5c88131SDarrick J. Wongxfs-$(CONFIG_XFS_DRAIN_INTENTS) += xfs_drain.o 1574e98cc90SDarrick J. Wongxfs-$(CONFIG_XFS_LIVE_HOOKS) += xfs_hooks.o 1585076a604SDarrick J. Wongxfs-$(CONFIG_XFS_MEMORY_BUFS) += xfs_buf_mem.o 159a095686aSDarrick J. Wongxfs-$(CONFIG_XFS_BTREE_IN_MEM) += libxfs/xfs_btree_mem.o 160d5c88131SDarrick J. Wong 16136fd6e86SDarrick J. Wong# online scrub/repair 16236fd6e86SDarrick J. Wongifeq ($(CONFIG_XFS_ONLINE_SCRUB),y) 16336fd6e86SDarrick J. Wong 16436fd6e86SDarrick J. Wong# Tracepoints like to blow up, so build that before everything else 16536fd6e86SDarrick J. Wong 16636fd6e86SDarrick J. Wongxfs-y += $(addprefix scrub/, \ 16736fd6e86SDarrick J. Wong trace.o \ 1680f08af0fSDarrick J. Wong agb_bitmap.o \ 16921fb4cb1SDarrick J. Wong agheader.o \ 170efa7a99cSDarrick J. Wong alloc.o \ 171eec0482eSDarrick J. Wong attr.o \ 172fed050f3SDarrick J. Wong bitmap.o \ 17399d9d8d0SDarrick J. Wong bmap.o \ 174537964bcSDarrick J. Wong btree.o \ 175dcb660f9SDarrick J. Wong common.o \ 1767c4a07a4SDarrick J. Wong dabtree.o \ 177a5c46e5eSDarrick J. Wong dir.o \ 178928b721aSDarrick J. Wong dirtree.o \ 17975efa57dSDarrick J. Wong fscounters.o \ 1804860a05dSDarrick J. Wong health.o \ 1813daa6641SDarrick J. Wong ialloc.o \ 18280e4e126SDarrick J. Wong inode.o \ 1838660c7b7SDarrick J. Wong iscan.o \ 1846c631e79SDarrick J. Wong listxattr.o \ 185b3c03efaSDarrick J. Wong metapath.o \ 186f1184081SDarrick J. Wong nlinks.o \ 1870f28b257SDarrick J. Wong parent.o \ 1884c233b5cSDarrick J. Wong readdir.o \ 189edc09b52SDarrick J. Wong refcount.o \ 190c7e693d9SDarrick J. Wong rmap.o \ 19136fd6e86SDarrick J. Wong scrub.o \ 1922a721dbbSDarrick J. Wong symlink.o \ 1933934e8ebSDarrick J. Wong xfarray.o \ 1948ad34530SDarrick J. Wong xfblob.o \ 1953934e8ebSDarrick J. Wong xfile.o \ 19636fd6e86SDarrick J. Wong ) 19729b0767bSDarrick J. Wong 198d7a74cadSDarrick J. Wongxfs-$(CONFIG_XFS_ONLINE_SCRUB_STATS) += scrub/stats.o 199b7d47a77SDarrick J. Wong 200b7d47a77SDarrick J. Wongxfs-$(CONFIG_XFS_RT) += $(addprefix scrub/, \ 2013f1bdf50SDarrick J. Wong rgsuper.o \ 202b7d47a77SDarrick J. Wong rtbitmap.o \ 203c2792967SDarrick J. Wong rtrefcount.o \ 2049a6cc4f6SDarrick J. Wong rtrmap.o \ 205b7d47a77SDarrick J. Wong rtsummary.o \ 206b7d47a77SDarrick J. Wong ) 207b7d47a77SDarrick J. Wong 20821d75009SDarrick J. Wongxfs-$(CONFIG_XFS_QUOTA) += $(addprefix scrub/, \ 20921d75009SDarrick J. Wong dqiterate.o \ 21021d75009SDarrick J. Wong quota.o \ 21148dd9117SDarrick J. Wong quotacheck.o \ 21221d75009SDarrick J. Wong ) 21384d42ea6SDarrick J. Wong 21484d42ea6SDarrick J. Wong# online repair 21584d42ea6SDarrick J. Wongifeq ($(CONFIG_XFS_ONLINE_REPAIR),y) 21684d42ea6SDarrick J. Wongxfs-y += $(addprefix scrub/, \ 217d25522f1SDarrick J. Wong agheader_repair.o \ 2184bdfd7d1SDarrick J. Wong alloc_repair.o \ 219e47dcf11SDarrick J. Wong attr_repair.o \ 2208f71bedeSDarrick J. Wong bmap_repair.o \ 221dbbdbd00SDarrick J. Wong cow_repair.o \ 222b1991ee3SDarrick J. Wong dir_repair.o \ 2233f31406aSDarrick J. Wong dirtree_repair.o \ 224a07b4557SDarrick J. Wong findparent.o \ 2254ed080cdSDarrick J. Wong fscounters_repair.o \ 226dbfbf3bdSDarrick J. Wong ialloc_repair.o \ 2272d295fe6SDarrick J. Wong inode_repair.o \ 228be408417SDarrick J. Wong newbt.o \ 2296b631c60SDarrick J. Wong nlinks_repair.o \ 2301e58a8ccSDarrick J. Wong orphanage.o \ 231cc22edabSDarrick J. Wong parent_repair.o \ 23218a1e644SDarrick J. Wong rcbag_btree.o \ 2337a2192acSDarrick J. Wong rcbag.o \ 234e06ef14bSDarrick J. Wong reap.o \ 2359099cd38SDarrick J. Wong refcount_repair.o \ 23684d42ea6SDarrick J. Wong repair.o \ 23732080a9bSDarrick J. Wong rmap_repair.o \ 2382651923dSDarrick J. Wong symlink_repair.o \ 23984c14ee3SDarrick J. Wong tempfile.o \ 24084d42ea6SDarrick J. Wong ) 241ffd37b22SDarrick J. Wong 242ffd37b22SDarrick J. Wongxfs-$(CONFIG_XFS_RT) += $(addprefix scrub/, \ 243ffd37b22SDarrick J. Wong rtbitmap_repair.o \ 24483ccffc4SDarrick J. Wong rtrefcount_repair.o \ 2456a849bd8SDarrick J. Wong rtrmap_repair.o \ 246abf039e2SDarrick J. Wong rtsummary_repair.o \ 247ffd37b22SDarrick J. Wong ) 248a5b91555SDarrick J. Wong 249a5b91555SDarrick J. Wongxfs-$(CONFIG_XFS_QUOTA) += $(addprefix scrub/, \ 250a5b91555SDarrick J. Wong quota_repair.o \ 25196ed2ae4SDarrick J. Wong quotacheck_repair.o \ 252a5b91555SDarrick J. Wong ) 25384d42ea6SDarrick J. Wongendif 25436fd6e86SDarrick J. Wongendif 255