diff options
author | Mike Frysinger <vapier@gentoo.org> | 2023-12-27 09:05:23 +0300 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2024-01-20 04:26:52 +0300 |
commit | 770dd85aaf0aa2b986a1fe827abfb3e48f2d4a1b (patch) | |
tree | 20c18a8e2eec00a970610f042777405ebd1612ab /libgloss/visium | |
parent | 5798c3bbc783e83f6a144dd3148dd08d785dabdf (diff) |
libgloss: merge visium into top-level Makefile
Avoid a recursive make to speed things up a bit.
A visium-elf build shows installed objects & libs produce same code.
Diffstat (limited to 'libgloss/visium')
-rw-r--r-- | libgloss/visium/Makefile.in | 132 | ||||
-rw-r--r-- | libgloss/visium/Makefile.inc | 53 | ||||
-rw-r--r-- | libgloss/visium/sim-syscalls.c | 31 |
3 files changed, 84 insertions, 132 deletions
diff --git a/libgloss/visium/Makefile.in b/libgloss/visium/Makefile.in deleted file mode 100644 index bc18b2951..000000000 --- a/libgloss/visium/Makefile.in +++ /dev/null @@ -1,132 +0,0 @@ -# Copyright (c) 1998 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. - -DESTDIR = -VPATH = @srcdir@ -srcdir = @srcdir@ -objdir = . -srcroot = $(srcdir)/../.. -objroot = $(objdir)/../.. - -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -host_alias = @host_alias@ -target_alias = @target_alias@ -program_transform_name = @program_transform_name@ - -bindir = @bindir@ -libdir = @libdir@ -tooldir = $(exec_prefix)/$(target_alias) - -# Multilib support variables. -# TOP is used instead of MULTI{BUILD,SRC}TOP. -MULTIDIRS = -MULTISUBDIR = -MULTIDO = true -MULTICLEAN = true - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ - -SHELL = /bin/sh - -mkinstalldirs = $(SHELL) $(srcroot)/mkinstalldirs - -CC = @CC@ - -AS = @AS@ - -AR = @AR@ - -LD = @LD@ - -RANLIB = @RANLIB@ - -OBJDUMP = `t='$(program_transform_name)'; echo objdump | sed -e $$t` -OBJCOPY = `t='$(program_transform_name)'; echo objcopy | sed -e $$t` - -# Generic object files common to some targets. -# These are LIBGLOSS stubs and minimal functionality in SBRK, READ and WRITE. -OBJS = close.o fstat.o getpid.o isatty.o kill.o lseek.o open.o \ - print.o putnum.o read.o stat.o unlink.o write.o - -# Object files specific to particular targets. -SERIALOBJS = ${OBJS} _exit.o gettod.o sbrk.o serial-inbyte.o serial-outbyte.o - -# These go with the hosted file I/O libraries with a version of syscalls. -HOSTEDOBJS = getpid.o kill.o io-gdb.o io-stubs.o sbrk.o - -SCRIPTS = -BSP = crt0.o libserial.a libsim.a libdebug.a - -# Host specific makefile fragment comes in here. -@host_makefile_frag@ - -all: ${BSP} - -# -# here's where we build the board support packages for each target -# - -libserial.a: $(SERIALOBJS) - $(AR) $(ARFLAGS) $@ $^ - $(RANLIB) $@ - -libsim.a: ${HOSTEDOBJS} sim-syscalls.o - ${AR} ${ARFLAGS} $@ $^ - ${RANLIB} $@ - -libdebug.a: ${HOSTEDOBJS} debug-syscalls.o - ${AR} ${ARFLAGS} $@ $^ - ${RANLIB} $@ - -sim-syscalls.o: syscalls.c syscall.h io.h - ${CC} ${CFLAGS_FOR_TARGET} ${CFLAGS} -DTARGET_SIM -c -o $@ $< - -debug-syscalls.o: syscalls.c syscall.h io.h - ${CC} ${CFLAGS_FOR_TARGET} ${CFLAGS} -c -o $@ $< - -sbrk.o: $(srcdir)/sbrk.c - ${CC} ${CFLAGS_FOR_TARGET} ${CFLAGS} -c -o $@ $< - -$(OBJS): %.o: ../%.c - ${CC} ${CFLAGS_FOR_TARGET} ${CFLAGS} -c -o $@ $< - -doc: - -clean mostlyclean: - rm -f a.out core *.i *~ *.o *-test *.srec *.dis *.map *.x - -distclean maintainer-clean realclean: clean - rm -f Makefile config.status a.out - -.PHONY: install info install-info clean-info -install: - ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR} - @for bsp in ${BSP}; do\ - $(INSTALL_DATA) $${bsp} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \ - done - @for script in ${SCRIPTS}; do\ - $(INSTALL_DATA) $(srcdir)/$${script}.ld $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$${script}.ld; \ - done - -info: -install-info: -clean-info: - -# target specific makefile fragment comes in here. -@target_makefile_frag@ - -Makefile: Makefile.in ../config.status - cd .. && $(SHELL) config.status diff --git a/libgloss/visium/Makefile.inc b/libgloss/visium/Makefile.inc new file mode 100644 index 000000000..cd268c95b --- /dev/null +++ b/libgloss/visium/Makefile.inc @@ -0,0 +1,53 @@ +## Copyright (c) 1998 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. + +multilibtool_DATA += %D%/crt0.o +libobjs_a_SOURCES += %D%/crt0.S + +## These go with the hosted file I/O libraries with a version of syscalls. +%C%_hosted_sources = \ + getpid.c \ + kill.c \ + %D%/io-gdb.c \ + %D%/io-stubs.c \ + %D%/sbrk.c + +multilibtool_LIBRARIES += %D%/libserial.a +%C%_libserial_a_SOURCES = \ + close.c \ + fstat.c \ + getpid.c \ + isatty.c \ + kill.c \ + lseek.c \ + open.c \ + print.c \ + putnum.c \ + read.c \ + stat.c \ + unlink.c \ + write.c \ + %D%/_exit.c \ + %D%/gettod.c \ + %D%/sbrk.c \ + %D%/serial-inbyte.c \ + %D%/serial-outbyte.c + +multilibtool_LIBRARIES += %D%/libsim.a +%C%_libsim_a_SOURCES = \ + $(%C%_hosted_sources) \ + %D%/sim-syscalls.c + +multilibtool_LIBRARIES += %D%/libdebug.a +%C%_libdebug_a_SOURCES = \ + $(%C%_hosted_sources) \ + %D%/syscalls.c diff --git a/libgloss/visium/sim-syscalls.c b/libgloss/visium/sim-syscalls.c new file mode 100644 index 000000000..1a6bb3259 --- /dev/null +++ b/libgloss/visium/sim-syscalls.c @@ -0,0 +1,31 @@ +/* system calls for the Visium processor. + + Copyright (c) 2015 Rolls-Royce Controls and Data Services Limited. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Rolls-Royce Controls and Data Services Limited nor + the names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + THE POSSIBILITY OF SUCH DAMAGE. */ + +#define TARGET_SIM +#include "syscalls.c" |