# This makefile is used for installing the sparc 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.

prefix    = /usr/local
bindir    = $(prefix)/bin
libsubdir = $(prefix)/lib/gcc-lib/m68k-next-ns3/`cat GCC-BASE`
adaobjdir = $(libsubdir)/adalib
adaincdir = $(prefix)/adainclude

LIB_GNAT_OBJS = fileno.o io-aux.o a-cio.o get_errno.o

GNAT_RTL_OBJS = ada.o \
a-caldel.o \
a-calend.o \
a-calcon.o \
a-chahan.o \
a-charac.o \
a-chlat1.o \
a-cwila1.o \
a-finali.o \
a-comlin.o \
a-ioexce.o \
a-numeri.o \
a-numaux.o \
a-nlelfu.o \
a-nllefu.o \
a-nselfu.o \
a-nuelfu.o \
a-nuflra.o \
a-reatim.o \
a-retico.o \
a-retide.o \
a-stmaco.o \
a-strbou.o \
a-strcon.o \
a-string.o \
a-strmap.o \
a-strfix.o \
a-strsea.o \
a-strunb.o \
a-tags.o \
a-taside.o \
a-textio.o \
a-teioau.o \
calendar.o \
interfac.o \
ioexcept.o \
i-c.o \
i-cpocon.o \
i-cpoerr.o \
i-cporte.o \
i-cpotim.o \
i-cpthre.o \
i-cstrin.o \
system.o \
s-addima.o \
s-pooglo.o \
s-poosiz.o \
s-pooemp.o \
s-pooloc.o \
s-stopoo.o \
s-assert.o \
s-errrep.o \
s-cconst.o \
s-comexc.o \
s-comopt.o \
s-delope.o \
s-depcon.o \
s-exnflt.o \
s-exngen.o \
s-exnint.o \
s-exnlfl.o \
s-exnlin.o \
s-exnllf.o \
s-exnlli.o \
s-exnsfl.o \
s-exnsin.o \
s-exnssi.o \
s-expflt.o \
s-expgen.o \
s-expint.o \
s-explfl.o \
s-explli.o \
s-explin.o \
s-expllf.o \
s-expllu.o \
s-expmod.o \
s-expsfl.o \
s-expsin.o \
s-expssi.o \
s-expuns.o \
s-ffd.o \
s-ffdlli.o \
s-ffd_li.o \
s-ffd_i.o \
s-ffd_si.o \
s-ffm.o \
s-ffmlli.o \
s-ffm_li.o \
s-ffm_i.o \
s-ffm_si.o \
s-fid.o \
s-fidlli.o \
s-fid_li.o \
s-fid_i.o \
s-fid_si.o \
s-fim.o \
s-fimlli.o \
s-fim_li.o \
s-fim_i.o \
s-fim_si.o \
s-finimp.o \
s-fore.o \
s-powtab.o \
s-imgbiu.o \
s-imgboo.o \
s-imgcha.o \
s-imgdec.o \
s-imgint.o \
s-imgllb.o \
s-imglld.o \
s-imglli.o \
s-imgllw.o \
s-imgllu.o \
s-imgrea.o \
s-imguns.o \
s-imgwch.o \
s-imgwiu.o \
s-io.o \
s-secsta.o \
s-stalib.o \
s-std.o \
s-stoele.o \
s-strcon.o \
s-strequ.o \
s-strops.o \
s-taprob.o \
s-tasabo.o \
s-tasoli.o \
s-tasclo.o \
s-taskin.o \
s-tasmem.o \
s-taspda.o \
s-taspri.o \
s-tasque.o \
s-tasren.o \
s-tassta.o \
s-tastal.o \
s-tasuti.o \
s-tatise.o \
s-tcmasp.o \
s-timtyp.o \
s-unstyp.o \
s-valboo.o \
s-valcha.o \
s-valenu.o \
s-valint.o \
s-vallli.o \
s-valllu.o \
s-valrea.o \
s-valuns.o \
s-valuti.o \
s-wchcon.o \
s-wchjis.o \
s-wchstw.o \
s-wchwts.o \
s-widboo.o \
s-widcha.o \
s-widenu.o \
s-widlli.o \
s-widllu.o \
s-widwch.o \
text_io.o \
io.o \
a-cio.o \
get_errno.o


CFLAGS= -O #-g -O2
.SUFFIXES: .ada .adb .ads

ADA_CC=gcc
ADAFLAGS= -gnatg -gnata
ALL_ADAFLAGS= $(CFLAGS) $(ADAFLAGS)

.adb.o:
	$(ADA_CC) -c $(ALL_ADAFLAGS) $<
.ads.o:
	$(ADA_CC) -c $(ALL_ADAFLAGS) $<


# 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
	install xgcc      $(bindir)/gcc
	install gnatbind  $(bindir)/gnatbind
	install gnatbl    $(bindir)/gnatbl
	install gnatf     $(bindir)/gnatf
	install gnatk8    $(bindir)/gnatk8
	install gnatchop  $(bindir)/gnatchop
	install gnatchp   $(bindir)/gnatchp
	install gnat1     $(libsubdir)/gnat1
	$(MAKE) prefix=$(prefix) ADA_CC="$(bindir)/gcc -B$(libsubdir)/" \
 ins-adalib

ins-adalib:
	if [ -d $(libsubdir) ] ; then true; else \
	  echo Directory $(libsubdir) missing; exit 1 ; fi
	rm -rf $(adaobjdir)-tmp
	mkdir $(adaobjdir)-tmp
	cp rts/* $(adaobjdir)-tmp
	thisdir=`pwd` ; \
	cd $(adaobjdir)-tmp ; \
	$(MAKE) prefix=$(prefix) ADA_CC="$(ADA_CC)" CC="$(ADA_CC)" \
 -f $$thisdir/Makefile libobjs ; \
	$(MAKE) prefix=$(prefix) ADA_CC="$(ADA_CC)" CC="$(ADA_CC)" \
 -f $$thisdir/Makefile libgnat.a
	rm -rf $(adaincdir)-tmp
	mkdir $(adaincdir)-tmp
	mv $(adaobjdir)-tmp/*.ad? $(adaincdir)-tmp
	rm -rf $(adaincdir) $(adaobjdir)
	mv $(adaobjdir)-tmp $(adaobjdir)
	ranlib $(adaobjdir)/libgnat.a
	mv $(adaincdir)-tmp $(adaincdir)

libobjs : $(GNAT_RTL_OBJS)

libgnat.a : $(LIB_GNAT_OBJS)
	-rm -f libgnat.a
	$(AR) rc libgnat.a $(LIB_GNAT_OBJS)


ins-basic: makedirs
	install libgcc.a $(libsubdir)/libgcc.a
	ranlib $(libsubdir)/libgcc.a
	install specs    $(libsubdir)/specs
	install ld       $(libsubdir)/ld
	install cc1      $(libsubdir)/cc1
	install cpp      $(libsubdir)/cpp

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

