# AUFS Makefile for the Linux 2.6.25 and later
# $Id: Makefile,v 1.3 2008/04/28 03:03:10 sfjro Exp $

# the environment variables are not inherited since 2.6.23
ifdef AUFS_EXTRA_CFLAGS
EXTRA_CFLAGS += ${AUFS_EXTRA_CFLAGS}
endif

########################################

ifdef CONFIG_AUFS_RR_SQUASHFS
# cf. squashfs3.2-r2 and sqlzma patch.
EXTRA_CFLAGS += -DSQUASHFS_MAGIC=0x73717368
EXTRA_CFLAGS += -DSQUASHFS_MAGIC_SWAP=0x68737173
EXTRA_CFLAGS += -DSQUASHFS_MAGIC_LZMA=0x71736873
EXTRA_CFLAGS += -DSQUASHFS_MAGIC_LZMA_SWAP=0x73687371
endif

ifdef CONFIG_AUFS_WORKAROUND_FUSE
# defined in ${srctree}/fs/fuse/inode.c
EXTRA_CFLAGS += -DFUSE_SUPER_MAGIC=0x65735546
endif

ifdef CONFIG_XFS_FS
# defined in ${srctree}/fs/xfs/xfs_sb.h
EXTRA_CFLAGS += -DXFS_SB_MAGIC=0x58465342
endif

ifdef CONFIG_TMPFS
# defined in ${srctree}/mm/shmem.c
EXTRA_CFLAGS += -DTMPFS_MAGIC=0x01021994
endif

-include $(dir $(lastword ${MAKEFILE_LIST}))priv.mk
#$(warning ${EXTRA_CFLAGS})

########################################

obj-$(CONFIG_AUFS) += aufs.o
aufs-y := module.o super.o sbinfo.o branch.o xino.o sysaufs.o opts.o \
	wkq.o vfsub.o dcsub.o \
	cpup.o whout.o plink.o wbr_policy.o \
	dentry.o dinfo.o \
	file.o f_op.o finfo.o \
	dir.o vdir.o \
	inode.o i_op.o i_op_add.o i_op_del.o i_op_ren.o iinfo.o \
	misc.o

#xattr.o
aufs-$(CONFIG_SYSFS) += sysfs.o
aufs-$(CONFIG_AUFS_BR_NFS) += br_nfs.o
aufs-$(CONFIG_AUFS_BR_XFS) += br_xfs.o
aufs-$(CONFIG_AUFS_WORKAROUND_FUSE) += br_fuse.o

aufs-$(CONFIG_AUFS_DLGT) += dlgt.o
aufs-$(CONFIG_AUFS_HINOTIFY) += hinotify.o hin_or_dlgt.o
# dirty
ifndef CONFIG_AUFS_HINOTIFY
aufs-$(CONFIG_AUFS_DLGT) += hin_or_dlgt.o
endif

aufs-$(CONFIG_AUFS_EXPORT) += export.o
aufs-$(CONFIG_AUFS_ROBR) += robr.o
aufs-$(CONFIG_AUFS_DEBUG) += debug.o
aufs-$(CONFIG_AUFS_MAGIC_SYSRQ) += sysrq.o
