[comp.os.minix] Atari St GCC Update 6 of 10

bammi@dsrgsun.ces.cwru.edu (Jwahar R. Bammi) (11/28/88)

#!/bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the #!/bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create the files:
#	Chmem.sizes
#	Makefile
#	Makefile.cminix
#	Makefile.minix
#	Makefile.st
#	README.MINIX
#	UPDATE
#	XREADME
#	gcc.doc
#	readme.st
#	stddef.h
#	tm-atari.h
#	xm-atari.h
# This archive created: Thu Oct 27 21:49:00 1988
# By:	Jwahar R. Bammi(Case Western Reserve University)
#  Uucp:	 {decvax,sun,att}!cwjcc!dsrgsun!bammi
# Csnet:	 bammi@dsrgsun.ces.CWRU.edu
#  Arpa:	 bammi@dsrgsun.ces.CWRU.edu
#
export PATH; PATH=/bin:$PATH
echo shar: extracting "'Chmem.sizes'" '(245 characters)'
if test -f 'Chmem.sizes'
then
	echo shar: over-writing existing file "'Chmem.sizes'"
fi
sed 's/^X//' << \SHAR_EOF > 'Chmem.sizes'
X#
X# here are the chmem sizes i use with a 150K root file system on a 1040st
X#
Xchmem	=9216	gcc
Xchmem	=220000	gcc-ar
Xchmem	=220000	gcc-as
Xchmem	=133000	gcc-cc1
Xchmem	=220000	gcc-cpp
Xchmem	=220000	gcc-ld
Xchmem	=220000	gcc-nm
Xchmem	=220000	gcc-grep
SHAR_EOF
if test 245 -ne "`wc -c 'Chmem.sizes'`"
then
	echo shar: error transmitting "'Chmem.sizes'" '(should have been 245 characters)'
fi
echo shar: extracting "'Makefile'" '(13521 characters)'
if test -f 'Makefile'
then
	echo shar: over-writing existing file "'Makefile'"
fi
sed 's/^X//' << \SHAR_EOF > 'Makefile'
X# Makefile for GNU C compiler.
X#   Copyright (C) 1987 Free Software Foundation, Inc.
X
X#This file is part of GNU CC.
X
X#GNU CC is distributed in the hope that it will be useful,
X#but WITHOUT ANY WARRANTY.  No author or distributor
X#accepts responsibility to anyone for the consequences of using it
X#or for whether it serves any particular purpose or works at all,
X#unless he says so in writing.  Refer to the GNU CC General Public
X#License for full details.
X
X#Everyone is granted permission to copy, modify and redistribute
X#GNU CC, but only under the conditions described in the
X#GNU CC General Public License.   A copy of this license is
X#supposed to have been given to you along with GNU CC so you
X#can know your rights and responsibilities.  It should be in a
X#file named COPYING.  Among other things, the copyright notice
X#and this notice must be preserved on all copies.
X
XCROSSDIR = /dsrg/bammi/cross-gcc
XCROSSBIN = $(CROSSDIR)/bin
XCROSSLIB = $(CROSSDIR)/lib
XCROSSINC = $(CROSSDIR)/include
X
XCFLAGS = -g -O -DCROSSATARI=1
XCC = gcc
X
X# OLDCC should not be the GNU C compiler.
XOLDCC = cc
XBISON = bison
XAR = ar
XSHELL = /bin/sh
X
Xbindir = $(CROSSBIN)
Xlibdir = $(CROSSLIB)
X
X# These are what you would need on HPUX:
X# CFLAGS = -Wc,-Ns2000 -Wc,-Ne700
X# -g is desirable in CFLAGS, but a compiler bug in HPUX version 5
X# bites whenever tree.def, rtl.def or machmode.def is included
X# (ie., on every source file).
X# CCLIBFLAGS = -Wc,-Ns2000 -Wc,-Ne700
X# For CCLIBFLAGS you might want to specify the switch that
X# forces only 68000 instructions to be used.
X
X# If you are making gcc for the first time, and if you are compiling it with
X# a non-gcc compiler, and if your system doesn't have a working alloca() in any
X# of the standard libraries (as is true for HP/UX or Genix),
X# then get alloca.c from GNU Emacs and un-comment the following line:
X# ALLOCA = alloca.o
X
X# If your system has alloca() in /lib/libPW.a, un-comment the following line:
X# CLIB= -lPW
X  
X# If your system's malloc() routine fails for any reason (as it does on
X# certain versions of Genix), try getting the files
X# malloc.c and getpagesize.h from GNU Emacs and un-comment the following line:
X# MALLOC = malloc.o
X
X# If you are running GCC on an Apollo, you will need this:
X# CFLAGS = -g -O -M 3000 -U__STDC__ -DSHORT_ENUM_BUG
X
X# Change this to a null string if obstacks are installed in the
X# system library.
XOBSTACK=obstack.o
X
X# Dependency on obstack, alloca, malloc or whatever library facilities
X# are not installed in the system libraries.
XLIBDEPS= $(OBSTACK) $(ALLOCA) $(MALLOC)
X
X# How to link with both our special library facilities
X# and the system's installed libraries.
XLIBS = $(OBSTACK) $(ALLOCA) $(MALLOC) $(CLIB)
X
XDIR = ../gcc
X
X# Object files of CC1.
XOBJS = toplev.o version.o c-parse.tab.o tree.o print-tree.o \
X c-decl.o c-typeck.o c-convert.o stor-layout.o fold-const.o \
X rtl.o expr.o stmt.o expmed.o explow.o optabs.o varasm.o \
X symout.o dbxout.o sdbout.o emit-rtl.o insn-emit.o \
X integrate.o jump.o cse.o loop.o flow.o stupid.o combine.o \
X regclass.o local-alloc.o global-alloc.o reload.o reload1.o insn-peep.o \
X final.o recog.o insn-recog.o insn-extract.o insn-output.o
X
X# Files to be copied away after each stage in building.
XSTAGE_GCC=gcc
XSTAGESTUFF = *.o insn-flags.h insn-config.h insn-codes.h \
X insn-output.c insn-recog.c insn-emit.c insn-extract.c insn-peep.c \
X genemit genoutput genrecog genextract genflags gencodes genconfig genpeep \
X cc1 cpp cccp
X
X# Members of gnulib.
XLIBFUNCS = _eprintf \
X   _umulsi3 _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
X   _lshrsi3 _lshlsi3 _ashrsi3 _ashlsi3 \
X   _divdf3 _muldf3 _negdf2 _adddf3 _subdf3 _cmpdf2 \
X   _fixunsdfsi _fixunsdfdi _fixdfsi _fixdfdi \
X   _floatsidf _floatdidf _truncdfsf2 _extendsfdf2 \
X   _addsf3 _negsf2 _subsf3 _cmpsf2 _mulsf3 _divsf3
X
X# Header files that are made available to programs compiled with gcc.
XUSER_H = stddef.h stdarg.h assert.h varargs.h va-*.h limits.h
X
X# If you want to recompile everything, just do rm *.o.
X# CONFIG_H = config.h tm.h
XCONFIG_H =
XRTL_H = rtl.h rtl.def machmode.def
XTREE_H = tree.h tree.def machmode.def
X
X#all: gnulib gcc cc1 cpp
Xall: gcc cc1 cpp
X
Xdoc: cpp.info internals
X
Xcompilations: ${OBJS}
X
Xgcc: gcc.o version.o $(LIBDEPS)
X	$(CC) $(CFLAGS) $(LDFLAGS) -o gccnew gcc.o version.o $(LIBS)
X# Go via `gccnew' to avoid `file busy' if $(CC) is `gcc'.
X	mv gccnew gcc
X
Xgcc.o: gcc.c $(CONFIG_H)
X	$(CC) $(CFLAGS) -c -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc-\" gcc.c
X
Xcc1: $(OBJS) $(LIBDEPS)
X	$(CC) $(CFLAGS) $(LDFLAGS) -o cc1 $(OBJS) $(LIBS)
X
X#Library of arithmetic subroutines
X# Don't compile this with gcc!
Xgnulib: gnulib.c
X	-mkdir libtemp
X	cd libtemp; \
X	rm -f gnulib; \
X	for name in $(LIBFUNCS); \
X	do \
X	  echo $${name}; \
X	  rm -f $${name}.c; \
X	  ln ../gnulib.c $${name}.c; \
X	  $(OLDCC) $(CCLIBFLAGS) -O -I.. -c -DL$${name} $${name}.c; \
X	  $(AR) qc gnulib $${name}.o; \
X	done
X	mv libtemp/gnulib .
X	rm -rf libtemp
X	if [ -f /usr/bin/ranlib ] ; then  ranlib gnulib ;fi
X# On HPUX, if you are working with the GNU assembler and linker,
X# the previous line must be replaced with
X# No change is needed here if you are using the HPUX assembler and linker.
X#	mv gnulib gnulib-hp
X#	hpxt gnulib-hp gnulib
X
X
X# C-language specific files.
X
Xc-parse.tab.o : c-parse.tab.c $(CONFIG_H) $(TREE_H) c-parse.h c-tree.h
Xc-parse.tab.c : c-parse.y
X	$(BISON) -v c-parse.y
X
Xc-decl.o : c-decl.c $(CONFIG_H) $(TREE_H) c-tree.h c-parse.h flags.h
Xc-typeck.o : c-typeck.c $(CONFIG_H) $(TREE_H) c-tree.h flags.h
Xc-convert.o : c-convert.c $(CONFIG_H) $(TREE_H)
X
X# Language-independent files.
X
Xtree.o : tree.c $(CONFIG_H) $(TREE_H)
Xprint-tree.o : print-tree.c $(CONFIG_H) $(TREE_H)
Xstor-layout.o : stor-layout.c $(CONFIG_H) $(TREE_H)
Xfold-const.o : fold-const.c $(CONFIG_H) $(TREE_H)
Xtoplev.o : toplev.c $(CONFIG_H) $(TREE_H) flags.h
X
Xrtl.o : rtl.c $(CONFIG_H) $(RTL_H)
X
Xvarasm.o : varasm.c $(CONFIG_H) $(TREE_H) $(RTL_H) flags.h expr.h insn-codes.h
Xstmt.o : stmt.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h  \
X   insn-flags.h expr.h insn-config.h regs.h insn-codes.h
Xexpr.o : expr.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h  \
X   insn-flags.h insn-codes.h expr.h insn-config.h recog.h
Xexpmed.o : expmed.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h  \
X   insn-flags.h insn-codes.h expr.h insn-config.h recog.h
Xexplow.o : explow.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h expr.h insn-codes.h
Xoptabs.o : optabs.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h  \
X   insn-flags.h insn-codes.h expr.h insn-config.h recog.h
Xsymout.o : symout.c $(CONFIG_H) $(TREE_H) $(RTL_H) symseg.h gdbfiles.h
Xdbxout.o : dbxout.c $(CONFIG_H) $(TREE_H) $(RTL_H) flags.h
Xsdbout.o : sdbout.c $(CONFIG_H) $(TREE_H) $(RTL_H) c-tree.h
X
Xemit-rtl.o : emit-rtl.c $(CONFIG_H) $(RTL_H) regs.h insn-config.h
X
Xintegrate.o : integrate.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h expr.h \
X   insn-flags.h insn-codes.h
X
Xjump.o : jump.c $(CONFIG_H) $(RTL_H) flags.h regs.h
Xstupid.o : stupid.c $(CONFIG_H) $(RTL_H) regs.h hard-reg-set.h
X
Xcse.o : cse.c $(CONFIG_H) $(RTL_H) regs.h hard-reg-set.h flags.h
Xloop.o : loop.c $(CONFIG_H) $(RTL_H) insn-config.h regs.h recog.h
Xflow.o : flow.c $(CONFIG_H) $(RTL_H) basic-block.h regs.h hard-reg-set.h
Xcombine.o : combine.c $(CONFIG_H) $(RTL_H) flags.h  \
X   insn-config.h regs.h basic-block.h recog.h
Xregclass.o : regclass.c $(CONFIG_H) $(RTL_H) flags.h regs.h \
X   insn-config.h recog.h hard-reg-set.h
Xlocal-alloc.o : local-alloc.c $(CONFIG_H) $(RTL_H) basic-block.h regs.h \
X   insn-config.h recog.h hard-reg-set.h
Xglobal-alloc.o : global-alloc.c $(CONFIG_H) $(RTL_H) flags.h  \
X   basic-block.h regs.h hard-reg-set.h insn-config.h
X
Xreload.o : reload.c $(CONFIG_H) $(RTL_H)  \
X   reload.h recog.h hard-reg-set.h insn-config.h regs.h
Xreload1.o : reload1.c $(CONFIG_H) $(RTL_H) flags.h  \
X   reload.h regs.h hard-reg-set.h insn-config.h basic-block.h
Xfinal.o : final.c $(CONFIG_H) $(RTL_H) regs.h recog.h conditions.h gdbfiles.h \
X   insn-config.h
Xrecog.o : recog.c $(CONFIG_H) $(RTL_H)  \
X   regs.h recog.h hard-reg-set.h insn-config.h
X
X# Now the source files that are generated from the machine description.
X
X.PRECIOUS: insn-config.h insn-flags.h insn-codes.h \
X  insn-emit.c insn-recog.c insn-extract.c insn-output.c insn-peep.c
X
Xinsn-config.h : md genconfig
X	./genconfig md > tmp-insn-config.h
X	./move-if-change tmp-insn-config.h insn-config.h
X
Xinsn-flags.h : md genflags
X	./genflags md > tmp-insn-flags.h
X	./move-if-change tmp-insn-flags.h insn-flags.h
X
Xinsn-codes.h : md gencodes
X	./gencodes md > tmp-insn-codes.h
X	./move-if-change tmp-insn-codes.h insn-codes.h
X
Xinsn-emit.o : insn-emit.c $(CONFIG_H) $(RTL_H) expr.h insn-config.h
X	$(CC) $(CFLAGS) -c insn-emit.c
X
Xinsn-emit.c : md genemit
X	./genemit md > tmp-insn-emit.c
X	./move-if-change tmp-insn-emit.c insn-emit.c
X
Xinsn-recog.o : insn-recog.c $(CONFIG_H) $(RTL_H) insn-config.h
X	$(CC) $(CFLAGS) -c insn-recog.c
X
Xinsn-recog.c : md genrecog
X	./genrecog md > tmp-insn-recog.c
X	./move-if-change tmp-insn-recog.c insn-recog.c
X
Xinsn-extract.o : insn-extract.c $(RTL_H)
X	$(CC) $(CFLAGS) -c insn-extract.c
X
Xinsn-extract.c : md genextract
X	./genextract md > tmp-insn-extract.c
X	./move-if-change tmp-insn-extract.c insn-extract.c
X
Xinsn-peep.o : insn-peep.c $(CONFIG_H) $(RTL_H) regs.h
X	$(CC) $(CFLAGS) -c insn-peep.c
X
Xinsn-peep.c : md genpeep
X	./genpeep md > tmp-insn-peep.c
X	./move-if-change tmp-insn-peep.c insn-peep.c
X
Xinsn-output.o : insn-output.c $(CONFIG_H) $(RTL_H) regs.h insn-config.h insn-flags.h conditions.h output.h aux-output.c
X	$(CC) $(CFLAGS) -c insn-output.c
X
Xinsn-output.c : md genoutput
X	./genoutput md > tmp-insn-output.c
X	./move-if-change tmp-insn-output.c insn-output.c
X
X# Now the programs that generate those files.
X
Xgenconfig : genconfig.o rtl.o $(LIBDEPS)
X	$(CC) $(CFLAGS) $(LDFLAGS) -o genconfig genconfig.o rtl.o $(LIBS)
X
Xgenconfig.o : genconfig.c $(RTL_H)
X	$(CC) $(CFLAGS) -c genconfig.c
X
Xgenflags : genflags.o rtl.o $(LIBDEPS)
X	$(CC) $(CFLAGS) $(LDFLAGS) -o genflags genflags.o rtl.o $(LIBS)
X
Xgenflags.o : genflags.c $(RTL_H)
X	$(CC) $(CFLAGS) -c genflags.c
X
Xgencodes : gencodes.o rtl.o $(LIBDEPS)
X	$(CC) $(CFLAGS) $(LDFLAGS) -o gencodes gencodes.o rtl.o $(LIBS)
X
Xgencodes.o : gencodes.c $(RTL_H)
X	$(CC) $(CFLAGS) -c gencodes.c
X
Xgenemit : genemit.o rtl.o $(LIBDEPS)
X	$(CC) $(CFLAGS) $(LDFLAGS) -o genemit genemit.o rtl.o $(LIBS)
X
Xgenemit.o : genemit.c $(RTL_H)
X	$(CC) $(CFLAGS) -c genemit.c
X
Xgenrecog : genrecog.o rtl.o $(LIBDEPS)
X	$(CC) $(CFLAGS) $(LDFLAGS) -o genrecog genrecog.o rtl.o $(LIBS)
X
Xgenrecog.o : genrecog.c $(RTL_H)
X	$(CC) $(CFLAGS) -c genrecog.c
X
Xgenextract : genextract.o rtl.o $(LIBDEPS)
X	$(CC) $(CFLAGS) $(LDFLAGS) -o genextract genextract.o rtl.o $(LIBS)
X
Xgenextract.o : genextract.c $(RTL_H)
X	$(CC) $(CFLAGS) -c genextract.c
X
Xgenpeep : genpeep.o rtl.o $(LIBDEPS)
X	$(CC) $(CFLAGS) $(LDFLAGS) -o genpeep genpeep.o rtl.o $(LIBS)
X
Xgenpeep.o : genpeep.c $(RTL_H)
X	$(CC) $(CFLAGS) -c genpeep.c
X
Xgenoutput : genoutput.o rtl.o $(LIBDEPS)
X	$(CC) $(CFLAGS) $(LDFLAGS) -o genoutput genoutput.o rtl.o $(LIBS)
X
Xgenoutput.o : genoutput.c $(RTL_H)
X	$(CC) $(CFLAGS) -c genoutput.c
X
X# Making the preprocessor
Xcpp: cccp
X	-rm -f cpp
X	ln cccp cpp
Xcccp: cccp.o cexp.o version.o $(LIBDEPS)
X	$(CC) $(CFLAGS) $(LDFLAGS) -o cccp cccp.o cexp.o version.o $(LIBS)
Xcexp.o: cexp.c
Xcexp.c: cexp.y
X	$(BISON) cexp.y
X	mv cexp.tab.c cexp.c
Xcccp.o: cccp.c
X	$(CC) $(CFLAGS) -DGCC_INCLUDE_DIR=\"$(libdir)/gcc-include\" \
X          -DGPLUSPLUS_INCLUDE_DIR=\"$(libdir)/g++-include\" \
X	  -DCROSSINC=\"$(CROSSINC)\" -c cccp.c
X
Xcpp.info: cpp.texinfo
X	makeinfo $<
X
Xinternals: internals.texinfo
X	makeinfo $<
X
X# gnulib is not deleted because deleting it would be inconvenient
X# for most uses of this target.
Xclean:
X	-rm -f $(STAGESTUFF) $(STAGE_GCC)
X	-rm -f *.s *.s[0-9] *.co *.greg *.lreg *.combine *.flow *.cse *.jump *.rtl *.tree *.loop
X	-rm -f core
X
X# Get rid of every file that's generated from some other file (except INSTALL).
Xrealclean: clean
X	-rm -f cpp.aux cpp.cps cpp.fns cpp.info cpp.kys cpp.pgs cpp.tps cpp.vrs
X	-rm -f c-parse.tab.c c-parse.output errs gnulib cexp.c TAGS 
X	-rm -f internals internals-* internals.?? internals.??s
X
X# Copy the files into directories where they will be run.
Xinstall: all
X	install cc1 $(libdir)/gcc-cc1
X	install cpp $(libdir)/gcc-cpp
X	install gcc $(bindir)
X
X#	install -c -m 755 gnulib $(libdir)/gcc-gnulib
X#	if [ -f /usr/bin/ranlib ] ; then  ranlib $(libdir)/gcc-gnulib ;fi
X#	-mkdir $(libdir)/gcc-include
X#	cd $(libdir)/gcc-include; rm -f $(USER_H)
X#	cp $(USER_H) $(libdir)/gcc-include
X
X# do make -f ../gcc/Makefile maketest DIR=../gcc
X# in the intended test directory to make it a suitable test directory.
Xmaketest:
X	ln -s $(DIR)/*.[chy] .
X	ln -s $(DIR)/*.def .
X	ln -s $(DIR)/*.md .
X	ln -s $(DIR)/.gdbinit .
X	-ln -s $(DIR)/bison.simple .
X	ln -s $(DIR)/gcc .
X	ln -s $(DIR)/move-if-change .
X	ln -s $(DIR)/Makefile test-Makefile
X	-rm tm.h aux-output.c
X	make -f test-Makefile clean
X# You must create the necessary links tm.h, md and aux-output.c
X
X# Copy the object files from a particular stage into a subdirectory.
Xstage1: force
X	-mkdir stage1
X	mv $(STAGESTUFF) $(STAGE_GCC) stage1
X	-rm stage1/gnulib
X	-ln gnulib stage1 || cp gnulib stage1
X
Xstage2: force
X	-mkdir stage2
X	mv $(STAGESTUFF) $(STAGE_GCC) stage2
X	-rm stage2/gnulib
X	-ln gnulib stage2 || cp gnulib stage2
X
Xstage3: force
X	-mkdir stage3
X	mv $(STAGESTUFF) $(STAGE_GCC) stage3
X	-rm stage3/gnulib
X	-ln gnulib stage3 || cp gnulib stage3
X
Xforce:
X
XTAGS: force
X	mkdir temp
X	-mv c-parse.tab.c cexp.c temp
X	etags *.y *.h *.c
X	mv temp/* .
X	rmdir temp
X
X#In GNU Make, ignore whether `stage*' exists.
X.PHONY: stage1 stage2 stage3 clean realclean TAGS
SHAR_EOF
if test 13521 -ne "`wc -c 'Makefile'`"
then
	echo shar: error transmitting "'Makefile'" '(should have been 13521 characters)'
fi
echo shar: extracting "'Makefile.cminix'" '(13807 characters)'
if test -f 'Makefile.cminix'
then
	echo shar: over-writing existing file "'Makefile.cminix'"
fi
sed 's/^X//' << \SHAR_EOF > 'Makefile.cminix'
X# Makefile for GNU C compiler.
X#   Copyright (C) 1987 Free Software Foundation, Inc.
X
X#This file is part of GNU CC.
X
X#GNU CC is distributed in the hope that it will be useful,
X#but WITHOUT ANY WARRANTY.  No author or distributor
X#accepts responsibility to anyone for the consequences of using it
X#or for whether it serves any particular purpose or works at all,
X#unless he says so in writing.  Refer to the GNU CC General Public
X#License for full details.
X
X#Everyone is granted permission to copy, modify and redistribute
X#GNU CC, but only under the conditions described in the
X#GNU CC General Public License.   A copy of this license is
X#supposed to have been given to you along with GNU CC so you
X#can know your rights and responsibilities.  It should be in a
X#file named COPYING.  Among other things, the copyright notice
X#and this notice must be preserved on all copies.
X
X
XCFLAGS = -O -Datariminix=1
XSUNCFLAGS = -O -g
XCC = /dsrg/bammi/cross-minix/bin/mgcc
XSUNCC=gcc
X
X# OLDCC should not be the GNU C compiler.
XOLDCC = cc
XBISON = bison
XAR = ar
XSHELL = /bin/sh
X
Xbindir = 
Xlibdir = 
X
X# These are what you would need on HPUX:
X# CFLAGS = -Wc,-Ns2000 -Wc,-Ne700
X# -g is desirable in CFLAGS, but a compiler bug in HPUX version 5
X# bites whenever tree.def, rtl.def or machmode.def is included
X# (ie., on every source file).
X# CCLIBFLAGS = -Wc,-Ns2000 -Wc,-Ne700
X# For CCLIBFLAGS you might want to specify the switch that
X# forces only 68000 instructions to be used.
X
X# If you are making gcc for the first time, and if you are compiling it with
X# a non-gcc compiler, and if your system doesn't have a working alloca() in any
X# of the standard libraries (as is true for HP/UX or Genix),
X# then get alloca.c from GNU Emacs and un-comment the following line:
X# ALLOCA = alloca.o
X
X# If your system has alloca() in /lib/libPW.a, un-comment the following line:
X# CLIB= -lPW
X  
X# If your system's malloc() routine fails for any reason (as it does on
X# certain versions of Genix), try getting the files
X# malloc.c and getpagesize.h from GNU Emacs and un-comment the following line:
X# MALLOC = malloc.o
X
X# If you are running GCC on an Apollo, you will need this:
X# CFLAGS = -g -O -M 3000 -U__STDC__ -DSHORT_ENUM_BUG
X
X# Change this to a null string if obstacks are installed in the
X# system library.
XOBSTACK=obstack.o
XOBSTACK1=obstack.oo
X
X# Dependency on obstack, alloca, malloc or whatever library facilities
X# are not installed in the system libraries.
XLIBDEPS= $(OBSTACK) $(ALLOCA) $(MALLOC)
XLIBDEPS1= $(OBSTACK1) $(ALLOCA) $(MALLOC)
X
X# How to link with both our special library facilities
X# and the system's installed libraries.
XLIBS = $(OBSTACK) $(ALLOCA) $(MALLOC) $(CLIB)
XLIBS1 = $(OBSTACK1) $(ALLOCA) $(MALLOC) $(CLIB)
X
XDIR = ../gcc
X
X# Object files of CC1.
XOBJS = toplev.o version.o c-parse.tab.o tree.o print-tree.o \
X c-decl.o c-typeck.o c-convert.o stor-layout.o fold-const.o \
X rtl.o expr.o stmt.o expmed.o explow.o optabs.o varasm.o \
X symout.o dbxout.o sdbout.o emit-rtl.o insn-emit.o \
X integrate.o jump.o cse.o loop.o flow.o stupid.o combine.o \
X regclass.o local-alloc.o global-alloc.o reload.o reload1.o insn-peep.o \
X final.o recog.o insn-recog.o insn-extract.o insn-output.o
X
X# Files to be copied away after each stage in building.
XSTAGE_GCC=gcc
XSTAGESTUFF = *.o insn-flags.h insn-config.h insn-codes.h \
X insn-output.c insn-recog.c insn-emit.c insn-extract.c insn-peep.c \
X genemit genoutput genrecog genextract genflags gencodes genconfig genpeep \
X cc1 cpp cccp
X
X# Members of gnulib.
XLIBFUNCS = _eprintf \
X   _umulsi3 _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
X   _lshrsi3 _lshlsi3 _ashrsi3 _ashlsi3 \
X   _divdf3 _muldf3 _negdf2 _adddf3 _subdf3 _cmpdf2 \
X   _fixunsdfsi _fixunsdfdi _fixdfsi _fixdfdi \
X   _floatsidf _floatdidf _truncdfsf2 _extendsfdf2 \
X   _addsf3 _negsf2 _subsf3 _cmpsf2 _mulsf3 _divsf3
X
X# Header files that are made available to programs compiled with gcc.
XUSER_H = stddef.h stdarg.h assert.h varargs.h va-*.h limits.h
X
X# If you want to recompile everything, just do rm *.o.
X# CONFIG_H = config.h tm.h
XCONFIG_H =
XRTL_H = rtl.h rtl.def machmode.def
XTREE_H = tree.h tree.def machmode.def
X
X#all: gnulib gcc cc1 cpp
Xall: gcc cc1 cpp
X
Xdoc: cpp.info internals
X
Xcompilations: ${OBJS}
X
Xgcc: gcc.o version.o $(LIBDEPS)
X	$(CC) $(CFLAGS) $(LDFLAGS) -o gccnew gcc.o version.o $(LIBS)
X# Go via `gccnew' to avoid `file busy' if $(CC) is `gcc'.
X	mv gccnew gcc
X
Xgcc.o: gcc.c $(CONFIG_H)
X	$(CC) $(CFLAGS) -c gcc.c
X
Xcc1: $(OBJS) $(LIBDEPS)
X	$(CC) $(CFLAGS) $(LDFLAGS) -o cc1 $(OBJS) $(LIBS)
X
X#Library of arithmetic subroutines
X# Don't compile this with gcc!
Xgnulib: gnulib.c
X	-mkdir libtemp
X	cd libtemp; \
X	rm -f gnulib; \
X	for name in $(LIBFUNCS); \
X	do \
X	  echo $${name}; \
X	  rm -f $${name}.c; \
X	  ln ../gnulib.c $${name}.c; \
X	  $(OLDCC) $(CCLIBFLAGS) -O -I.. -c -DL$${name} $${name}.c; \
X	  $(AR) qc gnulib $${name}.o; \
X	done
X	mv libtemp/gnulib .
X	rm -rf libtemp
X	if [ -f /usr/bin/ranlib ] ; then  ranlib gnulib ;fi
X# On HPUX, if you are working with the GNU assembler and linker,
X# the previous line must be replaced with
X# No change is needed here if you are using the HPUX assembler and linker.
X#	mv gnulib gnulib-hp
X#	hpxt gnulib-hp gnulib
X
X
X# C-language specific files.
X
Xc-parse.tab.o : c-parse.tab.c $(CONFIG_H) $(TREE_H) c-parse.h c-tree.h
Xc-parse.tab.c : c-parse.y
X	$(BISON) -v c-parse.y
X
Xc-decl.o : c-decl.c $(CONFIG_H) $(TREE_H) c-tree.h c-parse.h flags.h
Xc-typeck.o : c-typeck.c $(CONFIG_H) $(TREE_H) c-tree.h flags.h
Xc-convert.o : c-convert.c $(CONFIG_H) $(TREE_H)
X
X# Language-independent files.
X
Xtree.o : tree.c $(CONFIG_H) $(TREE_H)
Xprint-tree.o : print-tree.c $(CONFIG_H) $(TREE_H)
Xstor-layout.o : stor-layout.c $(CONFIG_H) $(TREE_H)
Xfold-const.o : fold-const.c $(CONFIG_H) $(TREE_H)
Xtoplev.o : toplev.c $(CONFIG_H) $(TREE_H) flags.h
X
Xrtl.o : rtl.c $(CONFIG_H) $(RTL_H)
Xrtl.oo : rtl.c $(CONFIG_H) $(RTL_H)
X	$(SUNCC) $(SUNCFLAGS) -c rtl.c -o rtl.oo
X
Xobstack.oo : obstack.c
X	$(SUNCC) $(SUNCFLAGS) -c obstack.c -o obstack.oo
X
Xvarasm.o : varasm.c $(CONFIG_H) $(TREE_H) $(RTL_H) flags.h expr.h insn-codes.h
Xstmt.o : stmt.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h  \
X   insn-flags.h expr.h insn-config.h regs.h insn-codes.h
Xexpr.o : expr.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h  \
X   insn-flags.h insn-codes.h expr.h insn-config.h recog.h
Xexpmed.o : expmed.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h  \
X   insn-flags.h insn-codes.h expr.h insn-config.h recog.h
Xexplow.o : explow.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h expr.h insn-codes.h
Xoptabs.o : optabs.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h  \
X   insn-flags.h insn-codes.h expr.h insn-config.h recog.h
Xsymout.o : symout.c $(CONFIG_H) $(TREE_H) $(RTL_H) symseg.h gdbfiles.h
Xdbxout.o : dbxout.c $(CONFIG_H) $(TREE_H) $(RTL_H) flags.h
Xsdbout.o : sdbout.c $(CONFIG_H) $(TREE_H) $(RTL_H) c-tree.h
X
Xemit-rtl.o : emit-rtl.c $(CONFIG_H) $(RTL_H) regs.h insn-config.h
X
Xintegrate.o : integrate.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h expr.h \
X   insn-flags.h insn-codes.h
X
Xjump.o : jump.c $(CONFIG_H) $(RTL_H) flags.h regs.h
Xstupid.o : stupid.c $(CONFIG_H) $(RTL_H) regs.h hard-reg-set.h
X
Xcse.o : cse.c $(CONFIG_H) $(RTL_H) regs.h hard-reg-set.h flags.h
Xloop.o : loop.c $(CONFIG_H) $(RTL_H) insn-config.h regs.h recog.h
Xflow.o : flow.c $(CONFIG_H) $(RTL_H) basic-block.h regs.h hard-reg-set.h
Xcombine.o : combine.c $(CONFIG_H) $(RTL_H) flags.h  \
X   insn-config.h regs.h basic-block.h recog.h
Xregclass.o : regclass.c $(CONFIG_H) $(RTL_H) flags.h regs.h \
X   insn-config.h recog.h hard-reg-set.h
Xlocal-alloc.o : local-alloc.c $(CONFIG_H) $(RTL_H) basic-block.h regs.h \
X   insn-config.h recog.h hard-reg-set.h
Xglobal-alloc.o : global-alloc.c $(CONFIG_H) $(RTL_H) flags.h  \
X   basic-block.h regs.h hard-reg-set.h insn-config.h
X
Xreload.o : reload.c $(CONFIG_H) $(RTL_H)  \
X   reload.h recog.h hard-reg-set.h insn-config.h regs.h
Xreload1.o : reload1.c $(CONFIG_H) $(RTL_H) flags.h  \
X   reload.h regs.h hard-reg-set.h insn-config.h basic-block.h
Xfinal.o : final.c $(CONFIG_H) $(RTL_H) regs.h recog.h conditions.h gdbfiles.h \
X   insn-config.h
Xrecog.o : recog.c $(CONFIG_H) $(RTL_H)  \
X   regs.h recog.h hard-reg-set.h insn-config.h
X
X# Now the source files that are generated from the machine description.
X
X.PRECIOUS: insn-config.h insn-flags.h insn-codes.h \
X  insn-emit.c insn-recog.c insn-extract.c insn-output.c insn-peep.c
X
Xinsn-config.h : md genconfig
X	./genconfig md > tmp-insn-config.h
X	./move-if-change tmp-insn-config.h insn-config.h
X
Xinsn-flags.h : md genflags
X	./genflags md > tmp-insn-flags.h
X	./move-if-change tmp-insn-flags.h insn-flags.h
X
Xinsn-codes.h : md gencodes
X	./gencodes md > tmp-insn-codes.h
X	./move-if-change tmp-insn-codes.h insn-codes.h
X
Xinsn-emit.o : insn-emit.c $(CONFIG_H) $(RTL_H) expr.h insn-config.h
X	$(CC) $(CFLAGS) -c insn-emit.c
X
Xinsn-emit.c : md genemit
X	./genemit md > tmp-insn-emit.c
X	./move-if-change tmp-insn-emit.c insn-emit.c
X
Xinsn-recog.o : insn-recog.c $(CONFIG_H) $(RTL_H) insn-config.h
X	$(CC) $(CFLAGS) -c insn-recog.c
X
Xinsn-recog.c : md genrecog
X	./genrecog md > tmp-insn-recog.c
X	./move-if-change tmp-insn-recog.c insn-recog.c
X
Xinsn-extract.o : insn-extract.c $(RTL_H)
X	$(CC) $(CFLAGS) -c insn-extract.c
X
Xinsn-extract.c : md genextract
X	./genextract md > tmp-insn-extract.c
X	./move-if-change tmp-insn-extract.c insn-extract.c
X
Xinsn-peep.o : insn-peep.c $(CONFIG_H) $(RTL_H) regs.h
X	$(CC) $(CFLAGS) -c insn-peep.c
X
Xinsn-peep.c : md genpeep
X	./genpeep md > tmp-insn-peep.c
X	./move-if-change tmp-insn-peep.c insn-peep.c
X
Xinsn-output.o : insn-output.c $(CONFIG_H) $(RTL_H) regs.h insn-config.h insn-flags.h conditions.h output.h aux-output.c
X	$(CC) $(CFLAGS) -c insn-output.c
X
Xinsn-output.c : md genoutput
X	./genoutput md > tmp-insn-output.c
X	./move-if-change tmp-insn-output.c insn-output.c
X
X# Now the programs that generate those files.
X
Xgenconfig : genconfig.oo rtl.oo $(LIBDEPS1)
X	$(SUNCC) $(SUNCFLAGS) $(LDFLAGS) -o genconfig genconfig.oo rtl.oo $(LIBS1)
X
Xgenconfig.oo : genconfig.c $(RTL_H)
X	$(SUNCC) $(SUNCFLAGS) -c genconfig.c -o genconfig.oo
X
Xgenflags : genflags.oo rtl.oo $(LIBDEPS1)
X	$(SUNCC) $(SUNCFLAGS) $(LDFLAGS) -o genflags genflags.oo rtl.oo $(LIBS1)
X
Xgenflags.oo : genflags.c $(RTL_H)
X	$(SUNCC) $(SUNCFLAGS) -c genflags.c -o genflags.oo
X
Xgencodes : gencodes.oo rtl.oo $(LIBDEPS1)
X	$(SUNCC) $(SUNCFLAGS) $(LDFLAGS) -o gencodes gencodes.oo rtl.oo $(LIBS1)
X
Xgencodes.oo : gencodes.c $(RTL_H)
X	$(SUNCC) $(SUNCFLAGS) -c gencodes.c -o gencodes.oo
X
Xgenemit : genemit.oo rtl.oo $(LIBDEPS1)
X	$(SUNCC) $(SUNCFLAGS) $(LDFLAGS) -o genemit genemit.oo rtl.oo $(LIBS1)
X
Xgenemit.oo : genemit.c $(RTL_H)
X	$(SUNCC) $(SUNCFLAGS) -c genemit.c -o genemit.oo
X
Xgenrecog : genrecog.oo rtl.oo $(LIBDEPS1)
X	$(SUNCC) $(SUNCFLAGS) $(LDFLAGS) -o genrecog genrecog.oo rtl.oo $(LIBS1)
X
Xgenrecog.oo : genrecog.c $(RTL_H)
X	$(SUNCC) $(SUNCFLAGS) -c genrecog.c -o genrecog.oo
X
Xgenextract : genextract.oo rtl.oo $(LIBDEPS1)
X	$(SUNCC) $(SUNCFLAGS) $(LDFLAGS) -o genextract genextract.oo rtl.oo $(LIBS1)
X
Xgenextract.oo : genextract.c $(RTL_H)
X	$(SUNCC) $(SUNCFLAGS) -c genextract.c -o genextract.oo
X
Xgenpeep : genpeep.oo rtl.oo $(LIBDEPS1)
X	$(SUNCC) $(SUNCFLAGS) $(LDFLAGS) -o genpeep genpeep.oo rtl.oo $(LIBS1)
X
Xgenpeep.oo : genpeep.c $(RTL_H)
X	$(SUNCC) $(SUNCFLAGS) -c genpeep.c -o genpeep.oo
X
Xgenoutput : genoutput.oo rtl.oo $(LIBDEPS1)
X	$(SUNCC) $(SUNCFLAGS) $(LDFLAGS) -o genoutput genoutput.oo rtl.oo $(LIBS1)
X
Xgenoutput.oo : genoutput.c $(RTL_H)
X	$(SUNCC) $(SUNCFLAGS) -c genoutput.c -o genoutput.oo
X
X# Making the preprocessor
Xcpp: cccp
X	-rm -f cpp
X	ln cccp cpp
X
Xcccp: cccp.o cexp.o version.o $(LIBDEPS)
X	$(CC) $(CFLAGS) $(LDFLAGS) -o cccp cccp.o cexp.o version.o $(LIBS)
Xcexp.o: cexp.c
Xcexp.c: cexp.y
X	$(BISON) cexp.y
X	mv cexp.tab.c cexp.c
Xcccp.o: cccp.c
X	$(CC) $(CFLAGS) -DUSE_C_ALLOCA -c cccp.c
X
Xcpp.info: cpp.texinfo
X	makeinfo $<
X
Xinternals: internals.texinfo
X	makeinfo $<
X
X# gnulib is not deleted because deleting it would be inconvenient
X# for most uses of this target.
Xclean:
X	-rm -f $(STAGESTUFF) $(STAGE_GCC)
X	-rm -f *.s *.s[0-9] *.co *.greg *.lreg *.combine *.flow *.cse *.jump *.rtl *.tree *.loop
X	-rm -f core
X
X# Get rid of every file that's generated from some other file (except INSTALL).
Xrealclean: clean
X	-rm -f cpp.aux cpp.cps cpp.fns cpp.info cpp.kys cpp.pgs cpp.tps cpp.vrs
X	-rm -f c-parse.tab.c c-parse.output errs gnulib cexp.c TAGS 
X	-rm -f internals internals-* internals.?? internals.??s
X
X# Copy the files into directories where they will be run.
Xinstall: all
X	install cc1 $(libdir)/gcc-cc1
X	install cpp $(libdir)/gcc-cpp
X	install gcc $(bindir)
X
X#	install -c -m 755 gnulib $(libdir)/gcc-gnulib
X#	if [ -f /usr/bin/ranlib ] ; then  ranlib $(libdir)/gcc-gnulib ;fi
X#	-mkdir $(libdir)/gcc-include
X#	cd $(libdir)/gcc-include; rm -f $(USER_H)
X#	cp $(USER_H) $(libdir)/gcc-include
X
X# do make -f ../gcc/Makefile maketest DIR=../gcc
X# in the intended test directory to make it a suitable test directory.
Xmaketest:
X	ln -s $(DIR)/*.[chy] .
X	ln -s $(DIR)/*.def .
X	ln -s $(DIR)/*.md .
X	ln -s $(DIR)/.gdbinit .
X	-ln -s $(DIR)/bison.simple .
X	ln -s $(DIR)/gcc .
X	ln -s $(DIR)/move-if-change .
X	ln -s $(DIR)/Makefile test-Makefile
X	-rm tm.h aux-output.c
X	make -f test-Makefile clean
X# You must create the necessary links tm.h, md and aux-output.c
X
X# Copy the object files from a particular stage into a subdirectory.
Xstage1: force
X	-mkdir stage1
X	mv $(STAGESTUFF) $(STAGE_GCC) stage1
X	-rm stage1/gnulib
X	-ln gnulib stage1 || cp gnulib stage1
X
Xstage2: force
X	-mkdir stage2
X	mv $(STAGESTUFF) $(STAGE_GCC) stage2
X	-rm stage2/gnulib
X	-ln gnulib stage2 || cp gnulib stage2
X
Xstage3: force
X	-mkdir stage3
X	mv $(STAGESTUFF) $(STAGE_GCC) stage3
X	-rm stage3/gnulib
X	-ln gnulib stage3 || cp gnulib stage3
X
Xforce:
X
XTAGS: force
X	mkdir temp
X	-mv c-parse.tab.c cexp.c temp
X	etags *.y *.h *.c
X	mv temp/* .
X	rmdir temp
X
X#In GNU Make, ignore whether `stage*' exists.
X.PHONY: stage1 stage2 stage3 clean realclean TAGS
SHAR_EOF
if test 13807 -ne "`wc -c 'Makefile.cminix'`"
then
	echo shar: error transmitting "'Makefile.cminix'" '(should have been 13807 characters)'
fi
echo shar: extracting "'Makefile.minix'" '(13531 characters)'
if test -f 'Makefile.minix'
then
	echo shar: over-writing existing file "'Makefile.minix'"
fi
sed 's/^X//' << \SHAR_EOF > 'Makefile.minix'
X# Makefile for GNU C compiler.
X#   Copyright (C) 1987 Free Software Foundation, Inc.
X
X#This file is part of GNU CC.
X
X#GNU CC is distributed in the hope that it will be useful,
X#but WITHOUT ANY WARRANTY.  No author or distributor
X#accepts responsibility to anyone for the consequences of using it
X#or for whether it serves any particular purpose or works at all,
X#unless he says so in writing.  Refer to the GNU CC General Public
X#License for full details.
X
X#Everyone is granted permission to copy, modify and redistribute
X#GNU CC, but only under the conditions described in the
X#GNU CC General Public License.   A copy of this license is
X#supposed to have been given to you along with GNU CC so you
X#can know your rights and responsibilities.  It should be in a
X#file named COPYING.  Among other things, the copyright notice
X#and this notice must be preserved on all copies.
X
XCROSSDIR = /dsrg/bammi/cross-minix
XCROSSBIN = $(CROSSDIR)/bin
XCROSSLIB = $(CROSSDIR)/lib
XCROSSINC = $(CROSSDIR)/include
X
XCFLAGS = -g -O -DCROSSATARI=1 -DMINIX
XCC = gcc
X
X# OLDCC should not be the GNU C compiler.
XOLDCC = cc
XBISON = bison
XAR = ar
XSHELL = /bin/sh
X
Xbindir = $(CROSSBIN)
Xlibdir = $(CROSSLIB)
X
X# These are what you would need on HPUX:
X# CFLAGS = -Wc,-Ns2000 -Wc,-Ne700
X# -g is desirable in CFLAGS, but a compiler bug in HPUX version 5
X# bites whenever tree.def, rtl.def or machmode.def is included
X# (ie., on every source file).
X# CCLIBFLAGS = -Wc,-Ns2000 -Wc,-Ne700
X# For CCLIBFLAGS you might want to specify the switch that
X# forces only 68000 instructions to be used.
X
X# If you are making gcc for the first time, and if you are compiling it with
X# a non-gcc compiler, and if your system doesn't have a working alloca() in any
X# of the standard libraries (as is true for HP/UX or Genix),
X# then get alloca.c from GNU Emacs and un-comment the following line:
X# ALLOCA = alloca.o
X
X# If your system has alloca() in /lib/libPW.a, un-comment the following line:
X# CLIB= -lPW
X  
X# If your system's malloc() routine fails for any reason (as it does on
X# certain versions of Genix), try getting the files
X# malloc.c and getpagesize.h from GNU Emacs and un-comment the following line:
X# MALLOC = malloc.o
X
X# If you are running GCC on an Apollo, you will need this:
X# CFLAGS = -g -O -M 3000 -U__STDC__ -DSHORT_ENUM_BUG
X
X# Change this to a null string if obstacks are installed in the
X# system library.
XOBSTACK=obstack.o
X
X# Dependency on obstack, alloca, malloc or whatever library facilities
X# are not installed in the system libraries.
XLIBDEPS= $(OBSTACK) $(ALLOCA) $(MALLOC)
X
X# How to link with both our special library facilities
X# and the system's installed libraries.
XLIBS = $(OBSTACK) $(ALLOCA) $(MALLOC) $(CLIB)
X
XDIR = ../gcc
X
X# Object files of CC1.
XOBJS = toplev.o version.o c-parse.tab.o tree.o print-tree.o \
X c-decl.o c-typeck.o c-convert.o stor-layout.o fold-const.o \
X rtl.o expr.o stmt.o expmed.o explow.o optabs.o varasm.o \
X symout.o dbxout.o sdbout.o emit-rtl.o insn-emit.o \
X integrate.o jump.o cse.o loop.o flow.o stupid.o combine.o \
X regclass.o local-alloc.o global-alloc.o reload.o reload1.o insn-peep.o \
X final.o recog.o insn-recog.o insn-extract.o insn-output.o
X
X# Files to be copied away after each stage in building.
XSTAGE_GCC=gcc
XSTAGESTUFF = *.o insn-flags.h insn-config.h insn-codes.h \
X insn-output.c insn-recog.c insn-emit.c insn-extract.c insn-peep.c \
X genemit genoutput genrecog genextract genflags gencodes genconfig genpeep \
X cc1 cpp cccp
X
X# Members of gnulib.
XLIBFUNCS = _eprintf \
X   _umulsi3 _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
X   _lshrsi3 _lshlsi3 _ashrsi3 _ashlsi3 \
X   _divdf3 _muldf3 _negdf2 _adddf3 _subdf3 _cmpdf2 \
X   _fixunsdfsi _fixunsdfdi _fixdfsi _fixdfdi \
X   _floatsidf _floatdidf _truncdfsf2 _extendsfdf2 \
X   _addsf3 _negsf2 _subsf3 _cmpsf2 _mulsf3 _divsf3
X
X# Header files that are made available to programs compiled with gcc.
XUSER_H = stddef.h stdarg.h assert.h varargs.h va-*.h limits.h
X
X# If you want to recompile everything, just do rm *.o.
X# CONFIG_H = config.h tm.h
XCONFIG_H =
XRTL_H = rtl.h rtl.def machmode.def
XTREE_H = tree.h tree.def machmode.def
X
X#all: gnulib gcc cc1 cpp
Xall: gcc cc1 cpp
X
Xdoc: cpp.info internals
X
Xcompilations: ${OBJS}
X
Xgcc: gcc.o version.o $(LIBDEPS)
X	$(CC) $(CFLAGS) $(LDFLAGS) -o gccnew gcc.o version.o $(LIBS)
X# Go via `gccnew' to avoid `file busy' if $(CC) is `gcc'.
X	mv gccnew gcc
X
Xgcc.o: gcc.c $(CONFIG_H)
X	$(CC) $(CFLAGS) -c -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc-\" gcc.c
X
Xcc1: $(OBJS) $(LIBDEPS)
X	$(CC) $(CFLAGS) $(LDFLAGS) -o cc1 $(OBJS) $(LIBS)
X
X#Library of arithmetic subroutines
X# Don't compile this with gcc!
Xgnulib: gnulib.c
X	-mkdir libtemp
X	cd libtemp; \
X	rm -f gnulib; \
X	for name in $(LIBFUNCS); \
X	do \
X	  echo $${name}; \
X	  rm -f $${name}.c; \
X	  ln ../gnulib.c $${name}.c; \
X	  $(OLDCC) $(CCLIBFLAGS) -O -I.. -c -DL$${name} $${name}.c; \
X	  $(AR) qc gnulib $${name}.o; \
X	done
X	mv libtemp/gnulib .
X	rm -rf libtemp
X	if [ -f /usr/bin/ranlib ] ; then  ranlib gnulib ;fi
X# On HPUX, if you are working with the GNU assembler and linker,
X# the previous line must be replaced with
X# No change is needed here if you are using the HPUX assembler and linker.
X#	mv gnulib gnulib-hp
X#	hpxt gnulib-hp gnulib
X
X
X# C-language specific files.
X
Xc-parse.tab.o : c-parse.tab.c $(CONFIG_H) $(TREE_H) c-parse.h c-tree.h
Xc-parse.tab.c : c-parse.y
X	$(BISON) -v c-parse.y
X
Xc-decl.o : c-decl.c $(CONFIG_H) $(TREE_H) c-tree.h c-parse.h flags.h
Xc-typeck.o : c-typeck.c $(CONFIG_H) $(TREE_H) c-tree.h flags.h
Xc-convert.o : c-convert.c $(CONFIG_H) $(TREE_H)
X
X# Language-independent files.
X
Xtree.o : tree.c $(CONFIG_H) $(TREE_H)
Xprint-tree.o : print-tree.c $(CONFIG_H) $(TREE_H)
Xstor-layout.o : stor-layout.c $(CONFIG_H) $(TREE_H)
Xfold-const.o : fold-const.c $(CONFIG_H) $(TREE_H)
Xtoplev.o : toplev.c $(CONFIG_H) $(TREE_H) flags.h
X
Xrtl.o : rtl.c $(CONFIG_H) $(RTL_H)
X
Xvarasm.o : varasm.c $(CONFIG_H) $(TREE_H) $(RTL_H) flags.h expr.h insn-codes.h
Xstmt.o : stmt.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h  \
X   insn-flags.h expr.h insn-config.h regs.h insn-codes.h
Xexpr.o : expr.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h  \
X   insn-flags.h insn-codes.h expr.h insn-config.h recog.h
Xexpmed.o : expmed.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h  \
X   insn-flags.h insn-codes.h expr.h insn-config.h recog.h
Xexplow.o : explow.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h expr.h insn-codes.h
Xoptabs.o : optabs.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h  \
X   insn-flags.h insn-codes.h expr.h insn-config.h recog.h
Xsymout.o : symout.c $(CONFIG_H) $(TREE_H) $(RTL_H) symseg.h gdbfiles.h
Xdbxout.o : dbxout.c $(CONFIG_H) $(TREE_H) $(RTL_H) flags.h
Xsdbout.o : sdbout.c $(CONFIG_H) $(TREE_H) $(RTL_H) c-tree.h
X
Xemit-rtl.o : emit-rtl.c $(CONFIG_H) $(RTL_H) regs.h insn-config.h
X
Xintegrate.o : integrate.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h expr.h \
X   insn-flags.h insn-codes.h
X
Xjump.o : jump.c $(CONFIG_H) $(RTL_H) flags.h regs.h
Xstupid.o : stupid.c $(CONFIG_H) $(RTL_H) regs.h hard-reg-set.h
X
Xcse.o : cse.c $(CONFIG_H) $(RTL_H) regs.h hard-reg-set.h flags.h
Xloop.o : loop.c $(CONFIG_H) $(RTL_H) insn-config.h regs.h recog.h
Xflow.o : flow.c $(CONFIG_H) $(RTL_H) basic-block.h regs.h hard-reg-set.h
Xcombine.o : combine.c $(CONFIG_H) $(RTL_H) flags.h  \
X   insn-config.h regs.h basic-block.h recog.h
Xregclass.o : regclass.c $(CONFIG_H) $(RTL_H) flags.h regs.h \
X   insn-config.h recog.h hard-reg-set.h
Xlocal-alloc.o : local-alloc.c $(CONFIG_H) $(RTL_H) basic-block.h regs.h \
X   insn-config.h recog.h hard-reg-set.h
Xglobal-alloc.o : global-alloc.c $(CONFIG_H) $(RTL_H) flags.h  \
X   basic-block.h regs.h hard-reg-set.h insn-config.h
X
Xreload.o : reload.c $(CONFIG_H) $(RTL_H)  \
X   reload.h recog.h hard-reg-set.h insn-config.h regs.h
Xreload1.o : reload1.c $(CONFIG_H) $(RTL_H) flags.h  \
X   reload.h regs.h hard-reg-set.h insn-config.h basic-block.h
Xfinal.o : final.c $(CONFIG_H) $(RTL_H) regs.h recog.h conditions.h gdbfiles.h \
X   insn-config.h
Xrecog.o : recog.c $(CONFIG_H) $(RTL_H)  \
X   regs.h recog.h hard-reg-set.h insn-config.h
X
X# Now the source files that are generated from the machine description.
X
X.PRECIOUS: insn-config.h insn-flags.h insn-codes.h \
X  insn-emit.c insn-recog.c insn-extract.c insn-output.c insn-peep.c
X
Xinsn-config.h : md genconfig
X	./genconfig md > tmp-insn-config.h
X	./move-if-change tmp-insn-config.h insn-config.h
X
Xinsn-flags.h : md genflags
X	./genflags md > tmp-insn-flags.h
X	./move-if-change tmp-insn-flags.h insn-flags.h
X
Xinsn-codes.h : md gencodes
X	./gencodes md > tmp-insn-codes.h
X	./move-if-change tmp-insn-codes.h insn-codes.h
X
Xinsn-emit.o : insn-emit.c $(CONFIG_H) $(RTL_H) expr.h insn-config.h
X	$(CC) $(CFLAGS) -c insn-emit.c
X
Xinsn-emit.c : md genemit
X	./genemit md > tmp-insn-emit.c
X	./move-if-change tmp-insn-emit.c insn-emit.c
X
Xinsn-recog.o : insn-recog.c $(CONFIG_H) $(RTL_H) insn-config.h
X	$(CC) $(CFLAGS) -c insn-recog.c
X
Xinsn-recog.c : md genrecog
X	./genrecog md > tmp-insn-recog.c
X	./move-if-change tmp-insn-recog.c insn-recog.c
X
Xinsn-extract.o : insn-extract.c $(RTL_H)
X	$(CC) $(CFLAGS) -c insn-extract.c
X
Xinsn-extract.c : md genextract
X	./genextract md > tmp-insn-extract.c
X	./move-if-change tmp-insn-extract.c insn-extract.c
X
Xinsn-peep.o : insn-peep.c $(CONFIG_H) $(RTL_H) regs.h
X	$(CC) $(CFLAGS) -c insn-peep.c
X
Xinsn-peep.c : md genpeep
X	./genpeep md > tmp-insn-peep.c
X	./move-if-change tmp-insn-peep.c insn-peep.c
X
Xinsn-output.o : insn-output.c $(CONFIG_H) $(RTL_H) regs.h insn-config.h insn-flags.h conditions.h output.h aux-output.c
X	$(CC) $(CFLAGS) -c insn-output.c
X
Xinsn-output.c : md genoutput
X	./genoutput md > tmp-insn-output.c
X	./move-if-change tmp-insn-output.c insn-output.c
X
X# Now the programs that generate those files.
X
Xgenconfig : genconfig.o rtl.o $(LIBDEPS)
X	$(CC) $(CFLAGS) $(LDFLAGS) -o genconfig genconfig.o rtl.o $(LIBS)
X
Xgenconfig.o : genconfig.c $(RTL_H)
X	$(CC) $(CFLAGS) -c genconfig.c
X
Xgenflags : genflags.o rtl.o $(LIBDEPS)
X	$(CC) $(CFLAGS) $(LDFLAGS) -o genflags genflags.o rtl.o $(LIBS)
X
Xgenflags.o : genflags.c $(RTL_H)
X	$(CC) $(CFLAGS) -c genflags.c
X
Xgencodes : gencodes.o rtl.o $(LIBDEPS)
X	$(CC) $(CFLAGS) $(LDFLAGS) -o gencodes gencodes.o rtl.o $(LIBS)
X
Xgencodes.o : gencodes.c $(RTL_H)
X	$(CC) $(CFLAGS) -c gencodes.c
X
Xgenemit : genemit.o rtl.o $(LIBDEPS)
X	$(CC) $(CFLAGS) $(LDFLAGS) -o genemit genemit.o rtl.o $(LIBS)
X
Xgenemit.o : genemit.c $(RTL_H)
X	$(CC) $(CFLAGS) -c genemit.c
X
Xgenrecog : genrecog.o rtl.o $(LIBDEPS)
X	$(CC) $(CFLAGS) $(LDFLAGS) -o genrecog genrecog.o rtl.o $(LIBS)
X
Xgenrecog.o : genrecog.c $(RTL_H)
X	$(CC) $(CFLAGS) -c genrecog.c
X
Xgenextract : genextract.o rtl.o $(LIBDEPS)
X	$(CC) $(CFLAGS) $(LDFLAGS) -o genextract genextract.o rtl.o $(LIBS)
X
Xgenextract.o : genextract.c $(RTL_H)
X	$(CC) $(CFLAGS) -c genextract.c
X
Xgenpeep : genpeep.o rtl.o $(LIBDEPS)
X	$(CC) $(CFLAGS) $(LDFLAGS) -o genpeep genpeep.o rtl.o $(LIBS)
X
Xgenpeep.o : genpeep.c $(RTL_H)
X	$(CC) $(CFLAGS) -c genpeep.c
X
Xgenoutput : genoutput.o rtl.o $(LIBDEPS)
X	$(CC) $(CFLAGS) $(LDFLAGS) -o genoutput genoutput.o rtl.o $(LIBS)
X
Xgenoutput.o : genoutput.c $(RTL_H)
X	$(CC) $(CFLAGS) -c genoutput.c
X
X# Making the preprocessor
Xcpp: cccp
X	-rm -f cpp
X	ln cccp cpp
Xcccp: cccp.o cexp.o version.o $(LIBDEPS)
X	$(CC) $(CFLAGS) $(LDFLAGS) -o cccp cccp.o cexp.o version.o $(LIBS)
Xcexp.o: cexp.c
Xcexp.c: cexp.y
X	$(BISON) cexp.y
X	mv cexp.tab.c cexp.c
Xcccp.o: cccp.c
X	$(CC) $(CFLAGS) -DGCC_INCLUDE_DIR=\"$(libdir)/gcc-include\" \
X          -DGPLUSPLUS_INCLUDE_DIR=\"$(libdir)/g++-include\" \
X	  -DCROSSINC=\"$(CROSSINC)\" -c cccp.c
X
Xcpp.info: cpp.texinfo
X	makeinfo $<
X
Xinternals: internals.texinfo
X	makeinfo $<
X
X# gnulib is not deleted because deleting it would be inconvenient
X# for most uses of this target.
Xclean:
X	-rm -f $(STAGESTUFF) $(STAGE_GCC)
X	-rm -f *.s *.s[0-9] *.co *.greg *.lreg *.combine *.flow *.cse *.jump *.rtl *.tree *.loop
X	-rm -f core
X
X# Get rid of every file that's generated from some other file (except INSTALL).
Xrealclean: clean
X	-rm -f cpp.aux cpp.cps cpp.fns cpp.info cpp.kys cpp.pgs cpp.tps cpp.vrs
X	-rm -f c-parse.tab.c c-parse.output errs gnulib cexp.c TAGS 
X	-rm -f internals internals-* internals.?? internals.??s
X
X# Copy the files into directories where they will be run.
Xinstall: all
X	install cc1 $(libdir)/gcc-cc1
X	install cpp $(libdir)/gcc-cpp
X	install gcc $(bindir)
X
X#	install -c -m 755 gnulib $(libdir)/gcc-gnulib
X#	if [ -f /usr/bin/ranlib ] ; then  ranlib $(libdir)/gcc-gnulib ;fi
X#	-mkdir $(libdir)/gcc-include
X#	cd $(libdir)/gcc-include; rm -f $(USER_H)
X#	cp $(USER_H) $(libdir)/gcc-include
X
X# do make -f ../gcc/Makefile maketest DIR=../gcc
X# in the intended test directory to make it a suitable test directory.
Xmaketest:
X	ln -s $(DIR)/*.[chy] .
X	ln -s $(DIR)/*.def .
X	ln -s $(DIR)/*.md .
X	ln -s $(DIR)/.gdbinit .
X	-ln -s $(DIR)/bison.simple .
X	ln -s $(DIR)/gcc .
X	ln -s $(DIR)/move-if-change .
X	ln -s $(DIR)/Makefile test-Makefile
X	-rm tm.h aux-output.c
X	make -f test-Makefile clean
X# You must create the necessary links tm.h, md and aux-output.c
X
X# Copy the object files from a particular stage into a subdirectory.
Xstage1: force
X	-mkdir stage1
X	mv $(STAGESTUFF) $(STAGE_GCC) stage1
X	-rm stage1/gnulib
X	-ln gnulib stage1 || cp gnulib stage1
X
Xstage2: force
X	-mkdir stage2
X	mv $(STAGESTUFF) $(STAGE_GCC) stage2
X	-rm stage2/gnulib
X	-ln gnulib stage2 || cp gnulib stage2
X
Xstage3: force
X	-mkdir stage3
X	mv $(STAGESTUFF) $(STAGE_GCC) stage3
X	-rm stage3/gnulib
X	-ln gnulib stage3 || cp gnulib stage3
X
Xforce:
X
XTAGS: force
X	mkdir temp
X	-mv c-parse.tab.c cexp.c temp
X	etags *.y *.h *.c
X	mv temp/* .
X	rmdir temp
X
X#In GNU Make, ignore whether `stage*' exists.
X.PHONY: stage1 stage2 stage3 clean realclean TAGS
SHAR_EOF
if test 13531 -ne "`wc -c 'Makefile.minix'`"
then
	echo shar: error transmitting "'Makefile.minix'" '(should have been 13531 characters)'
fi
echo shar: extracting "'Makefile.st'" '(13799 characters)'
if test -f 'Makefile.st'
then
	echo shar: over-writing existing file "'Makefile.st'"
fi
sed 's/^X//' << \SHAR_EOF > 'Makefile.st'
X# Makefile for GNU C compiler.
X#   Copyright (C) 1987 Free Software Foundation, Inc.
X
X#This file is part of GNU CC.
X
X#GNU CC is distributed in the hope that it will be useful,
X#but WITHOUT ANY WARRANTY.  No author or distributor
X#accepts responsibility to anyone for the consequences of using it
X#or for whether it serves any particular purpose or works at all,
X#unless he says so in writing.  Refer to the GNU CC General Public
X#License for full details.
X
X#Everyone is granted permission to copy, modify and redistribute
X#GNU CC, but only under the conditions described in the
X#GNU CC General Public License.   A copy of this license is
X#supposed to have been given to you along with GNU CC so you
X#can know your rights and responsibilities.  It should be in a
X#file named COPYING.  Among other things, the copyright notice
X#and this notice must be preserved on all copies.
X
X
XCFLAGS = -O -Datarist=1
XSUNCFLAGS = -O -g
XCC = /dsrg/bammi/cross-gcc/bin/cgcc
XSUNCC=gcc
X
X# OLDCC should not be the GNU C compiler.
XOLDCC = cc
XBISON = bison
XAR = ar
XSHELL = /bin/sh
X
Xbindir = 
Xlibdir = 
X
X# These are what you would need on HPUX:
X# CFLAGS = -Wc,-Ns2000 -Wc,-Ne700
X# -g is desirable in CFLAGS, but a compiler bug in HPUX version 5
X# bites whenever tree.def, rtl.def or machmode.def is included
X# (ie., on every source file).
X# CCLIBFLAGS = -Wc,-Ns2000 -Wc,-Ne700
X# For CCLIBFLAGS you might want to specify the switch that
X# forces only 68000 instructions to be used.
X
X# If you are making gcc for the first time, and if you are compiling it with
X# a non-gcc compiler, and if your system doesn't have a working alloca() in any
X# of the standard libraries (as is true for HP/UX or Genix),
X# then get alloca.c from GNU Emacs and un-comment the following line:
X# ALLOCA = alloca.o
X
X# If your system has alloca() in /lib/libPW.a, un-comment the following line:
X# CLIB= -lPW
X  
X# If your system's malloc() routine fails for any reason (as it does on
X# certain versions of Genix), try getting the files
X# malloc.c and getpagesize.h from GNU Emacs and un-comment the following line:
X# MALLOC = malloc.o
X
X# If you are running GCC on an Apollo, you will need this:
X# CFLAGS = -g -O -M 3000 -U__STDC__ -DSHORT_ENUM_BUG
X
X# Change this to a null string if obstacks are installed in the
X# system library.
XOBSTACK=obstack.o
XOBSTACK1=obstack.oo
X
X# Dependency on obstack, alloca, malloc or whatever library facilities
X# are not installed in the system libraries.
XLIBDEPS= $(OBSTACK) $(ALLOCA) $(MALLOC)
XLIBDEPS1= $(OBSTACK1) $(ALLOCA) $(MALLOC)
X
X# How to link with both our special library facilities
X# and the system's installed libraries.
XLIBS = $(OBSTACK) $(ALLOCA) $(MALLOC) $(CLIB)
XLIBS1 = $(OBSTACK1) $(ALLOCA) $(MALLOC) $(CLIB)
X
XDIR = ../gcc
X
X# Object files of CC1.
XOBJS = toplev.o version.o c-parse.tab.o tree.o print-tree.o \
X c-decl.o c-typeck.o c-convert.o stor-layout.o fold-const.o \
X rtl.o expr.o stmt.o expmed.o explow.o optabs.o varasm.o \
X symout.o dbxout.o sdbout.o emit-rtl.o insn-emit.o \
X integrate.o jump.o cse.o loop.o flow.o stupid.o combine.o \
X regclass.o local-alloc.o global-alloc.o reload.o reload1.o insn-peep.o \
X final.o recog.o insn-recog.o insn-extract.o insn-output.o
X
X# Files to be copied away after each stage in building.
XSTAGE_GCC=gcc
XSTAGESTUFF = *.o insn-flags.h insn-config.h insn-codes.h \
X insn-output.c insn-recog.c insn-emit.c insn-extract.c insn-peep.c \
X genemit genoutput genrecog genextract genflags gencodes genconfig genpeep \
X cc1 cpp cccp
X
X# Members of gnulib.
XLIBFUNCS = _eprintf \
X   _umulsi3 _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
X   _lshrsi3 _lshlsi3 _ashrsi3 _ashlsi3 \
X   _divdf3 _muldf3 _negdf2 _adddf3 _subdf3 _cmpdf2 \
X   _fixunsdfsi _fixunsdfdi _fixdfsi _fixdfdi \
X   _floatsidf _floatdidf _truncdfsf2 _extendsfdf2 \
X   _addsf3 _negsf2 _subsf3 _cmpsf2 _mulsf3 _divsf3
X
X# Header files that are made available to programs compiled with gcc.
XUSER_H = stddef.h stdarg.h assert.h varargs.h va-*.h limits.h
X
X# If you want to recompile everything, just do rm *.o.
X# CONFIG_H = config.h tm.h
XCONFIG_H =
XRTL_H = rtl.h rtl.def machmode.def
XTREE_H = tree.h tree.def machmode.def
X
X#all: gnulib gcc cc1 cpp
Xall: gcc.ttp cc1.ttp cpp.ttp
X
Xdoc: cpp.info internals
X
Xcompilations: ${OBJS}
X
Xgcc.ttp: gcc.o version.o $(LIBDEPS)
X	$(CC) $(CFLAGS) $(LDFLAGS) -o gccnew gcc.o version.o $(LIBS)
X# Go via `gccnew' to avoid `file busy' if $(CC) is `gcc'.
X	mv gccnew gcc.ttp
X
Xgcc.o: gcc.c $(CONFIG_H)
X	$(CC) $(CFLAGS) -c gcc.c
X
Xcc1.ttp: $(OBJS) $(LIBDEPS)
X	$(CC) $(CFLAGS) $(LDFLAGS) -o cc1.ttp $(OBJS) $(LIBS)
X
X#Library of arithmetic subroutines
X# Don't compile this with gcc!
Xgnulib: gnulib.c
X	-mkdir libtemp
X	cd libtemp; \
X	rm -f gnulib; \
X	for name in $(LIBFUNCS); \
X	do \
X	  echo $${name}; \
X	  rm -f $${name}.c; \
X	  ln ../gnulib.c $${name}.c; \
X	  $(OLDCC) $(CCLIBFLAGS) -O -I.. -c -DL$${name} $${name}.c; \
X	  $(AR) qc gnulib $${name}.o; \
X	done
X	mv libtemp/gnulib .
X	rm -rf libtemp
X	if [ -f /usr/bin/ranlib ] ; then  ranlib gnulib ;fi
X# On HPUX, if you are working with the GNU assembler and linker,
X# the previous line must be replaced with
X# No change is needed here if you are using the HPUX assembler and linker.
X#	mv gnulib gnulib-hp
X#	hpxt gnulib-hp gnulib
X
X
X# C-language specific files.
X
Xc-parse.tab.o : c-parse.tab.c $(CONFIG_H) $(TREE_H) c-parse.h c-tree.h
Xc-parse.tab.c : c-parse.y
X	$(BISON) -v c-parse.y
X
Xc-decl.o : c-decl.c $(CONFIG_H) $(TREE_H) c-tree.h c-parse.h flags.h
Xc-typeck.o : c-typeck.c $(CONFIG_H) $(TREE_H) c-tree.h flags.h
Xc-convert.o : c-convert.c $(CONFIG_H) $(TREE_H)
X
X# Language-independent files.
X
Xtree.o : tree.c $(CONFIG_H) $(TREE_H)
Xprint-tree.o : print-tree.c $(CONFIG_H) $(TREE_H)
Xstor-layout.o : stor-layout.c $(CONFIG_H) $(TREE_H)
Xfold-const.o : fold-const.c $(CONFIG_H) $(TREE_H)
Xtoplev.o : toplev.c $(CONFIG_H) $(TREE_H) flags.h
X
Xrtl.o : rtl.c $(CONFIG_H) $(RTL_H)
Xrtl.oo : rtl.c $(CONFIG_H) $(RTL_H)
X	$(SUNCC) $(SUNCFLAGS) -c rtl.c -o rtl.oo
X
Xobstack.oo : obstack.c
X	$(SUNCC) $(SUNCFLAGS) -c obstack.c -o obstack.oo
X
Xvarasm.o : varasm.c $(CONFIG_H) $(TREE_H) $(RTL_H) flags.h expr.h insn-codes.h
Xstmt.o : stmt.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h  \
X   insn-flags.h expr.h insn-config.h regs.h insn-codes.h
Xexpr.o : expr.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h  \
X   insn-flags.h insn-codes.h expr.h insn-config.h recog.h
Xexpmed.o : expmed.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h  \
X   insn-flags.h insn-codes.h expr.h insn-config.h recog.h
Xexplow.o : explow.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h expr.h insn-codes.h
Xoptabs.o : optabs.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h  \
X   insn-flags.h insn-codes.h expr.h insn-config.h recog.h
Xsymout.o : symout.c $(CONFIG_H) $(TREE_H) $(RTL_H) symseg.h gdbfiles.h
Xdbxout.o : dbxout.c $(CONFIG_H) $(TREE_H) $(RTL_H) flags.h
Xsdbout.o : sdbout.c $(CONFIG_H) $(TREE_H) $(RTL_H) c-tree.h
X
Xemit-rtl.o : emit-rtl.c $(CONFIG_H) $(RTL_H) regs.h insn-config.h
X
Xintegrate.o : integrate.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h expr.h \
X   insn-flags.h insn-codes.h
X
Xjump.o : jump.c $(CONFIG_H) $(RTL_H) flags.h regs.h
Xstupid.o : stupid.c $(CONFIG_H) $(RTL_H) regs.h hard-reg-set.h
X
Xcse.o : cse.c $(CONFIG_H) $(RTL_H) regs.h hard-reg-set.h flags.h
Xloop.o : loop.c $(CONFIG_H) $(RTL_H) insn-config.h regs.h recog.h
Xflow.o : flow.c $(CONFIG_H) $(RTL_H) basic-block.h regs.h hard-reg-set.h
Xcombine.o : combine.c $(CONFIG_H) $(RTL_H) flags.h  \
X   insn-config.h regs.h basic-block.h recog.h
Xregclass.o : regclass.c $(CONFIG_H) $(RTL_H) flags.h regs.h \
X   insn-config.h recog.h hard-reg-set.h
Xlocal-alloc.o : local-alloc.c $(CONFIG_H) $(RTL_H) basic-block.h regs.h \
X   insn-config.h recog.h hard-reg-set.h
Xglobal-alloc.o : global-alloc.c $(CONFIG_H) $(RTL_H) flags.h  \
X   basic-block.h regs.h hard-reg-set.h insn-config.h
X
Xreload.o : reload.c $(CONFIG_H) $(RTL_H)  \
X   reload.h recog.h hard-reg-set.h insn-config.h regs.h
Xreload1.o : reload1.c $(CONFIG_H) $(RTL_H) flags.h  \
X   reload.h regs.h hard-reg-set.h insn-config.h basic-block.h
Xfinal.o : final.c $(CONFIG_H) $(RTL_H) regs.h recog.h conditions.h gdbfiles.h \
X   insn-config.h
Xrecog.o : recog.c $(CONFIG_H) $(RTL_H)  \
X   regs.h recog.h hard-reg-set.h insn-config.h
X
X# Now the source files that are generated from the machine description.
X
X.PRECIOUS: insn-config.h insn-flags.h insn-codes.h \
X  insn-emit.c insn-recog.c insn-extract.c insn-output.c insn-peep.c
X
Xinsn-config.h : md genconfig
X	./genconfig md > tmp-insn-config.h
X	./move-if-change tmp-insn-config.h insn-config.h
X
Xinsn-flags.h : md genflags
X	./genflags md > tmp-insn-flags.h
X	./move-if-change tmp-insn-flags.h insn-flags.h
X
Xinsn-codes.h : md gencodes
X	./gencodes md > tmp-insn-codes.h
X	./move-if-change tmp-insn-codes.h insn-codes.h
X
Xinsn-emit.o : insn-emit.c $(CONFIG_H) $(RTL_H) expr.h insn-config.h
X	$(CC) $(CFLAGS) -c insn-emit.c
X
Xinsn-emit.c : md genemit
X	./genemit md > tmp-insn-emit.c
X	./move-if-change tmp-insn-emit.c insn-emit.c
X
Xinsn-recog.o : insn-recog.c $(CONFIG_H) $(RTL_H) insn-config.h
X	$(CC) $(CFLAGS) -c insn-recog.c
X
Xinsn-recog.c : md genrecog
X	./genrecog md > tmp-insn-recog.c
X	./move-if-change tmp-insn-recog.c insn-recog.c
X
Xinsn-extract.o : insn-extract.c $(RTL_H)
X	$(CC) $(CFLAGS) -c insn-extract.c
X
Xinsn-extract.c : md genextract
X	./genextract md > tmp-insn-extract.c
X	./move-if-change tmp-insn-extract.c insn-extract.c
X
Xinsn-peep.o : insn-peep.c $(CONFIG_H) $(RTL_H) regs.h
X	$(CC) $(CFLAGS) -c insn-peep.c
X
Xinsn-peep.c : md genpeep
X	./genpeep md > tmp-insn-peep.c
X	./move-if-change tmp-insn-peep.c insn-peep.c
X
Xinsn-output.o : insn-output.c $(CONFIG_H) $(RTL_H) regs.h insn-config.h insn-flags.h conditions.h output.h aux-output.c
X	$(CC) $(CFLAGS) -c insn-output.c
X
Xinsn-output.c : md genoutput
X	./genoutput md > tmp-insn-output.c
X	./move-if-change tmp-insn-output.c insn-output.c
X
X# Now the programs that generate those files.
X
Xgenconfig : genconfig.oo rtl.oo $(LIBDEPS1)
X	$(SUNCC) $(SUNCFLAGS) $(LDFLAGS) -o genconfig genconfig.oo rtl.oo $(LIBS1)
X
Xgenconfig.oo : genconfig.c $(RTL_H)
X	$(SUNCC) $(SUNCFLAGS) -c genconfig.c -o genconfig.oo
X
Xgenflags : genflags.oo rtl.oo $(LIBDEPS1)
X	$(SUNCC) $(SUNCFLAGS) $(LDFLAGS) -o genflags genflags.oo rtl.oo $(LIBS1)
X
Xgenflags.oo : genflags.c $(RTL_H)
X	$(SUNCC) $(SUNCFLAGS) -c genflags.c -o genflags.oo
X
Xgencodes : gencodes.oo rtl.oo $(LIBDEPS1)
X	$(SUNCC) $(SUNCFLAGS) $(LDFLAGS) -o gencodes gencodes.oo rtl.oo $(LIBS1)
X
Xgencodes.oo : gencodes.c $(RTL_H)
X	$(SUNCC) $(SUNCFLAGS) -c gencodes.c -o gencodes.oo
X
Xgenemit : genemit.oo rtl.oo $(LIBDEPS1)
X	$(SUNCC) $(SUNCFLAGS) $(LDFLAGS) -o genemit genemit.oo rtl.oo $(LIBS1)
X
Xgenemit.oo : genemit.c $(RTL_H)
X	$(SUNCC) $(SUNCFLAGS) -c genemit.c -o genemit.oo
X
Xgenrecog : genrecog.oo rtl.oo $(LIBDEPS1)
X	$(SUNCC) $(SUNCFLAGS) $(LDFLAGS) -o genrecog genrecog.oo rtl.oo $(LIBS1)
X
Xgenrecog.oo : genrecog.c $(RTL_H)
X	$(SUNCC) $(SUNCFLAGS) -c genrecog.c -o genrecog.oo
X
Xgenextract : genextract.oo rtl.oo $(LIBDEPS1)
X	$(SUNCC) $(SUNCFLAGS) $(LDFLAGS) -o genextract genextract.oo rtl.oo $(LIBS1)
X
Xgenextract.oo : genextract.c $(RTL_H)
X	$(SUNCC) $(SUNCFLAGS) -c genextract.c -o genextract.oo
X
Xgenpeep : genpeep.oo rtl.oo $(LIBDEPS1)
X	$(SUNCC) $(SUNCFLAGS) $(LDFLAGS) -o genpeep genpeep.oo rtl.oo $(LIBS1)
X
Xgenpeep.oo : genpeep.c $(RTL_H)
X	$(SUNCC) $(SUNCFLAGS) -c genpeep.c -o genpeep.oo
X
Xgenoutput : genoutput.oo rtl.oo $(LIBDEPS1)
X	$(SUNCC) $(SUNCFLAGS) $(LDFLAGS) -o genoutput genoutput.oo rtl.oo $(LIBS1)
X
Xgenoutput.oo : genoutput.c $(RTL_H)
X	$(SUNCC) $(SUNCFLAGS) -c genoutput.c -o genoutput.oo
X
X# Making the preprocessor
Xcpp.ttp: cccp
X	-rm -f cpp.ttp
X	ln cccp cpp.ttp
Xcccp: cccp.o cexp.o version.o $(LIBDEPS)
X	$(CC) $(CFLAGS) $(LDFLAGS) -o cccp cccp.o cexp.o version.o $(LIBS)
Xcexp.o: cexp.c
Xcexp.c: cexp.y
X	$(BISON) cexp.y
X	mv cexp.tab.c cexp.c
Xcccp.o: cccp.c
X
Xcpp.info: cpp.texinfo
X	makeinfo $<
X
Xinternals: internals.texinfo
X	makeinfo $<
X
X# gnulib is not deleted because deleting it would be inconvenient
X# for most uses of this target.
Xclean:
X	-rm -f $(STAGESTUFF) $(STAGE_GCC)
X	-rm -f *.s *.s[0-9] *.co *.greg *.lreg *.combine *.flow *.cse *.jump *.rtl *.tree *.loop
X	-rm -f core
X
X# Get rid of every file that's generated from some other file (except INSTALL).
Xrealclean: clean
X	-rm -f cpp.aux cpp.cps cpp.fns cpp.info cpp.kys cpp.pgs cpp.tps cpp.vrs
X	-rm -f c-parse.tab.c c-parse.output errs gnulib cexp.c TAGS 
X	-rm -f internals internals-* internals.?? internals.??s
X
X# Copy the files into directories where they will be run.
Xinstall: all
X	install cc1 $(libdir)/gcc-cc1
X	install cpp $(libdir)/gcc-cpp
X	install gcc $(bindir)
X
X#	install -c -m 755 gnulib $(libdir)/gcc-gnulib
X#	if [ -f /usr/bin/ranlib ] ; then  ranlib $(libdir)/gcc-gnulib ;fi
X#	-mkdir $(libdir)/gcc-include
X#	cd $(libdir)/gcc-include; rm -f $(USER_H)
X#	cp $(USER_H) $(libdir)/gcc-include
X
X# do make -f ../gcc/Makefile maketest DIR=../gcc
X# in the intended test directory to make it a suitable test directory.
Xmaketest:
X	ln -s $(DIR)/*.[chy] .
X	ln -s $(DIR)/*.def .
X	ln -s $(DIR)/*.md .
X	ln -s $(DIR)/.gdbinit .
X	-ln -s $(DIR)/bison.simple .
X	ln -s $(DIR)/gcc .
X	ln -s $(DIR)/move-if-change .
X	ln -s $(DIR)/Makefile test-Makefile
X	-rm tm.h aux-output.c
X	make -f test-Makefile clean
X# You must create the necessary links tm.h, md and aux-output.c
X
X# Copy the object files from a particular stage into a subdirectory.
Xstage1: force
X	-mkdir stage1
X	mv $(STAGESTUFF) $(STAGE_GCC) stage1
X	-rm stage1/gnulib
X	-ln gnulib stage1 || cp gnulib stage1
X
Xstage2: force
X	-mkdir stage2
X	mv $(STAGESTUFF) $(STAGE_GCC) stage2
X	-rm stage2/gnulib
X	-ln gnulib stage2 || cp gnulib stage2
X
Xstage3: force
X	-mkdir stage3
X	mv $(STAGESTUFF) $(STAGE_GCC) stage3
X	-rm stage3/gnulib
X	-ln gnulib stage3 || cp gnulib stage3
X
Xforce:
X
XTAGS: force
X	mkdir temp
X	-mv c-parse.tab.c cexp.c temp
X	etags *.y *.h *.c
X	mv temp/* .
X	rmdir temp
X
X#In GNU Make, ignore whether `stage*' exists.
X.PHONY: stage1 stage2 stage3 clean realclean TAGS
SHAR_EOF
if test 13799 -ne "`wc -c 'Makefile.st'`"
then
	echo shar: error transmitting "'Makefile.st'" '(should have been 13799 characters)'
fi
echo shar: extracting "'README.MINIX'" '(1504 characters)'
if test -f 'README.MINIX'
then
	echo shar: over-writing existing file "'README.MINIX'"
fi
sed 's/^X//' << \SHAR_EOF > 'README.MINIX'
XThis is the README file for the GNU cross compiler. Diffs are with respect
Xto GCC V1.31
X
X	-configuration:
X		copy all the files from the gcc v1.31 distribution
X		into a directory called SRC (i created symbolic links between
X		the files).
X		copy all the files in this directory into SRC.
X		cd to SRC
X		Apply the diffs using larry walls patch program
X			patch < gcc-diff
X		make the following links in SRC
X			config.h to xm-atari.h
X			tm.h to tm-atari.h
X			aux-output.c to output-68k.c
X			md to m68k.md
X
X		edit Makefile.* to make sure the following
X		are defined appro.:
X		CROSSDIR -- the home directory of the cross dev. system
X
X		edit gcc.c config-atari.h & tm-atari.h and replace all
X		instances of the string "/dsrg/bammi/cross-../..."
X		with CROSSDIR/... (ie. the same string as CROSSDIR above
X		plus whatever was there after /dsrg/bammi/cross-.../ ).
X
X	-if you already have a native minix-gcc and want to use
X	 that to make new minix executables, skip the next step.
X	 Please not that you will not be able to compile the
X	 compiler itself on a St with less that 2.5 M of memory.
X
X	-make cross compiler by
X		make -f Makefile.minix
X	will make and install cpp, cc1  and gcc
X
X	- to make minix atari st executables
X	   - make and install cross compiler as above (or use your native
X		minix-gcc compiler)
X	   - make by
X		make -f Makefile.cminix
X--
Xusenet: {decvax,sun}!cwjcc!dsrgsun!bammi	jwahar r. bammi
Xcsnet:       bammi@dsrgsun.ces.CWRU.edu
Xarpa:        bammi@dsrgsun.ces.CWRU.edu
XcompuServe:  71515,155
SHAR_EOF
if test 1504 -ne "`wc -c 'README.MINIX'`"
then
	echo shar: error transmitting "'README.MINIX'" '(should have been 1504 characters)'
fi
echo shar: extracting "'UPDATE'" '(1526 characters)'
if test -f 'UPDATE'
then
	echo shar: over-writing existing file "'UPDATE'"
fi
sed 's/^X//' << \SHAR_EOF > 'UPDATE'
XUpdating minix gcc to gcc v1.31
X
XNote that gcc-cpp, gcc-cc1 and gcc-as must be re-made using either
Xa cross-compiler or your native minix-gcc compiler. These components
Xmust be remade even if you are not upgrading to v1.31, if you want
Xto use the updgraded library, as the floating point representation
Xhas changed. Of course this means that you must first re-make the library
Xusing your existing cross-compiler or native compiler,  before
Xyou remake these components. If you want to save yourself the hassle
Xof re-making libraries or these components, the binaries are available
Xfor FTP from dsrgsun.ces.cwru.edu (129.22.16.2) in the 
Xdirectory ~ftp/pub/minix. You need not re-make gcc-ld, gcc-nm or gcc-ar.
X
X	Files in this package
X	Chmem.sizes
X	Makefile
X	Makefile.cminix
X	Makefile.minix
X	Makefile.st
X	README.MINIX
X	UPDATE
X	XREADME
X	gcc.doc
X	readme.st
X	stddef.h
X	tm-atari.h
X	xm-atari.h
X	gcc-1.31-diff	diffs with respect to Gnu gcc V1.31
X
X	- if you are updating using files from the minix gcc v1.30
X	distribution:
X		o rename `config-atari.h' in the minix-gcc V1.30 distribution
X		 to `xm-atari.h'
X		o edit xm-atari.h, at line 13 change
X			  #include "config-m68k.h"
X		to
X			  #include "xm-m68k.h"
X
X	- replace Makefile.cminix as distributed in the minix gcc V1.30
X	  distribution with the one in this package.
X
X	- follow instructions in README.MINIX
X
X						enjoy,
X--
Xusenet: {decvax,sun}!cwjcc!dsrgsun!bammi	jwahar r. bammi
Xcsnet:       bammi@dsrgsun.ces.CWRU.edu
Xarpa:        bammi@dsrgsun.ces.CWRU.edu
XcompuServe:  71515,155
SHAR_EOF
if test 1526 -ne "`wc -c 'UPDATE'`"
then
	echo shar: error transmitting "'UPDATE'" '(should have been 1526 characters)'
fi
echo shar: extracting "'XREADME'" '(766 characters)'
if test -f 'XREADME'
then
	echo shar: over-writing existing file "'XREADME'"
fi
sed 's/^X//' << \SHAR_EOF > 'XREADME'
XThis is the README file for the GNU cross compiler.
X
X	-make file is called `Makefile'
X	-configuration:
X		edit Makefile to make sure the following
X		are defined appro.:
X		CROSSDIR -- the home directory of the cross dev. system
X
X		edit gcc.c config.h & tm-atari.h and replace all
X		instances of the string "/dsrg/bammi/cross-gcc/..."
X		with CROSSDIR/... (ie. the same string as CROSSDIR above
X		plus whatever was there after /dsrg/bammi/cross-gcc/ ).
X
X	-make by
X		make install
X	will make and install cpp, cc1  and gcc
X
X	- to make atari st executables
X	   - make and install cross compiler as above
X	   - edit `toplev.c' and set _stksize appropriate for
X	     your setup. 128K is a good size for a 1M ST.
X	   - make by
X		make -f Makefile.st
X	   - download *.ttp files.
SHAR_EOF
if test 766 -ne "`wc -c 'XREADME'`"
then
	echo shar: error transmitting "'XREADME'" '(should have been 766 characters)'
fi
echo shar: extracting "'gcc.doc'" '(27031 characters)'
if test -f 'gcc.doc'
then
	echo shar: over-writing existing file "'gcc.doc'"
fi
sed 's/^X//' << \SHAR_EOF > 'gcc.doc'
XThe GNU C compiler uses a command syntax much like the Unix C compiler.
XThe `gcc' program accepts options and file names as operands.
XMultiple single-letter options may *not* be grouped: `-dr' is
Xvery different from `-d -r'.
X
XWhen you invoke GNU CC, it normally does preprocessing, compilation,
Xassembly and linking.  File names which end in `.c' are taken as C
Xsource to be preprocessed and compiled; compiler output files plus any
Xinput files with names ending in `.s' are assembled; then the
Xresulting object files, plus any other input files, are linked together to
Xproduce an executable.
X
XCommand options allow you to stop this process at an intermediate stage.
XFor example, the `-c' option says not to run the linker.  Then the
Xoutput consists of object files output by the assembler.
X
XOther command options are passed on to one stage.  Some options control
Xthe preprocessor and others the compiler itself.  Yet other options
Xcontrol the assembler and linker; these are not documented here because the
XGNU assembler and linker are not yet released. (WE have them at CWRU)
X
XHere are the options to control the overall compilation process, including
Xthose that say whether to link, whether to assemble, and so on.
X
X`-o FILE'
X     Place output in file FILE.  This applies regardless to whatever
X     sort of output is being produced, whether it be an executable file,
X     an object file, an assembler file or preprocessed C code.
X
X     If `-o' is not specified, the default is to put an executable file
X     in `a.out', the object file `SOURCE.c' in `SOURCE.o', an assembler
X     file in `SOURCE.s', and preprocessed C on standard output.
X
X`-c'
X     Compile or assemble the source files, but do not link.  Produce object
X     files with names made by replacing `.c' or `.s' with
X     `.o' at the end of the input file names.  Do nothing at all for
X     object files specified as input.
X
X`-S'
X     Compile into assembler code but do not assemble.  The assembler output
X     file name is made by replacing `.c' with `.s' at the end of
X     the input file name.  Do nothing at all for assembler source files or
X     object files specified as input.
X
X`-E'
X     Run only the C preprocessor.  Preprocess all the C source files
X     specified and output the results to standard output.
X
X`-v'
X     Compiler driver program prints the commands it executes as it runs
X     the preprocessor, compiler proper, assembler and linker.  Some of
X     these are directed to print their own version numbers.
X
X`-BPREFIX'
X     Compiler driver program tries PREFIX as a prefix for each
X     program it tries to run.  These programs are `cpp', `cc1',
X     `as' and `ld'.
X
X     For each subprogram to be run, the compiler driver first tries the
X     `-B' prefix, if any.  If that name is not found, or if `-B'
X     was not specified, the driver tries two standard prefixes, which are
X     `/usr/lib/gcc-' and `/usr/local/lib/gcc-'.  If neither of
X     those results in a file name that is found, the unmodified program
X     name is searched for using the directories specified in your
X     `PATH' environment variable.
X
X     The run-time support file `gnulib' is also searched for using
X     the `-B' prefix, if needed.  If it is not found there, the two
X     standard prefixes above are tried, and that is all.  The file is left
X     out of the link if it is not found by those means.  Most of the time,
X     on most machines, you can do without it.
X
XThese options control the details of C compilation itself.
X
X`-ansi'
X     Support all ANSI standard C programs.
X
X     This turns off certain features of GNU C that are incompatible with
X     ANSI C, such as the `asm', `inline' and `typeof'
X     keywords, and predefined macros such as `unix' and `vax'
X     that identify the type of system you are using.  It also enables the
X     undesirable and rarely used ANSI trigraph feature.
X
X     The `-ansi' option does not cause non-ANSI programs to be
X     rejected gratuitously.  For that, `-pedantic' is required in
X     addition to `-ansi'.
X
X     The macro `__STRICT_ANSI__' is predefined when the `-ansi'
X     option is used.  Some header files may notice this macro and refrain
X     from declaring certain functions or defining certain macros that the
X     ANSI standard doesn't call for; this is to avoid interfering with
X     any programs that might use these names for other things.
X
X`-traditional'
X     Attempt to support some aspects of traditional C compilers.
X     Specifically:
X
X        * All `extern' declarations take effect globally even if they
X          are written inside of a function definition.  This includes implicit
X          declarations of functions.
X
X        * The keywords `typeof', `inline', `signed', `const' and
X          `volatile' are not recognized.
X
X        * Comparisons between pointers and integers are always allowed.
X
X        * Integer types `unsigned short' and `unsigned char' promote
X          to `unsigned int'.
X
X        * Out-of-range floating point literals are not an error.
X
X        * All automatic variables not declared `register' are preserved by
X          `longjmp'.  Ordinarily, GNU C follows ANSI C: automatic variables
X          not declared `volatile' may be clobbered.
X
X        * In the preprocessor, comments convert to nothing at all, rather than
X          to a space.  This allows traditional token concatenation.
X
X        * In the preprocessor, macro arguments are recognized within string
X          constants in a macro definition (and their values are stringified,
X          though without additional quote marks, when they appear in such a
X          context).  The preprocessor always considers a string constant to end
X          at a newline.
X
X        * The predefined macro `__STDC__' is not defined when you use
X          `-traditional', but `__GNUC__' is (since the GNU extensions
X          which `__GNUC__' indicates are not affected by
X          `-traditional').  If you need to write header files that work
X          differently depending on whether `-traditional' is in use, by
X          testing both of these predefined macros you can distinguish four
X          situations: GNU C, traditional GNU C, other ANSI C compilers, and
X          other old C compilers.
X
X`-O'
X     Optimize.  Optimizing compilation takes somewhat more time, and a lot
X     more memory for a large function.
X
X     Without `-O', the compiler's goal is to reduce the cost of
X     compilation and to make debugging produce the expected results.
X     Statements are independent: if you stop the program with a breakpoint
X     between statements, you can then assign a new value to any variable or
X     change the program counter to any other statement in the function and
X     get exactly the results you would expect from the source code.
X
X     Without `-O', only variables declared `register' are
X     allocated in registers.  The resulting compiled code is a little worse
X     than produced by PCC without `-O'.
X
X     With `-O', the compiler tries to reduce code size and execution
X     time.
X
X     Some of the `-f' options described below turn specific kinds of
X     optimization on or off.
X
X`-g'
X     Produce debugging information in the operating system's native format
X     (for DBX or SDB).  GDB also can work with this debugging information.
X
X     Unlike most other C compilers, GNU CC allows you to use `-g' with
X     `-O'.  The shortcuts taken by optimized code may occasionally
X     produce surprising results: some variables you declared may not exist
X     at all; flow of control may briefly move where you did not expect it;
X     some statements may not be executed because they compute constant
X     results or their values were already at hand; some statements may
X     execute in different places because they were moved out of loops.
X     Nevertheless it proves possible to debug optimized output.  This makes
X     it reasonable to use the optimizer for programs that might have bugs.
X
X`-gg'
X     Produce debugging information in GDB's own format.  This requires the
X     GNU assembler and linker in order to work.
X
X     This feature will probably be eliminated.  It was intended to enable
X     GDB to read the symbol table faster, but it doesn't result in enough
X     of a speedup to be worth the larger object files and executables.  We
X     are working on other ways of making GDB start even faster, which work
X     with DBX format debugging information and could be made to work with
X     SDB format.
X
X`-w'
X     Inhibit all warning messages.
X
X`-W'
X     Print extra warning messages for these events:
X
X        * An automatic variable is used without first being initialized.
X
X          These warnings are possible only in optimizing compilation,
X          because they require data flow information that is computed only
X          when optimizing.  They occur only for variables that are
X          candidates for register allocation.  Therefore, they do not occur
X          for a variable that is declared `volatile', or whose address
X          is taken, or whose size is other than 1, 2, 4 or 8 bytes.  Also,
X          they do not occur for structures, unions or arrays, even when
X          they are in registers.
X
X          Note that there may be no warning about a variable that is used
X          only to compute a value that itself is never used, because such
X          computations may be deleted by the flow analysis pass before the
X          warnings are printed.
X
X          These warnings are made optional because GNU CC is not smart
X          enough to see all the reasons why the code might be correct
X          despite appearing to have an error.  Here is one example of how
X          this can happen:
X
X               {
X                 int x;
X                 switch (y)
X                   {
X                   case 1: x = 1;
X                     break;
X                   case 2: x = 4;
X                     break;
X                   case 3: x = 5;
X                   }
X                 foo (x);
X               }
X
X          If the value of `y' is always 1, 2 or 3, then `x' is
X          always initialized, but GNU CC doesn't know this.  Here is
X          another common case:
X
X               {
X                 int save_y;
X                 if (change_y) save_y = y, y = new_y;
X                 ...
X                 if (change_y) y = save_y;
X               }
X
X          This has no bug because `save_y' is used only if it is set.
X
X        * A nonvolatile automatic variable might be changed by a call to
X          `longjmp'.  These warnings as well are possible only in
X          optimizing compilation.
X
X          The compiler sees only the calls to `setjmp'.  It cannot know
X          where `longjmp' will be called; in fact, a signal handler could
X          call it at any point in the code.  As a result, you may get a warning
X          even when there is in fact no problem because `longjmp' cannot
X          in fact be called at the place which would cause a problem.
X
X        * A function can return either with or without a value.  (Falling
X          off the end of the function body is considered returning without
X          a value.)  For example, this function would inspire such a
X          warning:
X
X               foo (a)
X               {
X                 if (a > 0)
X                   return a;
X               }
X
X          Spurious warnings can occur because GNU CC does not realize that
X          certain functions (including `abort' and `longjmp')
X          will never return.
X
X     In the future, other useful warnings may also be enabled by this
X     option.
X
X`-Wimplicit'
X     Warn whenever a function is implicitly declared.
X
X`-Wreturn-type'
X     Warn whenever a function is defined with a return-type that defaults
X     to `int'.  Also warn about any `return' statement with no
X     return-value in a function whose return-type is not `void'.
X
X`-Wunused'
X     Warn whenever a local variable is unused aside from its declaration.
X
X`-Wcomment'
X     Warn whenever a comment-start sequence `/*' appears in a comment.
X
X`-Wall'
X     All of the above `-W' options combined.
X
X`-Wwrite-strings'
X     Give string constants the type `const char[LENGTH]' so that
X     copying the address of one into a non-`const' `char *'
X     pointer will get a warning.  These warnings will help you find at
X     compile time code that can try to write into a string constant, but
X     only if you have been very careful about using `const' in
X     declarations and prototypes.  Otherwise, it will just be a nuisance;
X     this is why we did not make `-Wall' request these warnings.
X
X`-p'
X     Generate extra code to write profile information suitable for the
X     analysis program `prof'.
X
X`-pg'
X     Generate extra code to write profile information suitable for the
X     analysis program `gprof'.
X
X`-lLIBRARY'
X     Search a standard list of directories for a library named
X     LIBRARY, which is actually a file named
X     `libLIBRARY.a'.  The linker uses this file as if it
X     had been specified precisely by name.
X
X     The directories searched include several standard system directories
X     plus any that you specify with `-L'.
X
X     Normally the files found this way are library files---archive files
X     whose members are object files.  The linker handles an archive file by
X     scanning through it for members which define symbols that have so far
X     been referenced but not defined.  But if the file that is found is an
X     ordinary object file, it is linked in the usual fashion.  The only
X     difference between using an `-l' option and specifying a file name
X     is that `-l' searches several directories.
X
X`-LDIR'
X     Add directory DIR to the list of directories to be searched
X     for `-l'.
X
X`-nostdlib'
X     Don't use the standard system libraries and startup files when
X     linking.  Only the files you specify (plus `gnulib') will be
X     passed to the linker.
X
X`-mMACHINESPEC'
X     Machine-dependent option specifying something about the type of
X     target machine.  These options are defined by the macro
X     `TARGET_SWITCHES' in the machine description.  The default for the
X     options is also defined by that macro, which enables you to change
X     the defaults.
X
X     These are the `-m' options defined in the 68000 machine
X     description:
X
X     `-m68020'
X     `-mc68020'
X          Generate output for a 68020 (rather than a 68000).  This is the
X          default if you use the unmodified sources.
X
X     `-m68000'
X     `-mc68000'
X          Generate output for a 68000 (rather than a 68020).
X
X     `-m68881'
X          Generate output containing 68881 instructions for floating point.
X          This is the default if you use the unmodified sources.
X
X     `-mfpa'
X          Generate output containing Sun FPA instructions for floating point.
X
X     `-msoft-float'
X          Generate output containing library calls for floating point.
X
X     `-mshort'
X          Consider type `int' to be 16 bits wide, like `short int'.
X	  The pre-processor symbol `__MSHORT__' gets defined.
X
X     `-mnobitfield'
X          Do not use the bit-field instructions.  `-m68000' implies
X          `-mnobitfield'.
X
X     `-mbitfield'
X          Do use the bit-field instructions.  `-m68020' implies
X          `-mbitfield'.  This is the default if you use the unmodified
X          sources.
X
X     `-mrtd'
X          Use a different function-calling convention, in which functions
X          that take a fixed number of arguments return with the `rtd'
X          instruction, which pops their arguments while returning.  This
X          saves one instruction in the caller since there is no need to pop
X          the arguments there.
X
X          This calling convention is incompatible with the one normally
X          used on Unix, so you cannot use it if you need to call libraries
X          compiled with the Unix compiler.
X
X          Also, you must provide function prototypes for all functions that
X          take variable numbers of arguments (including `printf');
X          otherwise incorrect code will be generated for calls to those
X          functions.
X
X          In addition, seriously incorrect code will result if you call a
X          function with too many arguments.  (Normally, extra arguments are
X          harmlessly ignored.)
X
X          The `rtd' instruction is supported by the 68010 and 68020
X          processors, but not by the 68000.
X
X     These `-m' options are defined in the Vax machine description:
X
X     `-munix'
X          Do not output certain jump instructions (`aobleq' and so on)
X          that the Unix assembler for the Vax cannot handle across long
X          ranges.
X
X     `-mgnu'
X          Do output those jump instructions, on the assumption that you
X          will assemble with the GNU assembler.
X
X     `-mg'
X          Output code for g-format floating point numbers instead of d-format.
X
X`-fFLAG'
X     Specify machine-independent flags.  These are the flags:
X
X     `-ffloat-store'
X          Do not store floating-point variables in registers.  This
X          prevents undesirable excess precision on machines such as the
X          68000 where the floating registers (of the 68881) keep more
X          precision than a `double' is supposed to have.
X
X          For most programs, the excess precision does only good, but a few
X          programs rely on the precise definition of IEEE floating point.
X          Use `-ffloat-store' for such programs.
X
X     `-fno-asm'
X          Do not recognize `asm', `inline' or `typeof' as a
X          keyword.  These words may then be used as identifiers.
X
X     `-fno-defer-pop'
X          Always pop the arguments to each function call as soon as that
X          function returns.  Normally the compiler (when optimizing) lets
X          arguments accumulate on the stack for several function calls and
X          pops them all at once.
X
X     `-fstrength-reduce'
X          Perform the optimizations of loop strength reduction and
X          elimination of iteration variables.
X
X     `-fcombine-regs'
X          Allow the combine pass to combine an instruction that copies one
X          register into another.  This might or might not produce better
X          code when used in addition to `-O'.  I am interested in
X          hearing about the difference this makes.
X
X     `-fforce-mem'
X          Force memory operands to be copied into registers before doing
X          arithmetic on them.  This may produce better code by making all
X          memory references potential common subexpressions.  When they are
X          not common subexpressions, instruction combination should
X          eliminate the separate register-load.  I am interested in hearing
X          about the difference this makes.
X
X     `-fforce-addr'
X          Force memory address constants to be copied into registers before
X          doing arithmetic on them.  This may produce better code just as
X          `-fforce-mem' may.  I am interested in hearing about the
X          difference this makes.
X
X     `-fomit-frame-pointer'
X          Don't keep the frame pointer in a register for functions that
X          don't need one.  This avoids the instructions to save, set up and
X          restore frame pointers; it also makes an extra register available
X          in many functions.  *It also makes debugging impossible.*
X
X          On some machines, such as the Vax, this flag has no effect,
X          because the standard calling sequence automatically handles
X          the frame pointer and nothing is saved by pretending it
X          doesn't exist.  The machine-description macro
X          `FRAME_POINTER_REQUIRED' controls whether a target machine
X          supports this flag.  *Note Registers::.
X
X     `-finline-functions'
X          Integrate all simple functions into their callers.  The compiler
X          heuristically decides which functions are simple enough to be
X          worth integrating in this way.
X
X          If all calls to a given function are integrated, and the function
X          is declared `static', then the function is normally not
X          output as assembler code in its own right.
X
X     `-fkeep-inline-functions'
X          Even if all calls to a given function are integrated, and the
X          function is declared `static', nevertheless output a
X          separate run-time callable version of the function.
X
X     `-fwritable-strings'
X          Store string constants in the writable data segment and don't
X          uniquize them.  This is for compatibility with old programs which
X          assume they can write into string constants.  Writing into string
X          constants is a very bad idea; "constants" should be constant.
X
X     `-fno-function-cse'
X          Do not put function addresses in registers; make each instruction
X          that calls a constant function contain the function's address
X          explicitly.
X
X          This option results in less efficient code, but some strange
X          hacks that alter the assembler output may be confused by the
X          optimizations performed when this option is not used.
X
X     `-fvolatile'
X          Consider all memory references through pointers to be volatile.
X
X     `-funsigned-char'
X          Let the type `char' be the unsigned, like `unsigned
X          char'.
X
X          Each kind of machine has a default for what `char' should
X          be.  It is either like `unsigned char' by default or like
X          `signed char' by default.  (Actually, at present, the
X          default is always signed.)
X
X          The type `char' is always a distinct type from either
X          `signed char' or `unsigned char', even though its
X          behavior is always just like one of those two.
X
X     `-fsigned-char'
X          Let the type `char' be signed, like `signed char'.
X
X     `-ffixed-REG'
X          Treat the register named REG as a fixed register; generated
X          code should never refer to it (except perhaps as a stack pointer,
X          frame pointer or in some other fixed role).
X
X          REG must be the name of a register.  The register names
X          accepted are machine-specific and are defined in the
X          `REGISTER_NAMES' macro in the machine description macro
X          file.
X
X     `-fcall-used-REG'
X          Treat the register named REG as an allocatable register
X          that is clobbered by function calls.  It may be allocated for
X          temporaries or variables that do not live across a call.
X          Functions compiled this way will not save and restore the
X          register REG.
X
X          Use of this flag for a register that has a fixed pervasive role
X          in the machine's execution model, such as the stack pointer or
X          frame pointer, will produce disastrous results.
X
X     `-fcall-saved-REG'
X          Treat the register named REG as an allocatable register
X          saved by functions.  It may be allocated even for temporaries or
X          variables that live across a call.  Functions compiled this way
X          will save and restore the register REG if they use it.
X
X          Use of this flag for a register that has a fixed pervasive role
X          in the machine's execution model, such as the stack pointer or
X          frame pointer, will produce disastrous results.
X
X          A different sort of disaster will result from the use of this
X          flag for a register in which function values may be returned.
X
X`-dLETTERS'
X     Says to make debugging dumps at times specified by LETTERS.
X     Here are the possible letters:
X
X     `r'
X          Dump after RTL generation.
X     `j'
X          Dump after first jump optimization.
X     `J'
X          Dump after last jump optimization.
X     `s'
X          Dump after CSE (including the jump optimization that sometimes
X          follows CSE).
X     `L'
X          Dump after loop optimization.
X     `f'
X          Dump after flow analysis.
X     `c'
X          Dump after instruction combination.
X     `l'
X          Dump after local register allocation.
X     `g'
X          Dump after global register allocation.
X     `m'
X          Print statistics on memory usage, at the end of the run.
X
X`-pedantic'
X     Issue all the warnings demanded by strict ANSI standard C; reject
X     all programs that use forbidden extensions.
X
X     Valid ANSI standard C programs should compile properly with or without
X     this option (though a rare few will require `-ansi').  However,
X     without this option, certain GNU extensions and traditional C features
X     are supported as well.  With this option, they are rejected.  There is
X     no reason to use this option; it exists only to satisfy pedants.
X
XThese options control the C preprocessor, which is run on each C source
Xfile before actual compilation.  If you use the `-E' option, nothing
Xis done except C preprocessing.  Some of these options make sense only
Xtogether with `-E' because they request preprocessor output that is
Xnot suitable for actual compilation.
X
X`-C'
X     Tell the preprocessor not to discard comments.  Used with the
X     `-E' option.
X
X`-IDIR'
X     Search directory DIR for include files.
X
X`-I-'
X     Any directories specified with `-I' options before the `-I-'
X     option are searched only for the case of `#include "FILE"';
X     they are not searched for `#include <FILE>'.
X
X     If additional directories are specified with `-I' options after
X     the `-I-', these directories are searched for all `#include'
X     directives.  (Ordinarily *all* `-I' directories are used
X     this way.)
X
X     In addition, the `-I-' option inhibits the use of the current
X     directory as the first search directory for `#include
X     "FILE"'.  Therefore, the current directory is searched only if
X     it is requested explicitly with `-I.'.  Specifying both
X     `-I-' and `-I.' allows you to control precisely which
X     directories are searched before the current one and which are searched
X     after.
X
X`-nostdinc'
X     Do not search the standard system directories for header files.  Only
X     the directories you have specified with `-I' options (and the
X     current directory, if appropriate) are searched.
X
X     Between `-nostdinc' and `-I-', you can eliminate all
X     directories from the search path except those you specify.
X
X`-M'
X     Tell the preprocessor to output a rule suitable for `make'
X     describing the dependencies of each source file.  For each source
X     file, the preprocessor outputs one `make'-rule whose target is
X     the object file name for that source file and whose dependencies are
X     all the files `#include'd in it.  This rule may be a single line
X     or may be continued with `\'-newline if it is long.
X
X     `-M' implies `-E'.
X
X`-MM'
X     Like `-M' but the output mentions only the user-header files
X     included with `#include "FILE"'.  System header files
X     included with `#include <FILE>' are omitted.
X
X     `-MM' implies `-E'.
X
X`-DMACRO'
X     Define macro MACRO with the empty string as its definition.
X
X`-DMACRO=DEFN'
X     Define macro MACRO as DEFN.
X
X`-UMACRO'
X     Undefine macro MACRO.
X
X`-T'
X     Support ANSI C trigraphs.  You don't want to know about this
X     brain-damage.  The `-ansi' option also has this effect.
X
SHAR_EOF
if test 27031 -ne "`wc -c 'gcc.doc'`"
then
	echo shar: error transmitting "'gcc.doc'" '(should have been 27031 characters)'
fi
echo shar: extracting "'readme.st'" '(2767 characters)'
if test -f 'readme.st'
then
	echo shar: over-writing existing file "'readme.st'"
fi
sed 's/^X//' << \SHAR_EOF > 'readme.st'
X
XThis archive contains the source for GCC, the Gnu C compiler, as ported
Xto the Atari ST.
X
XPlease read the file COPYING to understand your rights and
Xresponsibilities as a user of GNU software.
X
XThis stuff doesn't need to live in any particular place; I put it in
X\gnu\gcc\.  This is just sources; the binaries for these programs are
Xpackaged separately, in GCX-1-23.ARC.
X
XSince GCC is a portable compiler, the distribution from FSF contains
Xmany files for machines like NS32000s, Vaxes, etc.  In order to save a
Xlittle space in the distribution, I have not included those files
Xhere, as they are of no use on the Atari.  If you want copies of them
Xlet me know, and I'll send you some, or point you at where you can get
Xthem. 
X
XAs with all my ports of GNU software, all changes from the original
XGNU sources are conditionalized with "#ifdef atarist".  This version
Xof cpp defines that symbol as a canned def, so it should just work.
XThere really aren't that many changes needed to run on the ST; mostly
Xde-Eunuchsifiying the pathname hacking code, and adding facilities to
Xparameterize the places that various programs will look for things; ie
Xlooking up the env var "GNULIB" instead of looking in /usr/lib/.
X
XI have also left out the .texinfo files of documentation source, as I
Xdon't know of any TeX for the ST.  I have included the "internals-n"
Xfiles generated from that source.
X
XMany of the pathnames of the original files were too long to fit into
Xthe primitive ST file system, and have been truncated using the
Xobvious algorithm.  Unfotunately, some of them would have ended up
Xconflicting with each other, so I've shortened some of them by hand.
XPrimary examples are the doc files of compiler internals; they used to
Xbe called "internals-1" etc, they've been shortened to "int-1" etc.
X
XSome pathnames were hopelessly Eunuchs specific; ie parse.tab.c.  That
Xone I shortened to parsetab.c.
X
XBuilding the thing:
X
XThe MAKEFILE included here works with the GNU make (shipped
Xseparately).  It may work with other makes.  I've included the
Xoriginal unhacked makefile as MAKEFILE.GNU.
X
XBecause of nasty bugs in Gulam, GNU Make will sometimes crash after
Xexecuting any command that required asking Gulam to execute; ie
Xanything that requires redirection or any command make can't decode
Xfor itself.  Building GCC does a log of that, so if your Gulam loses
Xas badly as mine, you may want to build some stuff by hand first.
X
XStack sizes:
X
XThis version of cc1 is configured for 1/2 meg of stack.  That's a good
Xnumber on my 2.5 Meg 520, but will likely lose if you've only got a
Xmeg.  The stack for cpp is set at 1/4 meg, as it likes to stack-cons
Xbuffers for include files.  Gcc doesn't much matter.
X
X
XI guess that's it.  Good luck.
X
XJRD@Stony-Brook.SCRC.Symbolics.COM.
SHAR_EOF
if test 2767 -ne "`wc -c 'readme.st'`"
then
	echo shar: error transmitting "'readme.st'" '(should have been 2767 characters)'
fi
echo shar: extracting "'stddef.h'" '(506 characters)'
if test -f 'stddef.h'
then
	echo shar: over-writing existing file "'stddef.h'"
fi
sed 's/^X//' << \SHAR_EOF > 'stddef.h'
X#ifndef _STDDEF_H
X#define _STDDEF_H
X
X/* Signed type of difference of two pointers.  */
X
Xtypedef long ptrdiff_t;
X
X/* Unsigned type of `sizeof' something.  */
X
X#if ((!(defined(CROSSATARI)  || defined(atarist))) || defined(atariminix))
Xtypedef unsigned long size_t;
X#endif
X
X/* A null pointer constant.  */
X
X#ifdef NULL
X#undef NULL
X#define NULL ((void *)0)
X#endif
X
X/* Offset of member MEMBER in a struct of type TYPE.  */
X
X#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
X
X#endif /* _STDDEF_H */
SHAR_EOF
if test 506 -ne "`wc -c 'stddef.h'`"
then
	echo shar: error transmitting "'stddef.h'" '(should have been 506 characters)'
fi
echo shar: extracting "'tm-atari.h'" '(2516 characters)'
if test -f 'tm-atari.h'
then
	echo shar: over-writing existing file "'tm-atari.h'"
fi
sed 's/^X//' << \SHAR_EOF > 'tm-atari.h'
X/* target def file for atarist (both TOS and MINIX), for use with GNU CC */
X
X/* The following Macros control the compilation
X *
X *	CROSSATARI	defined when making cross compiler for TOS or Minix
X *	MINIX		defined when making cross compiler for MINIX only
X *	atariminix	defined when making compiler for MINIX
X *	atarist		defined when making compiler for TOS
X */
X
X#include "tm-m68k.h"
X
X#ifndef CROSSATARI
X#undef alloca
X#endif
X
X/* See tm-m68k.h.  0 means 68000 with no 68881.  */
X
X#define TARGET_DEFAULT 0
X
X/* -m68020 requires special flags to the assembler.  */
X
X/* #define ASM_SPEC "%{m68020:-mc68020}%{!m68020:-mc68010}" -- busted */
X#define ASM_SPEC "%{m68020:-mc68020}%{!m68020:}"
X
X#if 0
X/* now, we pick up PARAM_BOUNDARY from tm-m68k.h -- implies changes in
X   in library *.s files and in files like doprintf.c etc that
X   took variable no. of arguements */
X/* *******#undef PARM_BOUNDARY #define PARM_BOUNDARY 32 ********* */
X/* ok i tried very hard to make this work, all the library stuff
X   worked out, lots of programs ran great, BUT doing so elicits
X   nasty compiler bugs, where some used address registers get clobbered
X   in called functions. Therefore for now, until i can track down
X   where the problem is (i just shot a whole day trying), we revert
X   back to 32 bit param boundary. Sigh
X   People trying to do the kernel be aware of the 32 bit param boundary
X   see the $(LIBSRC)/*.s and $(LIBSRC)/doprintf.c files to see what
X   this means in terms of params to functions and the C/Asm interface.
X*/
X#else
X#undef PARM_BOUNDARY
X#define PARM_BOUNDARY 32
X#endif
X
X/* Names to predefine in the preprocessor for this target machine.  */
X
X#if (defined(MINIX) || defined(atariminix))
X#define CPP_PREDEFINES "-DATARI_ST -Dminix -Dm68k"
X#else
X#define CPP_PREDEFINES "-Datarist -Dgem -Dm68k"
X#endif
X
X/* default exec dir */
X#ifndef STANDARD_EXEC_PREFIX
X#ifdef MINIX
X#define STANDARD_EXEC_PREFIX "/dsrg/bammi/cross-minix/lib/gcc-"
X#else
X#ifdef atariminix
X#define STANDARD_EXEC_PREFIX "/usr/local/lib/gcc-"
X#else
X#define STANDARD_EXEC_PREFIX "/dsrg/bammi/cross-gcc/lib/gcc-"
X#endif
X#endif
X#endif
X
X/* Alignment of field after `int : 0' in a structure.  */
X
X#undef EMPTY_FIELD_BOUNDARY
X#define EMPTY_FIELD_BOUNDARY 16
X
X/* Every structure or union's size must be a multiple of 2 bytes.  */
X
X#undef STRUCTURE_SIZE_BOUNDARY
X#define STRUCTURE_SIZE_BOUNDARY 16
X
X/* code seems to assume this... */
X#define DBX_DEBUGGING_INFO
X
X/* and our more useful abort frob */
X/* #define abort()	_abort_internal(__LINE__, __FILE__) */
SHAR_EOF
if test 2516 -ne "`wc -c 'tm-atari.h'`"
then
	echo shar: error transmitting "'tm-atari.h'" '(should have been 2516 characters)'
fi
echo shar: extracting "'xm-atari.h'" '(1947 characters)'
if test -f 'xm-atari.h'
then
	echo shar: over-writing existing file "'xm-atari.h'"
fi
sed 's/^X//' << \SHAR_EOF > 'xm-atari.h'
X/* The following Macros control the compilation
X *
X *	CROSSATARI	defined when making cross compiler for TOS or Minix
X *	MINIX		defined when making cross compiler for MINIX only
X *	atariminix	defined when making compiler for MINIX
X *	atarist		defined when making compiler for TOS
X */
X
X/* we use an extra file, as we don't do links */
X
X/* generic m68k config file */
X
X#include "xm-m68k.h"
X
X/* exc that we don't want the funny alloca... */
X
X#ifndef CROSSATARI
X#undef alloca
X#endif
X
X#include "stddef.h"
X
X/* specs for start file and link specs */
X
X#ifndef CROSSATARI
X#ifdef atariminix
X#define STARTFILE_SPEC  \
X  "%{pg:/usr/local/lib/gcrt0.o%s}\
X   %{!pg:\
X         %{p:/usr/local/lib/mcrtso.o%s}\
X         %{!p:%{mshort:/usr/local/lib/crtso.o%s}\
X              %{!mshort:/usr/local/lib/crtso32.o%s}}}"
X#else
X#define STARTFILE_SPEC  \
X  "%{pg:$GNULIB$/gcrt0.o%s}%{!pg:%{p:$GNULIB$\\mcrt0.o%s}%{!p:$GNULIB$\\crt0.o%s}}"
X#endif
X#else
X#ifdef MINIX
X#define STARTFILE_SPEC  \
X  "%{pg:/dsrg/bammi/cross-minix/lib/gcrt0.o%s}\
X   %{!pg:\
X         %{p:/dsrg/bammi/cross-minix/lib/mcrtso.o%s}\
X         %{!p:%{mshort:/dsrg/bammi/cross-minix/lib/crtso.o%s}\
X              %{!mshort:/dsrg/bammi/cross-minix/lib/crtso32.o%s}}}"
X#else
X#define STARTFILE_SPEC  \
X  "%{pg:/dsrg/bammi/cross-gcc/lib/gcrt0.o%s}\
X   %{!pg:\
X         %{p:/dsrg/bammi/cross-gcc/lib/mcrt0.o%s}\
X         %{!p:/dsrg/bammi/cross-gcc/lib/crt0.o%s}}"
X#endif
X#endif
X
X#ifdef MINIX
X#define LIB_SPEC \
X  "%{!p:\
X        %{!pg:\
X              %{mshort:/dsrg/bammi/cross-minix/lib/libc.a}\
X              %{!mshort:/dsrg/bammi/cross-minix/lib/libc32.a}}}\
X   %{p:-lgnu-p.olb}\
X   %{pg:gnu-p.olb}"
X#else
X#ifdef atariminix
X#define LIB_SPEC \
X  "%{!p:\
X        %{!pg:\
X              %{mshort:/usr/local/lib/libc.a}\
X              %{!mshort:/usr/local/lib/libc32.a}}}\
X   %{p:-lgnu-p.olb}\
X   %{pg:gnu-p.olb}"
X#else
X#define LIB_SPEC \
X  "%{!p:%{!pg:-lgnu.olb}}%{p:-lgnu-p.olb}%{pg:gnu-p.olb}"
X#endif
X#endif
SHAR_EOF
if test 1947 -ne "`wc -c 'xm-atari.h'`"
then
	echo shar: error transmitting "'xm-atari.h'" '(should have been 1947 characters)'
fi
#	End of shell archive
exit 0
usenet: {decvax,sun}!cwjcc!dsrgsun!bammi	jwahar r. bammi
csnet:       bammi@dsrgsun.ces.CWRU.edu
arpa:        bammi@dsrgsun.ces.CWRU.edu
compuServe:  71515,155