[XFS] Fix up xfs out-of-tree builds. (a.k.a. external modules)
[sfrench/cifs-2.6.git] / fs / xfs / Makefile
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
19 EXTRA_CFLAGS +=  -I$(src) -I$(src)/linux-2.6 -funsigned-char
20
21 XFS_LINUX := linux-2.6
22
23 ifeq ($(CONFIG_XFS_DEBUG),y)
24         EXTRA_CFLAGS += -g
25 endif
26
27 obj-$(CONFIG_XFS_FS)            += xfs.o
28 obj-$(CONFIG_XFS_QUOTA)         += quota/
29 obj-$(CONFIG_XFS_DMAPI)         += dmapi/
30
31 xfs-$(CONFIG_XFS_RT)            += xfs_rtalloc.o
32 xfs-$(CONFIG_XFS_POSIX_ACL)     += xfs_acl.o
33 xfs-$(CONFIG_PROC_FS)           += $(XFS_LINUX)/xfs_stats.o
34 xfs-$(CONFIG_SYSCTL)            += $(XFS_LINUX)/xfs_sysctl.o
35 xfs-$(CONFIG_COMPAT)            += $(XFS_LINUX)/xfs_ioctl32.o
36
37
38 xfs-y                           += xfs_alloc.o \
39                                    xfs_alloc_btree.o \
40                                    xfs_attr.o \
41                                    xfs_attr_leaf.o \
42                                    xfs_bit.o \
43                                    xfs_bmap.o \
44                                    xfs_bmap_btree.o \
45                                    xfs_btree.o \
46                                    xfs_buf_item.o \
47                                    xfs_da_btree.o \
48                                    xfs_dir2.o \
49                                    xfs_dir2_block.o \
50                                    xfs_dir2_data.o \
51                                    xfs_dir2_leaf.o \
52                                    xfs_dir2_node.o \
53                                    xfs_dir2_sf.o \
54                                    xfs_error.o \
55                                    xfs_extfree_item.o \
56                                    xfs_filestream.o \
57                                    xfs_fsops.o \
58                                    xfs_ialloc.o \
59                                    xfs_ialloc_btree.o \
60                                    xfs_iget.o \
61                                    xfs_inode.o \
62                                    xfs_inode_item.o \
63                                    xfs_iomap.o \
64                                    xfs_itable.o \
65                                    xfs_dfrag.o \
66                                    xfs_log.o \
67                                    xfs_log_recover.o \
68                                    xfs_mount.o \
69                                    xfs_mru_cache.o \
70                                    xfs_rename.o \
71                                    xfs_trans.o \
72                                    xfs_trans_ail.o \
73                                    xfs_trans_buf.o \
74                                    xfs_trans_extfree.o \
75                                    xfs_trans_inode.o \
76                                    xfs_trans_item.o \
77                                    xfs_utils.o \
78                                    xfs_vfsops.o \
79                                    xfs_vnodeops.o \
80                                    xfs_rw.o \
81                                    xfs_dmops.o \
82                                    xfs_qmops.o
83
84 xfs-$(CONFIG_XFS_TRACE)         += xfs_dir2_trace.o
85
86 # Objects in linux/
87 xfs-y                           += $(addprefix $(XFS_LINUX)/, \
88                                    kmem.o \
89                                    xfs_aops.o \
90                                    xfs_buf.o \
91                                    xfs_export.o \
92                                    xfs_file.o \
93                                    xfs_fs_subr.o \
94                                    xfs_globals.o \
95                                    xfs_ioctl.o \
96                                    xfs_iops.o \
97                                    xfs_lrw.o \
98                                    xfs_super.o \
99                                    xfs_vnode.o \
100                                    xfs_ksyms.o)
101
102 # Objects in support/
103 xfs-y                           += $(addprefix support/, \
104                                    debug.o \
105                                    uuid.o)
106
107 xfs-$(CONFIG_XFS_TRACE)         += support/ktrace.o
108
109 # If both xfs and kdb modules are built in then xfsidbg is built in.  If xfs is
110 # a module and kdb modules are being compiled then xfsidbg must be a module, to
111 # follow xfs.  If xfs is built in then xfsidbg tracks the kdb module state.
112 # This must come after the main xfs code so xfs initialises before xfsidbg.
113 # KAO
114 ifneq ($(CONFIG_KDB_MODULES),)
115   ifeq ($(CONFIG_XFS_FS),y)
116     obj-$(CONFIG_KDB_MODULES)   += xfsidbg.o
117   else
118     obj-$(CONFIG_XFS_FS)        += xfsidbg.o
119   endif
120 endif
121
122 CFLAGS_xfsidbg.o += -Iarch/$(ARCH)/kdb