.EXPORT_ALL_VARIABLES:
CXX = g++ -O2 -Wall
#CXX = insight -g
#CXX = purify g++ -gstabs -O2 -Wall
CC = $(CXX)
LEX = flex
YACC = bison -d -v --debug
MAKE = make

SUBDIRS = optimizer cvtmake

DESTDIR = /usr/local

.PHONY : all
all:
	set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i; done
	mv -f optimizer/optimizer dist/
	mv -f cvtmake/cvtmake dist/
	cp -f optimizer/optimizer.1 dist/ 
	cp -f cvtmake/cvtmake.1 dist/ 

.PHONY : optimizer
optimizer:
	set -e; $(MAKE) -C optimizer 
	mv -f optimizer/optimizer dist/
	cp -f optimizer/optimizer.1 dist/

.PHONY : cvtmake
cvtmake:
	set -e; $(MAKE) -C cvtmake
	mv -f cvtmake/cvtmake dist/
	cp -f cvtmake/cvtmake.1 dist/ 

.PHONY : clean
clean :
	rm -f `find . -name \*.o` 
	rm -f `find . -name \*.tab.c` 
	rm -f `find . -name \*.tab.h` 
	rm -f `find . -name \*.yy.c` 
	rm -f `find . -name \*.output` 
	rm -f `find . -name \*~` 
	rm -f `find . -name \*.s`
	rm -f `find . -name \*.asm`
	rm -f `find . -name core`
	rm -f dist/*
	rm -f optimizer.tgz 

.PHONY : objclean
objclean :
	rm -f `find . -name \*.o` 
	rm -f `find . -name \*.tab.c` 
	rm -f `find . -name \*.tab.h` 
	rm -f `find . -name \*.yy.c` 
	rm -f `find . -name \*.output` 
	rm -f `find . -name \*~` 
	rm -f `find . -name core`
	rm -f `find . -name \*.asm`
	rm -f dist/optimizer
	rm -f dist/cvtmake
	rm -f dist/optimizer.1
	rm -f dist/cvtmake.1
	rm -f optimizer.tgz 

.PHONY : backup
backup :
	rm -f optimizer.tgz
	tar czf optimizer.tgz *

.PHONY : install
install :
	chmod 755 dist/optimizer 
	chmod 755 dist/cvtmake 
	mv -f dist/*.1 $(DESTDIR)/man/man1
	mv -f dist/* $(DESTDIR)/bin
