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
	if [ ! -f /usr/bin/getopt ] ; then cp -p getopt /usr/bin/ ; fi
	cp -p xgcc     $(bindir)/gcc
	cp -p gnatbind  $(bindir)
	cp -p gnatbl    $(bindir)
	cp -p gnatf     $(bindir)
	cp -p gnatk8    $(bindir)
	cp -p gnatmake  $(bindir)
	cp -p gnatchop  $(bindir)
	cp -p gnatchp   $(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/;\
	  ln -sf /usr/lib/$$f $(libsubdir)/libgnat.so;\
	done
	cp -p libpthreads.so* /usr/lib/
	/sbin/ldconfig
	(cd /usr/lib; ln -sf libpthreads.so.1 libpthreads.so)
	- rm -f /usr/lib/libpthread*.so.1.60.beta2

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
