home *** CD-ROM | disk | FTP | other *** search
- /* target def file for atarist (both TOS and MINIX), for use with GNU CC */
-
- /* The following Macros control the compilation
- *
- * CROSSATARI defined when making cross compiler for TOS or Minix
- * MINIX defined when making cross compiler for MINIX only
- * atariminix defined when making compiler for MINIX
- * atarist defined when making compiler for TOS
- */
-
- #include "tm-m68k.h"
-
- #ifndef CROSSATARI
- #ifndef atarist
- #undef alloca
- #endif
- #endif
-
- /* See tm-m68k.h. 0 means 68000 with no 68881. */
-
- #define TARGET_DEFAULT 0
-
- /* -m68020 requires special flags to the assembler. */
-
- /* -m68000 (on atari) need this flag to assembler, otherwise pc relative
- code is produced where it should not be (in places where the
- 68000 only allows data ALTERABLE addressing modes) (++jrb 03/19/89) */
- #define ASM_SPEC "%{m68020:-mc68020}%{!m68020:-m68000}"
-
- #if 1
- /* now, we pick up PARAM_BOUNDARY from tm-m68k.h -- implies changes in
- in library *.s files and in files like doprintf.c etc that
- took variable no. of arguements */
- /* *******#undef PARM_BOUNDARY #define PARM_BOUNDARY 32 ********* */
- /* FINALLY works !!!!! */
- #else
- /* */
- #endif
-
- /* Names to predefine in the preprocessor for this target machine. */
-
- #if (defined(MINIX) || defined(atariminix))
- #define CPP_PREDEFINES "-DATARI_ST -Dminix -Dm68k"
- #else
- #define CPP_PREDEFINES "-Datarist -Dgem -Dm68k"
- #endif
-
- /* default exec dir */
- #ifndef STANDARD_EXEC_PREFIX
- #ifdef MINIX
- #define STANDARD_EXEC_PREFIX "/dsrg/bammi/cross-minix/lib/gcc-"
- #else
- #ifdef atariminix
- #define STANDARD_EXEC_PREFIX "/usr/local/lib/gcc-"
- #else
- #define STANDARD_EXEC_PREFIX "/dsrg/bammi/cross-gcc/lib/gcc-"
- #endif
- #endif
- #endif
-
- /* Alignment of field after `int : 0' in a structure. */
- /* recent gcc's have this as 16, this is left in for the benfit of */
- /* older gcc */
- #undef EMPTY_FIELD_BOUNDARY
- #define EMPTY_FIELD_BOUNDARY 16
-
- /* Every structure or union's size must be a multiple of 2 bytes. */
-
- #undef STRUCTURE_SIZE_BOUNDARY
- #define STRUCTURE_SIZE_BOUNDARY 16
-
- /* code seems to assume this... */
- #define DBX_DEBUGGING_INFO
-
- #ifndef HAVE_VPRINTF
- #define HAVE_VPRINTF 1
- #endif
-
- #ifdef abort
- #undef abort
- #define abort fancy_abort
- #endif
-
-
- /* the following stolen from tm-sun3.h, they seem to work better */
- /* This is how to output an assembler line defining a `double' constant. */
-
- #undef ASM_OUTPUT_DOUBLE
- #define ASM_OUTPUT_DOUBLE(FILE,VALUE) \
- fprintf (FILE, "\t.double 0r%.20e\n", (VALUE))
-
- /* This is how to output an assembler line defining a `float' constant. */
-
- #undef ASM_OUTPUT_FLOAT
- #define ASM_OUTPUT_FLOAT(FILE,VALUE) \
- fprintf (FILE, "\t.single 0r%.20e\n", (VALUE))
-
- #undef ASM_OUTPUT_FLOAT_OPERAND
- #define ASM_OUTPUT_FLOAT_OPERAND(FILE,VALUE) \
- fprintf (FILE, "#0r%.9g", (VALUE))
-
- #undef ASM_OUTPUT_DOUBLE_OPERAND
- #define ASM_OUTPUT_DOUBLE_OPERAND(FILE,VALUE) \
- fprintf (FILE, "#0r%.20g", (VALUE))
-
- /* these moved here from xm-atari.h */
- /* specs for start file and link specs */
-
- #ifndef CROSSATARI
-
- #ifdef atariminix
- #define STARTFILE_SPEC \
- "%{pg:/usr/local/lib/gcrt0.o%s}\
- %{!pg:\
- %{p:/usr/local/lib/mcrtso.o%s}\
- %{!p:/usr/local/lib/crtso.o%s}}"
- #else /* atarist */
- #define STARTFILE_SPEC \
- "%{pg:$GNULIB$\\gcrt0.o%s}%{!pg:%{p:$GNULIB$\\mcrt0.o%s}%{!p:$GNULIB$\\crt0.o%s}}"
- #endif
-
- #else /* CROSSATARI */
-
- #ifdef MINIX
- #define STARTFILE_SPEC \
- "%{pg:/dsrg/bammi/cross-minix/lib/gcrt0.o%s}\
- %{!pg:\
- %{p:/dsrg/bammi/cross-minix/lib/mcrtso.o%s}\
- %{!p:/dsrg/bammi/cross-minix/lib/crtso.o%s}}"
- #else
- #define STARTFILE_SPEC \
- "%{pg:/dsrg/bammi/cross-gcc/lib/gcrt0.o%s}\
- %{!pg:\
- %{p:/dsrg/bammi/cross-gcc/lib/mcrt0.o%s}\
- %{!p:/dsrg/bammi/cross-gcc/lib/crt0.o%s}}"
- #endif
- #endif /* CROSSATARI */
-
- #ifdef MINIX
- #define LIB_SPEC \
- "%{mshort:/dsrg/bammi/cross-minix/lib/libc.a}\
- %{!mshort:/dsrg/bammi/cross-minix/lib/libc32.a}"
- #else
- #ifdef atariminix
- #define LIB_SPEC \
- "%{mshort:/usr/local/lib/libc.a}\
- %{!mshort:/usr/local/lib/libc32.a}"
- #else /* atarist cross or native */
- #define LIB_SPEC \
- "%{!gg:\
- %{mshort:-lgnu16}\
- %{!mshort:-lgnu}}\
- %{gg:\
- %{mshort:-lgnugdb16}\
- %{!mshort:-lgnugdb}}"
- #endif
- #endif
-