SHELL	= /bin/sh
#CC		= g++
CC		= gcc
DIRS	= bin

all:	$(DIRS) compile

static:	$(DIRS) compile-static

$(DIRS):
	mkdir -p $@

compile: no-perl mactime sorter file test 

compile-static: no-perl-static mactime sorter file test

no-perl:
	$(MAKE) -C src/auxtools
	$(MAKE) -C src/afflib/lib AFFLIB="../../../lib/libtsk.a"
	cd src/libewf; ./configure; make -C src/ libewf.a; ar rv ../../lib/libtsk.a src/*.o
	$(MAKE) -C src/imgtools
	$(MAKE) -C src/hashtools
	$(MAKE) -C src/fstools 
	$(MAKE) -C src/mmtools
	$(MAKE) -C src/srchtools
	$(MAKE) -C src/disktools

no-perl-static:
	$(MAKE) -C src/auxtools  OPT=-static
	$(MAKE) -C src/afflib/lib AFFLIB="../../../lib/libtsk.a"
	cd src/libewf; ./configure; make -C src/ libewf.a; ar rv ../../lib/libtsk.a src/*.o
	$(MAKE) -C src/libewf LIBEWF="../../lib/libtsk.a" ARFLAGS="rv" ../../lib/libtsk.a
	$(MAKE) -C src/imgtools
	$(MAKE) -C src/hashtools OPT=-static
	$(MAKE) -C src/fstools OPT=-static 
	$(MAKE) -C src/mmtools OPT=-static 
	$(MAKE) -C src/srchtools OPT=-static
	$(MAKE) -C src/disktools OPT=-static 

sorter:
	$(MAKE) -C src/sorter

mactime:
	$(MAKE) -C src/timeline

file:
	cd src/file; sh ./TSK.install

test:
	sh ./check-install

clean: 
	$(MAKE) -C src/auxtools $@ 
	$(MAKE) -C src/afflib/lib $@
	$(MAKE) -C src/libewf distclean
	$(MAKE) -C src/imgtools $@
	$(MAKE) -C src/hashtools $@
	$(MAKE) -C src/fstools $@
	$(MAKE) -C src/mmtools $@
	$(MAKE) -C src/srchtools $@
	$(MAKE) -C src/disktools $@
	cd src/file; sh ./TSK.clean
	$(MAKE) -C src/timeline $@
	cd src/sorter; sh ./clean
	rm -f lib/libtsk.a
	rm -f bin/*core
	rm -f bin/.gdb_history
	find . -name ".DS_Store" | xargs rm -f 
	find . -name ".*" | grep -v "cvsignore" | grep -v "indent.pro" | grep -v "tidyrc"
	find . -type f -perm +g+x,o+x,u+x | grep -v "configure" | xargs  chmod -x 
	cat patchlevel

release:
	find . -name "CVS" | xargs rm -rf 
