#
# Makefile for XFS on Linux.
#
# Note! Dependencies are done automagically by 'make dep', which also
# removes any old dependencies. DON'T put your own dependencies here
# unless it's something special (ie not a .c file).
#
# Note 2! The CFLAGS definitions are now in the main makefile...
XFS_CFLAGS = -Wstrict-prototypes -O2 -fomit-frame-pointer
EXTRA_CFLAGS += -g3 -I./linux -I./pseudo-inc -I. -D_KERNEL
O_TARGET := xfs.o
LINO_OBJS := linux/xfs_file.o linux/xfs_super.o \
linux/xfs_vnode.o linux/xfs_behavior.o linux/xfs_vfs.o linux/xfs_random.o \
linux/xfs_locks.o linux/xfs_globals.o linux/xfs_debug.o linux/xfs_uuid.o \
linux/xfs_dnlc.o linux/xfs_fs_bio.o linux/xfs_fs_subr.o linux/xfs_griostubs.o \
linux/xfs_aclstubs.o linux/xfs_dmistubs.o linux/xfs_move.o linux/xfs_thread.o \
linux/xfs_physio.o linux/xfs_uaccess.o linux/xfs_pathname.o linux/xfs_page.o
# linux/xfs_inode.o
M_OBJS := $(O_TARGET)
XFS_OBJS := 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_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_icrash.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_misc.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 \
xfsdmapistubs.o \
xfsquotasstubs.o \
xfsrtstubs.o \
macstubs.o \
oplockstubs.o
# xfs_rpc_item.o
FS_LINKS = xfs_alloc xfs_macros xfs_types xfs_inum xfs_log \
xfs_ag xfs_sb xfs_trans xfs_dir xfs_dir2 xfs_mount \
xfs_error xfs_bmap_btree xfs_attr_sf xfs_dir_sf xfs_dir2_sf \
xfs_dinode xfs_imap xfs_inode_item xfs_inode \
xfs_ialloc_btree xfs_ialloc xfs_log_priv \
xfs_buf_item xfs_alloc_btree xfs_log_recover xfs_extfree_item \
xfs_trans_priv xfs_bit xfs_quota xfs_dqblk xfs_dquot_item \
xfs_dquot xfs_qm xfs_rw xfs_btree xfs_bmap xfs_rtalloc xfs_da_btree \
xfs_dir_leaf xfs_fsops xfs_attr_leaf xfs_dir2_data xfs_dir2_leaf \
xfs_dir2_block xfs_dir2_node
#FOO_LINKS := xfs_file.c xfs_super.c \
# xfs_vnode.c xfs_behavior.c xfs_vfs.c xfs_random.c \
# xfs_locks.c xfs_globals.c xfs_debug.c xfs_uuid.c \
# xfs_dnlc.c xfs_fs_bio.c xfs_fs_subr.c xfs_griostubs.c \
# xfs_aclstubs.c xfs_dmistubs.c xfs_move.c xfs_thread.c \
# xfs_physio.c xfs_uaccess.c xfs_pathname.c xfs_page.c
O_OBJS := $(XFS_OBJS) $(LINO_OBJS) libgcc.a
include $(TOPDIR)/Rules.make
CFLAGS = -Wstrict-prototypes -O2 -fomit-frame-pointer
#%.o: %.c
# $(CC) $(XFS_CFLAGS) $(EXTRA_CFLAGS) $(CFLAGS_$@) -c -o $@ $<
# @ ( \
# echo 'ifeq ($(strip $(subst $(comma),:,$(XFS_CFLAGS) $(EXTRA_CFLAGS) $(CFLAGS_$@))),$$(strip $$(subst $$(comma),:,$$(XFS_CFLAGS) $$(EXTRA_CFLAGS) $$(CFLAGS_$@))))' ; \
# echo 'FILES_FLAGS_UP_TO_DATE += $@' ; \
# echo 'endif' \
# ) > $(dir $@)/.$(notdir $@).flags
links: $(FS_LINKS) $(FOO_LINKS) #sys ksys fs
libgcc.a:
ln -sf `find /usr/lib/gcc-lib -name libgcc.a -print | head -1`
#sys:
# (cd pseudo-inc; rm -f $@; ln -s ../linux-sys $@)
#ksys:
# (cd pseudo-inc; rm -f $@; ln -s ../linux-ksys $@)
#fs:
# (cd pseudo-inc; rm -f $@; ln -s ../linux-fs $@)
$(FS_LINKS):
(cd pseudo-inc/sys/fs;if [ -L $@.h ]; then rm -f $@.h; fi; ln -s ../../../$@.h $@.h)
#$(FOO_LINKS):
# (if [ -L $@ ]; then rm -f $@; fi; ln -s linux/$@ $@)