
include Makefile.stub

all: lib/libasis$(arext) 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

install: install-lib install-asistant

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)

install-tools: $(tools:%=install-%)
	echo $<

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

tools: $(tools)

asistant:
	$(GNATMAKE) "-Ptools/$@/$@" "-XBLD=$(BLD)" "-XOPSYS=$(OPSYS)"

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

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/

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

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$*

clean: clean-gnatstub clean-gnatelim clean-gnatpp clean-gnatmetric clean-gnatcheck
	gnat clean -Pasis

force:
