
include Makefile.stub

.PHONY: all
all: asistant

BLD=prod
tools = gnatstub gnatelim gnatmetric gnatpp gnatcheck gnattest

I_DOC   = $(prefix)/share/doc/asis
I_GPS   = $(prefix)/share/gps/plug-ins
G_DOC   = $(prefix)/share/doc/gnat

.PHONY: install
install: install-lib install-asistant

.PHONY: install-asis-doc
install-asis-doc:
	$(MKDIR) $(I_GPS)
	$(MKDIR) $(I_DOC)/html
	$(MKDIR) $(I_DOC)/info
	$(MKDIR) $(I_DOC)/pdf
	$(INSTALL_FILES) documentation/gps_index.xml $(I_GPS)/asis.xml
	-$(INSTALL_FILES) documentation/asis_*.html $(I_DOC)/html/
	-$(INSTALL_FILES) documentation/asis_*.pdf  $(I_DOC)/pdf/
	-$(INSTALL_FILES) documentation/asis_*.info $(I_DOC)/info/

lib/libasis$(arext):
	$(GNATMAKE) -Pasis -XBLD=$(BLD) -XOPSYS=$(OPSYS)

.PHONY: install-tools
install-tools: install-gnat2xml $(tools:%=install-%)
	echo $<

.PHONY: install-gnat2xml
install-gnat2xml: gnat2xml

.PHONY: gnat2xml
gnat2xml:
	cd tools/gnat2xml ; $(MAKE) all

gnat%:
	$(GNATMAKE) "-Ptools/$@/$@" "-XBLD=$(BLD)" "-XOPSYS=$(OPSYS)" -p

.PHONY: tools
tools: gnat2xml $(tools)

.PHONY: asistant
asistant: lib/libasis$(arext)
	$(GNATMAKE) "-Ptools/$@/$@" "-XBLD=$(BLD)" "-XOPSYS=$(OPSYS)"

.PHONY: gnattest_hash_testing
gnattest_hash_testing:
	$(GNATMAKE) "-Pinternal/tools/gnattest/hash_testing/$@" "-XBLD=$(BLD)" "-XOPSYS=$(OPSYS)"

install-gnat%: gnat%
	gprinstall -p -f --prefix=$(prefix) --mode=usage \
		--project-subdir=lib/gnat \
		-XBLD=$(BLD) -XOPSYS=$(OPSYS) tools/gnat$*/gnat$*.gpr

.PHONY: install-gnatcheck-doc
install-gnatcheck-doc:
	$(MKDIR) $(G_DOC)/html
	$(MKDIR) $(G_DOC)/info
	$(MKDIR) $(G_DOC)/pdf
	$(MKDIR) $(G_DOC)/txt
	$(INSTALL_FILES) documentation/gnatcheck_rm.pdf  $(G_DOC)/pdf/
	$(INSTALL_FILES) documentation/gnatcheck_rm*.html $(G_DOC)/html/
	$(INSTALL_FILES) documentation/gnatcheck_rm.info $(G_DOC)/info/
	$(INSTALL_FILES) documentation/gnatcheck_rm.txt $(G_DOC)/txt/

.PHONY: install-lib
install-lib: install-asis-doc
	gprinstall -p -f --prefix=$(prefix) --sources-subdir=include/asis \
		--lib-subdir=lib/asis --project-subdir=lib/gnat \
		-XBLD=$(BLD) -XOPSYS=$(OPSYS) asis.gpr

.PHONY: install-asistant
install-asistant:
	gprinstall -p -f --prefix=$(prefix) --mode=usage \
		--project-subdir=lib/gnat \
		-XBLD=$(BLD) -XOPSYS=$(OPSYS) tools/asistant/asistant.gpr

atre:
	gnat make -Ptools/$@/$@

clean-gnat%:
	gnat clean -Ptools/gnat$*/gnat$*

.PHONY: clean
clean: clean-gnat2xml clean-gnatstub clean-gnatelim clean-gnatpp clean-gnatmetric clean-gnatcheck
	gnat clean -Pasis

force:
