Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'libgloss/sparc/Makefile.inc')
-rw-r--r--libgloss/sparc/Makefile.inc141
1 files changed, 141 insertions, 0 deletions
diff --git a/libgloss/sparc/Makefile.inc b/libgloss/sparc/Makefile.inc
new file mode 100644
index 000000000..707c06428
--- /dev/null
+++ b/libgloss/sparc/Makefile.inc
@@ -0,0 +1,141 @@
+## Copyright (c) 1995, 1996, 1997 Cygnus Support
+##
+## The authors hereby grant permission to use, copy, modify, distribute,
+## and license this software and its documentation for any purpose, provided
+## that existing copyright notices are retained in all copies and that this
+## notice is included verbatim in any distributions. No written agreement,
+## license, or royalty fee is required for any of the authorized uses.
+## Modifications to this software may be copyrighted by their authors
+## and need not follow the licensing terms described here, provided that
+## the new terms are clearly indicated on the first page of each file where
+## they apply.
+
+## This is set to one of SPARC, SLITE, or SPLET by configure.
+## It's not clear what to do here.
+## One could certainly build everything. The assembler supports all cpu
+## variants (via runtime switches). However, the compiler [currently] doesn't.
+## Of course, it may be the case that there isn't any cpu specific code in
+## C source files, but there might be in the future.
+AM_CPPFLAGS_%C% = -DTARGET_CPU_$(SPARC_CPU)
+
+multilibtool_DATA += %D%/crt0.o
+libobjs_a_SOURCES += %D%/crt0.S
+
+## Used by some libs.
+%C%_common_stub_sources = \
+ close.c \
+ fstat.c \
+ getpid.c \
+ isatty.c \
+ kill.c \
+ lseek.c \
+ open.c \
+ print.c \
+ putnum.c \
+ read.c \
+ sbrk.c \
+ stat.c \
+ unlink.c \
+ write.c
+
+## ERC32: SIS simulator, see sim/erc32.
+multilibtool_DATA += %D%/erc32-crt0.o
+libobjs_a_SOURCES += %D%/erc32-crt0.S
+multilibtool_LIBRARIES += %D%/liberc32.a
+%C%_liberc32_a_SOURCES = \
+ $(%C%_common_stub_sources) \
+ %D%/erc32-io.c \
+ %D%/traps.S \
+ %D%/erc32-stub.c \
+ debug.c \
+ %D%/fixctors.c
+
+if SPARC_BUILD_CYGMON
+## sparc stuff (not sparclite or sparclet).
+%C%_SPARC_OBJ_FORMAT = sparc
+%C%_SPARC_RAM_START = 0x4000
+
+## sparc 64 stuff.
+%C%_SPARC64_OBJ_FORMAT = sparc:v9
+%C%_SPARC64_RAM_START = 0x4000
+
+## sparclite stuff.
+%C%_SLITE_OBJ_FORMAT = sparc
+%C%_SLITE_RAM_START = 0x40050000
+
+multilibtool_DATA += %D%/cygmon.ld
+%D%/cygmon.ld: $(srcdir)/%D%/@SPARC_CYGMONLDSCRIPTTEMPL@ %D%/Makefile.inc
+ $(AM_V_GEN)sed 's/TARGET_OBJ_FORMAT/$(%C%_$(SPARC_CPU)_OBJ_FORMAT)/g;s/TARGET_RAM_START/$(%C%_$(SPARC_CPU)_RAM_START)/g;' < $< > $@
+
+multilibtool_DATA += %D%/cygmon-crt0.o
+libobjs_a_SOURCES += %D%/cygmon-crt0.S
+multilibtool_LIBRARIES += %D%/libcygmon.a
+%C%_libcygmon_a_SOURCES = \
+ %D%/cygmon-salib.c
+multilibtool_DATA += %D%/cygmon-salib.o
+endif
+
+if SPARC_BUILD_SLITE
+multilibtool_DATA += \
+ %D%/ex930.ld \
+ %D%/ex931.ld \
+ %D%/ex934.ld \
+ %D%/sparc86x.ld \
+ %D%/elfsim.ld \
+ %D%/traps.o
+
+## For the time being, built the stub without hardware breakpoint support.
+multilibtool_LIBRARIES += \
+ %D%/libslite930.a \
+ %D%/libslite931.a \
+ %D%/libslite934.a \
+ %D%/libslite86x.a
+%C%_libslite930_a_SOURCES = \
+ $(%C%_common_stub_sources) \
+ %D%/salib.c \
+ %D%/sparcl-stub.c \
+ %D%/cache.c
+%C%_libslite931_a_SOURCES = $(%C%_libslite930_a_SOURCES)
+%C%_libslite934_a_SOURCES = $(%C%_libslite930_a_SOURCES)
+%C%_libslite86x_a_SOURCES = $(%C%_libslite930_a_SOURCES)
+endif
+
+if SPARC_BUILD_SPLET
+multilibtool_DATA += %D%/tsc701.ld
+
+multilibtool_DATA += %D%/crt0-701.S
+libobjs_a_SOURCES += %D%/crt0-701.S
+
+multilibtool_LIBRARIES += %D%/libsplet701.a
+%C%_libsplet701_a_SOURCES = \
+ %D%/sysc-701.c \
+ %D%/salib-701.c \
+ %D%/sparclet-stub.c
+endif
+
+## Compile a fully linked binary. The -N option is for a.out, so the
+## base address will be zero, rather than the default of 0x2020. The
+## -Wl,-T*.ld is for the linker script. By using -Wl, the linker script
+## is put on the proper place in the comand line for ld, and all the
+## symbols will get fully resolved.
+
+check_PROGRAMS += %D%/erc32-test
+%C%_erc32_test_SOURCES = %D%/test.c
+AM_LDFLAGS_%C%_erc32_test = -N -Wl,-T$(srcdir)/%D%/elfsim.ld -Wl,-Map,$@.map -nostdlib
+
+check_PROGRAMS += %D%/ex930-test
+%C%_ex930_test_SOURCES = %D%/test.c
+AM_LDFLAGS_%C%_ex930_test = -N -Wl,-T$(srcdir)/%D%/ex930.ld -nostdlib
+
+check_PROGRAMS += %D%/ex931-test
+%C%_ex931_test_SOURCES = %D%/test.c
+AM_LDFLAGS_%C%_ex931_test = -N -Wl,-T$(srcdir)/%D%/ex931.ld -nostdlib
+
+check_PROGRAMS += %D%/ex934-test
+%C%_ex934_test_SOURCES = %D%/test.c
+AM_LDFLAGS_%C%_ex934_test = -N -Wl,-T$(srcdir)/%D%/ex934.ld -nostdlib
+
+## A C++ test case.
+# check_PROGRAMS += %D%/dtor
+# %C%_ex934_test_SOURCES = %D%/dtor.C
+# %C%_ex934_test_LDFLAGS = $(AM_LDFLAGS) -N -Wl,-T$(srcdir)/%D%/elfsim.ld -nostdlib