BUILD=Debug
INSTALL_DIR=/usr/local

ifeq ($(OS),Windows_NT)  
   EXE_EXT=.exe
   ADA_PROJECT_PATH:=${shell echo "`pwd`/../../jni;`pwd`/runtime/ada;$(ADA_PROJECT_PATH)"}
   INSTALL_LIB_DIR=$(INSTALL_DIR)/bin
else
   EXE_EXT=
   ADA_PROJECT_PATH:=${shell echo "`pwd`/../../jni:`pwd`/runtime/ada:$(ADA_PROJECT_PATH)"}
   INSTALL_LIB_DIR=$(INSTALL_DIR)/lib
endif

runtime_ada:
	cd runtime/ada && gprbuild -XBuild=$(BUILD) -P ajis.gpr 

runtime_java:
	cd runtime/java && \
	javac -source 1.5 -target 1.5 -J-Xmx512m -cp . com/adacore/ajis/*.java && \
	javac -source 1.5 -target 1.5 -J-Xmx512m -cp . com/adacore/ajis/*/*/*.java && \
	jar -J-Xmx512m -c com > ajis.jar

ada2java:
	cd src && gnatmake -XBuild=$(BUILD) -P ada2java.gpr

install: runtime_ada runtime_java ada2java
	mkdir -p $(INSTALL_DIR)/bin
	mkdir -p $(INSTALL_DIR)/lib
	mkdir -p $(INSTALL_DIR)/lib/ajis
	mkdir -p $(INSTALL_DIR)/include
	mkdir -p $(INSTALL_DIR)/include/ajis
	mkdir -p $(INSTALL_DIR)/lib/gnat
	mkdir -p $(INSTALL_DIR)/share
	mkdir -p $(INSTALL_DIR)/share/ajis
	mkdir -p $(INSTALL_DIR)/share/ajis/templates
	for ext in so dll dylib ; do \
		if [ -f runtime/ada/lib/*.$$ext ]; then \
			cp -pf runtime/ada/lib/*.$$ext $(INSTALL_LIB_DIR) ; \
		fi \
	done
	cp -pf runtime/ada/lib/*.ali $(INSTALL_DIR)/lib/ajis
	cp -pf runtime/ada/*.ad* $(INSTALL_DIR)/include/ajis
	cp -pf src/obj/ada2java$(EXE_EXT) $(INSTALL_DIR)/bin/ada2java$(EXE_EXT)
	cp -pf install/ajis.gpr $(INSTALL_DIR)/lib/gnat
	cp -pf runtime/java/ajis.jar $(INSTALL_DIR)/lib
	cp -pf src/templates/* $(INSTALL_DIR)/share/ajis/templates/

clean:
	rm -rf runtime/ada/lib/*.{ali,o,class}
	rm -rf runtime/ada/obj*.{ali,o,class}
	rm -rf src/*.{ali,o,class}
	rm -rf src/obj/*.{ali,o,class}
