# for making packages
ROOT=/
# where to install modules
MODULESDIR=${ROOT}/lib/modules/$(shell uname -r)
# kernel source tree
KERNEL_SOURCES=${MODULESDIR}/build
# use modversions?
MODVERSIONS=yes
# leave empty if you don't need amd support
AMD_CONF_DIR=/etc/am-utils/
# leave empty if you don't need man pages installed
MAN_PAGE_DIR=
# leave empty if you don't need html manual
HTML_DOC_DIR=
# debug info (higher means more verbose, none == 0)
DEBUG=0

export ROOT MODULESDIR KERNEL_SOURCES MODVERSIONS AMD_CONF_DIR MAN_PAGE_DIR DEBUG

# don't know how to call sed directly
EXXP="s/^[^(]*(\([^)]*\)).*$$/\1/"
VER=$(shell head -n1 Changelog |sed ${EXXP})
VERSION=$(shell echo ${VER}|cut -d- -f1)
RELEASE=$(shell echo ${VER}|cut -d- -f2)

export VER VERSION RELEASE

default: all

all:
	@make -C shfs
	@make -C shfsmount
	@make -C amd
	@make -C docs

clean:
	@make -C shfs clean
	@make -C shfsmount clean
	@make -C amd clean
	@make -C docs clean

install:
	@make -C shfs install
	@make -C shfsmount install
	@make -C amd install
	@make -C docs install

uninstall:
	@make -C shfs uninstall
	@make -C shfsmount uninstall
	@make -C amd uninstall
	@make -C docs uninstall

dist: dist-clean clean
	mkdir shfs-${VER}
	rm -f shfs-${VER}.tar.gz
	find . -maxdepth 1 ! -name . ! -name "shfs-${VER}" -exec cp -R {} shfs-${VER}/ \;
	tar -czf shfs-${VER}.tar.gz --exclude=CVS shfs-${VER}
	rm -rf shfs-${VER}

dist-clean:
	rm -f shfs-${VER}.tar.gz
	
deb:
	ln -fs ../Changelog debian/changelog
	dpkg-buildpackage -rfakeroot -us -uc -tc

deb-clean:
	if [ -f ./build-stamp ]; then \
		fakeroot debian/rules clean; \
	fi
	rm -f debian/changelog

rpm: dist
	make -C rpm rpm

rpm-clean:
	if [ -f rpm/shfs-${VER}.spec ]; then \
		make -C rpm rpm-clean; \
	fi

.PHONY: default all clean install uninstall dist dist-clean deb deb-clean rpm rpm-clean
