1# 2# Copyright (c) 2000-2005 Silicon Graphics, Inc. 3# All Rights Reserved. 4# 5# This program is free software; you can redistribute it and/or 6# modify it under the terms of the GNU General Public License as 7# published by the Free Software Foundation. 8# 9# This program is distributed in the hope that it would be useful, 10# but WITHOUT ANY WARRANTY; without even the implied warranty of 11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12# GNU General Public License for more details. 13# 14# You should have received a copy of the GNU General Public License 15# along with this program; if not, write the Free Software Foundation, 16# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17# 18 19ccflags-y += -I$(src) # needed for trace events 20ccflags-y += -I$(src)/libxfs 21 22ccflags-$(CONFIG_XFS_DEBUG) += -g 23 24obj-$(CONFIG_XFS_FS) += xfs.o 25 26# this one should be compiled first, as the tracing macros can easily blow up 27xfs-y += xfs_trace.o 28 29# build the libxfs code first 30xfs-y += $(addprefix libxfs/, \ 31 xfs_alloc.o \ 32 xfs_alloc_btree.o \ 33 xfs_attr.o \ 34 xfs_attr_leaf.o \ 35 xfs_attr_remote.o \ 36 xfs_bit.o \ 37 xfs_bmap.o \ 38 xfs_bmap_btree.o \ 39 xfs_btree.o \ 40 xfs_da_btree.o \ 41 xfs_da_format.o \ 42 xfs_defer.o \ 43 xfs_dir2.o \ 44 xfs_dir2_block.o \ 45 xfs_dir2_data.o \ 46 xfs_dir2_leaf.o \ 47 xfs_dir2_node.o \ 48 xfs_dir2_sf.o \ 49 xfs_dquot_buf.o \ 50 xfs_ialloc.o \ 51 xfs_ialloc_btree.o \ 52 xfs_iext_tree.o \ 53 xfs_inode_fork.o \ 54 xfs_inode_buf.o \ 55 xfs_log_rlimit.o \ 56 xfs_ag_resv.o \ 57 xfs_rmap.o \ 58 xfs_rmap_btree.o \ 59 xfs_refcount.o \ 60 xfs_refcount_btree.o \ 61 xfs_sb.o \ 62 xfs_symlink_remote.o \ 63 xfs_trans_resv.o \ 64 ) 65# xfs_rtbitmap is shared with libxfs 66xfs-$(CONFIG_XFS_RT) += $(addprefix libxfs/, \ 67 xfs_rtbitmap.o \ 68 ) 69 70# highlevel code 71xfs-y += xfs_aops.o \ 72 xfs_attr_inactive.o \ 73 xfs_attr_list.o \ 74 xfs_bmap_util.o \ 75 xfs_buf.o \ 76 xfs_dir2_readdir.o \ 77 xfs_discard.o \ 78 xfs_error.o \ 79 xfs_export.o \ 80 xfs_extent_busy.o \ 81 xfs_file.o \ 82 xfs_filestream.o \ 83 xfs_fsmap.o \ 84 xfs_fsops.o \ 85 xfs_globals.o \ 86 xfs_icache.o \ 87 xfs_ioctl.o \ 88 xfs_iomap.o \ 89 xfs_iops.o \ 90 xfs_inode.o \ 91 xfs_itable.o \ 92 xfs_message.o \ 93 xfs_mount.o \ 94 xfs_mru_cache.o \ 95 xfs_reflink.o \ 96 xfs_stats.o \ 97 xfs_super.o \ 98 xfs_symlink.o \ 99 xfs_sysfs.o \ 100 xfs_trans.o \ 101 xfs_xattr.o \ 102 kmem.o 103 104# low-level transaction/log code 105xfs-y += xfs_log.o \ 106 xfs_log_cil.o \ 107 xfs_bmap_item.o \ 108 xfs_buf_item.o \ 109 xfs_extfree_item.o \ 110 xfs_icreate_item.o \ 111 xfs_inode_item.o \ 112 xfs_refcount_item.o \ 113 xfs_rmap_item.o \ 114 xfs_log_recover.o \ 115 xfs_trans_ail.o \ 116 xfs_trans_bmap.o \ 117 xfs_trans_buf.o \ 118 xfs_trans_extfree.o \ 119 xfs_trans_inode.o \ 120 xfs_trans_refcount.o \ 121 xfs_trans_rmap.o \ 122 123# optional features 124xfs-$(CONFIG_XFS_QUOTA) += xfs_dquot.o \ 125 xfs_dquot_item.o \ 126 xfs_trans_dquot.o \ 127 xfs_qm_syscalls.o \ 128 xfs_qm_bhv.o \ 129 xfs_qm.o \ 130 xfs_quotaops.o 131 132# xfs_rtbitmap is shared with libxfs 133xfs-$(CONFIG_XFS_RT) += xfs_rtalloc.o 134 135xfs-$(CONFIG_XFS_POSIX_ACL) += xfs_acl.o 136xfs-$(CONFIG_SYSCTL) += xfs_sysctl.o 137xfs-$(CONFIG_COMPAT) += xfs_ioctl32.o 138xfs-$(CONFIG_EXPORTFS_BLOCK_OPS) += xfs_pnfs.o 139 140# online scrub/repair 141ifeq ($(CONFIG_XFS_ONLINE_SCRUB),y) 142 143# Tracepoints like to blow up, so build that before everything else 144 145xfs-y += $(addprefix scrub/, \ 146 trace.o \ 147 agheader.o \ 148 alloc.o \ 149 attr.o \ 150 bmap.o \ 151 btree.o \ 152 common.o \ 153 dabtree.o \ 154 dir.o \ 155 ialloc.o \ 156 inode.o \ 157 parent.o \ 158 refcount.o \ 159 rmap.o \ 160 scrub.o \ 161 symlink.o \ 162 ) 163 164xfs-$(CONFIG_XFS_RT) += scrub/rtbitmap.o 165xfs-$(CONFIG_XFS_QUOTA) += scrub/quota.o 166endif 167