SHELL=/bin/sh
# This makefile is used for installing the binary distribution of GNAT.
# The installation script resulting from configuration consists
# of make commands using this makefile.  The options allowed by setting
# the directories by hand are greater than those allowed in the
# configuration script.

version	  = `./xgcc -dumpversion`
machine	  = `./xgcc -dumpmachine`
prefix    = /usr
bindir    = $(prefix)/bin
libsubdir = $(prefix)/lib/gcc-lib/$(machine)/$(version)
adaobjdir = $(libsubdir)/adalib
adaincdir = $(prefix)/adainclude

RANLIB=ranlib
# Test to use to see whether ranlib exists on the system.
RANLIB_TEST = [ -f /usr/bin/ranlib -o -f /bin/ranlib ]

# The first 2 targets are the ones intended to be named on the command
#  line.  Since gcc has GNAT modifications, is is included in gnatstuff.
#  This is OK since basic will only be done as part of all.

ins-all: ins-basic ins-gnatstuff

ins-gnatstuff: makedirs
	if [ -d $(libsubdir) ] ; then true; else \
	  echo Directory $(libsubdir) missing; exit 1 ; fi
	cp -p xgcc $(bindir)/gcc
	cp -p `\ls -1 gnat[a-z]* | grep -v "\."` $(bindir)
	cp -p gnat1 $(libsubdir)
	rm -rf $(adaincdir)
	mkdir -p $(adaincdir)
	rm -rf $(adaobjdir)
	mkdir -p $(adaobjdir)
	cp -p rts/*.ads $(adaincdir)
	cp -p rts/*.adb $(adaincdir)
	cp -p rts/*.o $(adaobjdir)
	cp -p rts/*.ali $(adaobjdir)
	cp -p *.a $(libsubdir)
	for f in libgnat.so.*; do\
	  cp -p $$f /usr/lib/ || echo "You must place $f in LD_LIBRARY_PATH";\
	  ln -sf /usr/lib/$$f $(libsubdir)/libgnat.so || true;\
	done
	rm -f /usr/lib/libpthreads.so.1.60.beta2
	cp -p libpthreads.so* /usr/lib/ || echo "You must place the pthread library in LD_LIBRARY_PATH"
	-/sbin/ldconfig
	-(cd /usr/lib; ln -s libpthreads.so.1 libpthreads.so)

ins-basic: makedirs include
	cp -p libgcc.a $(libsubdir)
	if $(RANLIB_TEST) ; then $(RANLIB) $(libsubdir)/libgcc.a; fi
	cp -p specs    $(libsubdir)
	cp -p cc1      $(libsubdir)
	cp -p cpp      $(libsubdir)
	if [ -f as ] ; then cp -p as $(libsubdir) ; fi
	if [ -f mips-tfile ] ; then cp -p mips-tfile $(libsubdir) ; fi
	if [ -f ld ] ; then cp -p ld $(libsubdir) ; fi
	tar cf - include | (cd $(libsubdir); tar xf -)

makedirs:
	if [ -d $(bindir) ]    ; then true ; else mkdir -p $(bindir)    ; fi
	if [ -d $(libsubdir) ] ; then true ; else mkdir -p $(libsubdir) ; fi
	if [ -d $(adaobjdir) ] ; then true ; else mkdir -p $(adaobjdir) ; fi
	if [ -d $(adaincdir) ] ; then true ; else mkdir -p $(adaincdir) ; fi

include: xlimits.h
	-rm -rf include
	-mkdir include
	if [ -f include/limits.h ]; then \
	  mv include/limits.h include/syslimits.h; \
	else \
	  cp -p gsyslimits.h include/syslimits.h; \
	fi
	cp -p ginclude/*.h include
	cp -p xlimits.h include/limits.h

xlimits.h: glimits.h limitx.h limity.h
	if [ -f /usr/include/limits.h ] ; then \
	  cat limitx.h glimits.h limity.h > xlimits.h; \
	else \
	  cat glimits.h > xlimits.h; \
	fi
