A := `echo "input password: \c" >&2; stty -echo; sed q; stty echo; echo >&2`
D=/tmp
S=.
parser-name=parser
PL_SQL-name=PL_SQL
classes-directory=/classes
source-directory=/source
PL-name=PL_SQL
parser-directory=/$(parser-name)
fad-directory=/fad
PL-directory=/$(PL-name)
doc-directory=/doc
html-directory=/html
install-directory=$(S)

classpath=.:/databases/dbis/db-java/classes:/databases/dbis/3rdparty:$(root)$(source-directory)$(parser-directory):$(C)

sql-user=$(U)
root=$(D)

all : doc-all classes

classes : parser fad
	cp $(install-directory)/Makefile $(root)
	cp $(install-directory)/Makefile_Format $(root)
	
fad : mkdir-fad
	cp $(install-directory)$(fad-directory)/*.sql $(root)$(source-directory)$(fad-directory)
	cp $(install-directory)$(fad-directory)/*.load $(root)$(source-directory)$(fad-directory)
	cp $(install-directory)$(fad-directory)/*.control $(root)$(source-directory)$(fad-directory)
	$(MAKE) -sf Makefile_Format U=$(sql-user) D=$(root)$(source-directory)$(fad-directory) p=$(A)
	
mkdir-fad : $(root)$(source-directory)$(fad-directory)
$(root)$(source-directory)$(fad-directory):
	mkdir -p $(root)$(source-directory)$(fad-directory)
	
parser : mkdir-parser
	cp $(install-directory)$(parser-directory)/*.java $(root)$(source-directory)$(parser-directory)
	cp $(install-directory)/GaussKruegerTrafo.class $(root)$(classes-directory)
	cp $(install-directory)/ClearData $(root)$(classes-directory)
	CLASSPATH=$(classpath) javac -d $(root)$(classes-directory) $(root)$(source-directory)$(parser-directory)/*.java

mkdir-parser : $(root)$(source-directory)$(parser-directory) $(root)$(classes-directory)$(parser-directory)
$(root)$(source-directory)$(parser-directory):
	mkdir -p $(root)$(source-directory)$(parser-directory)
$(root)$(classes-directory)$(parser-directory):
	mkdir -p $(root)$(classes-directory)$(parser-directory)

doc-all : javadoc doc
	
javadoc : mkdir-javadoc
	cp $(install-directory)$(parser-directory)/*.java $(root)$(source-directory)$(parser-directory)
	cp $(install-directory)$(PL-directory)/*.java $(root)$(source-directory)$(PL-directory)/.java
	cd $(root)$(source-directory); javadoc -author -d $(root)$(doc-directory)$(html-directory) -private -sourcepath ./ $(parser-name) $(PL-name)

mkdir-javadoc :	$(root)$(doc-directory)$(html-directory) $(root)$(source-directory)$(parser-directory) $(root)$(source-directory)$(PL-directory)
$(root)$(doc-directory)$(html-directory):
	mkdir -p $(root)$(doc-directory)$(html-directory)
$(root)$(source-directory)$(parser-directory):
	mkdir -p $(root)$(source-directory)$(parser-directory)
$(root)$(source-directory)$(PL-directory):
	mkdir -p $(root)$(source-directory)$(PL-directory)


doc : mkdir-doc
	cp $(install-directory)$(doc-directory)/* $(root)$(doc-directory)
	
mkdir-doc :	$(root)$(doc-directory)
$(root)$(doc-directory):
	mkdir -p $(root)$(doc-directory)

clear-source :
	rm -rf $(root)$(source-directory)
	
clear-doc :
	rm -rf $(root)$(doc)
	
clear :
	rm -rf $(root)
