TOPDIR	:= $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)

all: libs utils examples
libs: lib.ts
utils: util.ts
examples: sword lookup search addcomment

lib.ts:
	echo $(TOPDIR)
#	for i in `find $(TOPDIR) -name Makefile -print|grep -v Makefile`; do cd `dirname $$i`; make libs; cd $(TOPDIR); done;
	for i in `find $(TOPDIR) -name Makefile -print|grep -v $(TOPDIR)/Makefile`; do cd `dirname $$i`; make libs; cd $(TOPDIR); done;
	touch lib.ts

util.ts: lib.ts
	echo $(TOPDIR)
	for i in `find $(TOPDIR) -name Makefile -print|grep -v $(TOPDIR)/Makefile`; do cd `dirname $$i`; make utils; cd $(TOPDIR); done;
	touch util.ts

addcomment: addcomment.cpp lib.ts
	g++ $(OPTS) -o addcomment -I/usr/include/g++-include -Iinclude addcomment.cpp `find . -type f -name "*.o" -print`

sword: sword.cpp lib.ts
	g++ $(OPTS) -o sword -I/usr/include/g++-include -Iinclude sword.cpp `find . -type f -name "*.o" -print`

lookup: lookup.cpp lib.ts
	g++ $(OPTS) -o lookup -I/usr/include/g++-include -Iinclude lookup.cpp `find . -type f -name "*.o" -print`

search: search.cpp lib.ts
	g++ $(OPTS) -o search -I/usr/include/g++-include -Iinclude search.cpp `find . -type f -name "*.o" -print`

clean:
	find . -name core    -exec rm {} \;
	find . -name "*.o"   -exec rm {} \;
	find . -name "*.~*"  -exec rm {} \;
	find . -name "*.csm" -exec rm {} \;
	find . -name "*.[dD][sS][wW]" -exec rm {} \;
	find . -name "*.dsm" -exec rm {} \;
	find . -name "*.bak" -exec rm {} \;
	find . -name "*.obj" -exec rm {} \;
	find . -name "*.[oO][bB][rR]" -exec rm {} \;
	find . -name "*.rws" -exec rm {} \;
	find . -name "*.apx" -exec rm {} \;
	find . -name "*.dof" -exec rm {} \;
	find . -name "*.dcu" -exec rm {} \;
	find . -name "*.tr"  -exec rm {} \;
	find . -name "*.trw" -exec rm {} \;
	find . -name "*.ils" -exec rm {} \;
	find . -name "*.ilf" -exec rm {} \;
	find . -name "*.ilc" -exec rm {} \;
	find . -name "*.ild" -exec rm {} \;
	find . -name "*.tds" -exec rm {} \;
	find . -name "*.mrt" -exec rm {} \;
	find . -name "*.mbt" -exec rm {} \;
	find . -name "*.[eE][xX][eE]" -exec rm {} \;
	find . -name "*.lib" -exec rm {} \;
	rm tmp/* bin/* search lookup sword addcomment lib.ts util.ts
