[BACK]Return to Makefile-linux-2.4 CVS log [TXT][DIR] Up to [Development] / xfs-linux

File: [Development] / xfs-linux / Attic / Makefile-linux-2.4 (download)

Revision 1.217, Mon Oct 16 03:52:22 2006 UTC (11 years ago) by vapo.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.216: +1 -16 lines

956618: Linux crashes on boot with XFS-DMAPI filesystem when CONFIG_XFS_TRACE is on
Merge of xfs-linux-melb:xfs-kern:27196a by kenmcd.

  dmapi still needs to have XFS_VNODE_TRACE defined, so it doesn't mess up 
  struct xfs_vnode when XFS_TRACE is enabled.  I had a brainwave on this one 
  - why not do all the #defines in xfs.h and fix the few files that don't 
  include it?

#
# Copyright (c) 2000-2005 Silicon Graphics, Inc.
# All Rights Reserved.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms 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.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write the Free Software Foundation,
# Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
#

EXTRA_CFLAGS +=  -I. -I linux-2.4 -funsigned-char

ifeq ($(CONFIG_XFS_DEBUG),y)
	EXTRA_CFLAGS += -g
endif

# fs/Makefile enters fs/xfs twice if CONFIG_XFS_FS is y, once for kernel and
# once for modules.  This is necessary because xfsidbg can be built as a module
# even if xfs is in kernel.  Alas the shorthand form
#   O_TARGET := xfs.o
#   obj-m := $(O_TARGET)
# fails when the makefile is run more than once, code gets compiled as both
# kernel and as module, which one gets linked depends on the phase of the moon.
# I just love these layer violations where a makefile behaves differently
# depending on changes to its parent.  Work around by only setting obj-m when
# xfs is selected as a module.  Keith Owens.

O_TARGET			:= xfs.o
ifeq ($(CONFIG_XFS_FS),m)
  obj-m				:= $(O_TARGET)
endif

obj-$(CONFIG_XFS_RT)		+= xfs_rtalloc.o
obj-$(CONFIG_XFS_POSIX_ACL)	+= xfs_acl.o

obj-$(CONFIG_XFS_TRACE)		+= xfs_dir2_trace.o

obj-y				+= xfs_alloc.o \
				   xfs_alloc_btree.o \
				   xfs_attr.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_dir2.o \
				   xfs_dir2_block.o \
				   xfs_dir2_data.o \
				   xfs_dir2_leaf.o \
				   xfs_dir2_node.o \
				   xfs_dir2_sf.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_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_refcache.o \
				   xfs_rw.o \
				   xfs_iomap.o \
				   xfs_behavior.o \
				   xfs_dmops.o \
				   xfs_qmops.o


# Objects not built in this directory
obj-y				+= linux-2.4/linux_xfs.o \
				   support/support_xfs.o

subdir-$(CONFIG_XFS_FS)		+= linux-2.4 support
subdir-$(CONFIG_XFS_DMAPI)	+= dmapi
subdir-$(CONFIG_XFS_QUOTA)	+= quota

ifeq ($(CONFIG_XFS_FS)$(CONFIG_XFS_DMAPI),yy)
  obj-y				+= dmapi/xfs_dmapi.o
endif

ifeq ($(CONFIG_XFS_FS)$(CONFIG_XFS_QUOTA),yy)
  obj-y				+= quota/xfs_quota.o
endif

export-objs			:= xfs_acl.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

# This is really nasty, but Rules.make was never designed for multi directory
# modules.  Keith Owens.

xfs.o: $(patsubst %,_modsubdir_%,$(filter linux-2.4 support,$(subdir-m)))