LINUX=/usr/src/linux
KDIR=/lib/modules/$(shell uname -r)
PREFIX=/usr/local

all: modules utilitites

modules:
	make -f local.mk aufs.ko

patch:
	cp -r ./fs/* ${LINUX}/fs/
	cp -r ./include/* ${LINUX}/include/
	echo 'obj-$$(CONFIG_AUFS) += aufs/' >> ${LINUX}/fs/Makefile
	sed -e 's/menu "Layered filesystems"/menu "Layered filesystems"\n\nsource "fs\/aufs\/Kconfig"/g' ${LINUX}/fs/Kconfig > ${LINUX}/fs/Kconfig.new
	mv ${LINUX}/fs/Kconfig.new ${LINUX}/fs/Kconfig

utilities:
	${MAKE} -f local.mk aufs.5 aufind.sh mount.aufs auplink aulchown umount.aufs

modules_install:
	install -p aufs.ko ${KDIR}/misc
	depmod -a $(shell uname -r)

utilities_install:
	install -m 500 -p mount.aufs umount.aufs auplink aulchown ${PREFIX}/sbin
	install -m 755 -p -D aufs.5 ${PREFIX}/man/man5/aufs.5
	bzip2 -f ${PREFIX}/man/man5/aufs.5
	[ ! -d /etc/default ] && mkdir /etc/default || continue
	[ ! -f /etc/default/auplink ] && echo FLUSH=ALL > /etc/default/auplink || continue

install: modules_install utilities_install

clean:
	${MAKE} -f local.mk clean

sync:
	cvs -z3 -d:pserver:anonymous@aufs.cvs.sourceforge.net:/cvsroot/aufs update .
