OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [newlib-1.18.0/] [libgloss/] [or32/] [Makefile.in] - Rev 507

Go to most recent revision | Compare with Previous | Blame | View Log

# Makefile.in. Autoconf input makefile.

# Copyright (c) 1998 Cygnus Support
# Copyright (C) 2004, Jacob Bower
# Copyright (C) 2010, Embecosm Limited <info@embecosm.com>
# Copyright (C) 2011, ORSoC AB

# Contributor Jeremy Bennett <jeremy.bennett@embecosm.com>
# Contributor Julius Baxter  <julius.baxter@orsoc.se>

# This file is part of Newlib.

# The original work by Jacob Bower is provided as-is without any kind of
# warranty. Use it at your own risk!

# All subsequent work is bound by version 3 of the GPL as follows.

# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 3 of the License, or (at your option)
# any later version.

# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
# more details.

# You should have received a copy of the GNU General Public License along
# with this program.  If not, see <http:#www.gnu.org/licenses/>.

DESTDIR =
VPATH = @srcdir@ @srcdir@/..
srcdir = @srcdir@
objdir = .
srcroot = $(srcdir)/../..
objroot = $(objdir)/../..

prefix = @prefix@
exec_prefix = @exec_prefix@

host_alias = @host_alias@
target_alias = @target_alias@

bindir = @bindir@
libdir = @libdir@
tooldir = $(exec_prefix)/$(target_alias)

# Multilib support variables.
# TOP is used instead of MULTI{BUILD,SRC}TOP.
MULTIDIRS =
MULTISUBDIR =

INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@

SHELL = /bin/sh

CC = @CC@
AS = @AS@
AR = @AR@
LD = @LD@
RANLIB = @RANLIB@

OBJDUMP = `if [ -f ${objroot}/../binutils/objdump ] ; \
        then echo ${objroot}/../binutils/objdump ; \
        else t='$(program_transform_name)'; echo objdump | sed -e $$t ; fi`
OBJCOPY = `if [ -f ${objroot}/../binutils/objcopy ] ; \
        then echo ${objroot}/../binutils/objcopy ; \
        else t='$(program_transform_name)'; echo objcopy | sed -e $$t ; fi`

# Add our own flags for C compilation
CFLAGS =  -g

# List new boards here - should be accompanied by own <board>.[cS]
BOARDS   = or1ksim or1ksim-uart orpsocrefdesign ordb1a3pe1500 ml501

BOARD_OBJS = $(addsuffix .o,$(BOARDS))
BOARD_LIBS = $(addsuffix .a,$(BOARDS))

# Generic name, used after install for each of these libraries
LIBBOARD = libboard.a

# Our own C runtime startup and BSPs
CRT0            = crt0.o
LIBOR32         = libor32.a

OUTPUTS  = $(CRT0) $(LIBOR32)

# The standard object files for the library
LIBOR32_OBJS = _exception_handler.o     \
        _cache.o                \
        _exit.o                 \
        _interrupt_handler.o    \
        close.o                 \
        environ.o               \
        execve.o                \
        fork.o                  \
        fstat.o                 \
        getpid.o                \
        isatty.o                \
        kill.o                  \
        link.o                  \
        lseek.o                 \
        open.o                  \
        read.o                  \
        sbrk.o                  \
        stat.o                  \
        times.o                 \
        uart.o                  \
        unlink.o                \
        wait.o                  \
        write.o

# Host specific makefile fragment specifies the automatic rules
@host_makefile_frag@

# Build what we need out
all: $(OUTPUTS) $(BOARD_LIBS)

# Rules to build the BSPs from their objects. No need for a rule to build
# crt0.o, that happens autmatically from .S
$(LIBOR32): $(LIBOR32_OBJS)
        ${AR} ${ARFLAGS} $@ $^
        ${RANLIB} $@

%.a: %.o
        ${AR} ${ARFLAGS} $@ $^
        ${RANLIB} $@

# Standard clean up rules.
clean mostlyclean:
        rm -f $(OUTPUTS) *.i *~ *.o *-test *.srec *.dis *.map *.x

distclean maintainer-clean realclean: clean
        rm -f Makefile config.status *~

# Standard install rules for libor32 and crt0
# Boards installed into lib/board/$${board} and named board.a. GCC links against with
# board specified by -mboard=whichboard and adds 
#   -lboard -L<path_to_or32_newlib_sysroot>/lib/board/whichboard
#
.PHONY: install info install-info clean-info
install:
        @for outputs in ${OUTPUTS}; do\
             mkdir -p $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \
             $(INSTALL_PROGRAM) $${outputs} \
                                $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \
        done; \
        for board in ${BOARDS}; do\
             mkdir -p $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/boards/$${board}; \
             $(INSTALL_PROGRAM) $${board}.a \
                        $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/boards/$${board}/$(LIBBOARD); \
        done

# Deal with info if we had any.
info:
install-info:
clean-info:


# Standard make and configure dependencies.
Makefile: Makefile.in config.status @host_makefile_frag_path@
        $(SHELL) config.status

config.status: configure
        $(SHELL) config.status --recheck

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.