newlib-cygwin/libgloss/sparc/Makefile.inc

142 lines
4.2 KiB
Makefile

## 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