# for package making
VERSION = 1.5
SUBDIRS = command addons examples
CLEANUPS = command/lkstutils.spec
LKCDDIR = lkcd-addon/lkcdutils
TARGETS = $(SUBDIRS) lkcd-addon hooks LICENSE linux24.patch Makefile \
	  Install howto.txt changelog extra-patch
PKGNAME = lkst-$(VERSION)
KSRC = /lib/modules/`uname -r`/build
CONFOPT =
LKCDCONF = config-lkcd
LKCDCONFOPT =

ifeq ($(LKCD), no)
CONFOPT = --disable-lkcd
LKCDCONF =
endif

all: configure
	for dir in $(SUBDIRS) ; do \
		( cd $$dir ; \
		[ -f Makefile ] && make all ; \
		cd .. ); \
	done
	rm -rf $(CLEANUPS)

package: dist

dist: distclean adjustver
	mkdir $(PKGNAME)
	cp -a $(TARGETS) $(PKGNAME)
	rm -rf `find $(PKGNAME) -name CVS -a -type d`
	tar czvf $(PKGNAME).tar.gz $(PKGNAME)
	rm -rf $(PKGNAME)

distclean: lkcdclean
	for dir in $(SUBDIRS) ; do \
		( cd $$dir ; \
		[ -f Makefile ] && make distclean ; \
		cd .. ); \
	done
	rm -rf $(CLEANUPS)

lkcdclean: 
	( cd $(LKCDDIR); make clean; )

configure: config

config: $(LKCDCONF)
	for dir in $(SUBDIRS) ; do \
		( cd $$dir ; \
		echo "configuring " $$dir ; \
		[ -f configure ] || autoconf ; \
		[ -x configure ] && ./configure --with-ksrc=$(KSRC) $(CONFOPT); \
		echo "done"; \
		cd ..); \
	done

config-lkcd:
	( cd $(LKCDDIR); \
	echo "configuring LKCD"; \
	[ -x configure ] && ./configure --topdir=$(KSRC) $(LKCDCONFOPT); \
	echo "done" )

adjustver:
	cat command/cmd.conf | sed /^LKSTVER/s/.*/LKSTVER=$(VERSION)/ > temp.conf
	mv temp.conf command/cmd.conf
	cat addons/cmd_mod.conf | sed /^LKSTVER/s/.*/LKSTVER=$(VERSION)/ > temp.conf
	mv temp.conf addons/cmd_mod.conf
