# # Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved. # # This program is free software; you can redistribute it and/or modify it # under the terms of version 2 of the GNU General Public License as # published by the Free Software Foundation. # # This program is distributed in the hope that it would be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # # Further, this software is distributed without any warranty that it is # free of the rightful claim of any third person regarding infringement # or the like. Any license provided herein, whether implied or # otherwise, applies only to this software file. Patent licenses, if # any, provided herein do not apply to combinations of this program with # other software, or any other product whatsoever. # # You should have received a copy of the GNU General Public License along # with this program; if not, write the Free Software Foundation, Inc., 59 # Temple Place - Suite 330, Boston MA 02111-1307, USA. # # Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, # Mountain View, CA 94043, or: # # http://www.sgi.com # # For further information regarding this notice, see: # # http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/ # # Makefile for XFS on Linux. # # This needs -I. because everything does #include instead of "xfs.h". # The code is wrong, local files should be included using "xfs.h", not # but I am not going to change every file at the moment. EXTRA_CFLAGS += -I. -funsigned-char ifeq ($(CONFIG_XFS_DEBUG),y) EXTRA_CFLAGS += -g -DSTATIC="" -DDEBUG -DXFSDEBUG endif obj-$(CONFIG_XFS_FS) += xfs.o ifeq ($(CONFIG_XFS_RT),) xfs-objs += xfsrtstubs.o else xfs-objs += xfs_rtalloc.o xfs_rtbit.o endif ifneq ($(CONFIG_XFS_GRIO),) xfs-objs += xfs_grio.o endif ifeq ($(CONFIG_HAVE_XFS_DMAPI),) xfs-objs += xfsdmapistubs.o else xfs-objs += xfs_dmapi.o endif ifeq ($(CONFIG_XFS_QUOTA),) xfs-objs += xfsquotasstubs.o else xfs-objs += xfs_dquot.o xfs_trans_dquot.o xfs_dquot_item.o xfs_qm_syscalls.o xfs_qm.o endif ifneq ($(CONFIG_FS_POSIX_ACL),) xfs-objs += xfs_acl.o endif ifneq ($(CONFIG_FS_POSIX_MAC),) xfs-objs += xfs_mac.o endif xfs-objs += xfs_alloc.o \ xfs_alloc_btree.o \ xfs_attr.o \ xfs_attr_fetch.o \ xfs_attr_leaf.o \ xfs_bit.o \ xfs_bmap.o \ xfs_bmap_btree.o \ xfs_btree.o \ xfs_buf_item.o \ xfs_da_btree.o \ xfs_dir.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_dir2_trace.o \ xfs_dir_leaf.o \ xfs_error.o \ xfs_extfree_item.o \ xfs_fsops.o \ xfs_ialloc.o \ xfs_ialloc_btree.o \ xfs_iget.o \ xfs_inode.o \ xfs_inode_item.o \ xfs_iocore.o \ xfs_itable.o \ xfs_dfrag.o \ xfs_log.o \ xfs_log_recover.o \ xfs_macros.o \ xfs_mount.o \ xfs_rename.o \ xfs_trans.o \ xfs_trans_ail.o \ xfs_trans_buf.o \ xfs_trans_extfree.o \ xfs_trans_inode.o \ xfs_trans_item.o \ xfs_utils.o \ xfs_vfsops.o \ xfs_vnodeops.o \ xfs_rw.o # Objects in pagebuf/ # Debug options: # -DPAGEBUF_TRACKING # -DPAGEBUF_LOCKING # -DPAGEBUF_DEBUG # -DPAGEBUF_TRACE ifeq ($(CONFIG_PAGEBUF_DEBUG),y) EXTRA_CFLAGS += -g -DSTATIC="" \ -DPAGEBUF_DEBUG -DPAGEBUF_TRACKING -DPAGEBUF_TRACE endif export-objs += pagebuf/page_buf.o xfs-objs += pagebuf/page_buf.o \ pagebuf/page_buf_io.o \ pagebuf/page_buf_locking.o # Objects in linux/ export-objs += linux/xfs_fs_subr.o ifeq ($(CONFIG_XFS_GRIO),) xfs-objs += linux/xfs_griostubs.o endif ifeq ($(CONFIG_HAVE_XFS_DMAPI),) xfs-objs += linux/xfs_dmistubs.o endif xfs-objs += linux/xfs_behavior.o \ linux/xfs_cred.o \ linux/xfs_file.o \ linux/xfs_fs_subr.o \ linux/xfs_globals.o \ linux/xfs_ioctl.o \ linux/xfs_iops.o \ linux/xfs_lrw.o \ linux/xfs_stats.o \ linux/xfs_sysctl.o \ linux/xfs_super.o \ linux/xfs_vfs.o \ linux/xfs_vnode.o \ linux/xfs_xattr.o # Objects in support/ export-objs += support/ktrace.o xfs-objs += support/debug.o \ support/kmem.o \ support/ktrace.o \ support/move.o \ support/mrlock.o \ support/mutex.o \ support/qsort.o \ support/sv.o \ support/uuid.o # If both xfs and kdb modules are built in then xfsidbg is built in. If xfs is # a module and kdb modules are being compiled then xfsidbg must be a module, to # follow xfs. If xfs is built in then xfsidbg tracks the kdb module state. # This must come after the main xfs code so xfs initialises before xfsidbg. # KAO ifneq ($(CONFIG_KDB_MODULES),) ifeq ($(CONFIG_XFS_FS),y) obj-$(CONFIG_KDB_MODULES) += xfsidbg.o else obj-$(CONFIG_XFS_FS) += xfsidbg.o endif endif CFLAGS_xfsidbg.o += -I $(TOPDIR)/arch/$(ARCH)/kdb include $(TOPDIR)/Rules.make # Well, that's what you get for distributing your objects throughout # multiple subdirs. It'll go away when we switch to the new dependencies, # though cmd_fastdep = $(TOPDIR)/scripts/mkdep $(CFLAGS) $(EXTRA_CFLAGS) -- $(wildcard *.[chS] pagebuf/*.[chS] linux/*.[chS] support/*.[chS]) > .depend