150 lines
4.7 KiB
Makefile
150 lines
4.7 KiB
Makefile
# Copyright 2007, 2009 Xilinx, Inc. All rights reserved.
|
|
#
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification, are permitted provided that the following conditions are
|
|
# met:
|
|
#
|
|
# 1. Redistributions source code must retain the above copyright notice,
|
|
# this list of conditions and the following disclaimer.
|
|
#
|
|
# 2. 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.
|
|
#
|
|
# 3. Neither the name of Xilinx 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 HOLDER 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
|
|
# HOLDER 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.
|
|
|
|
# Makefile for libgloss/microblaze. This is the board support
|
|
# code for the various microblaze targets.
|
|
|
|
DESTDIR =
|
|
VPATH = @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 =
|
|
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@
|
|
AR_FLAGS = qrv
|
|
|
|
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`
|
|
|
|
CRT = crt0.o crt1.o crt2.o crt3.o crt4.o crtinit.o pgcrtinit.o sim-crtinit.o sim-pgcrtinit.o
|
|
LIB = libgloss.a
|
|
GENOBJS = fstat.o getpid.o isatty.o kill.o lseek.o print.o putnum.o stat.o unlink.o \
|
|
open.o close.o read.o write.o
|
|
OBJS = ${GENOBJS} sbrk.o timer.o _exception_handler.o _hw_exception_handler.o \
|
|
_interrupt_handler.o _program_clean.o _program_init.o \
|
|
xil_malloc.o xil_sbrk.o xil_printf.o
|
|
SCRIPTS = xilinx.ld
|
|
|
|
# Tiny Linux BSP.
|
|
LINUX_BSP = libgloss-linux.a
|
|
CRT += linux-crt0.o
|
|
LINUX_OBJS = linux-syscalls.o linux-syscalls-wrap.o
|
|
LINUX_OBJS += linux-outbyte.o linux-inbyte.o
|
|
LINUX_SCRIPTS = elf-gloss-linux.specs
|
|
|
|
CPU = @CPU@
|
|
|
|
#### Host specific Makefile fragment comes in here.
|
|
@host_makefile_frag@
|
|
|
|
all: ${CRT} ${LIB} ${LINUX_BSP}
|
|
|
|
install: ${CRT} ${LIB} install-linux
|
|
${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR}
|
|
@for crt in ${CRT}; do \
|
|
$(INSTALL_PROGRAM) $${crt} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$${crt}; \
|
|
done
|
|
$(INSTALL_PROGRAM) ${LIB} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}
|
|
$(INSTALL_PROGRAM) $(srcdir)/${SCRIPTS} $(DESTDIR)$(tooldir)/lib/
|
|
|
|
install-linux: ${LINUX_BSP}
|
|
${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR}
|
|
$(INSTALL_PROGRAM) ${LINUX_BSP} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}
|
|
set -e; for x in ${LINUX_SCRIPTS}; do ${INSTALL_DATA} ${srcdir}/${objtype}$$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done
|
|
|
|
crt0.o: crt0.S
|
|
crt1.o: crt1.S
|
|
crt2.o: crt2.S
|
|
crt3.o: crt3.S
|
|
crt4.o: crt4.S
|
|
linux-crt0.o: linux-crt0.S
|
|
crtinit.o: crtinit.S
|
|
sim-crtinit.o: sim-crtinit.S
|
|
sim-pgcrtinit.o: sim-pgcrtinit.S
|
|
|
|
# target specific makefile fragment comes in here.
|
|
@target_makefile_frag@
|
|
|
|
clean mostlyclean:
|
|
rm -f *.o *.a *.map *.x
|
|
|
|
distclean maintainer-clean realclean: clean
|
|
rm -f Makefile config.cache config.log config.status
|
|
|
|
${LIB}: ${OBJS}
|
|
${AR} ${ARFLAGS} $@ ${OBJS}
|
|
${RANLIB} $@
|
|
|
|
${LINUX_BSP}: ${LINUX_OBJS}
|
|
${AR} ${ARFLAGS} $@ ${LINUX_OBJS}
|
|
${RANLIB} $@
|
|
|
|
.PHONY: info dvi doc install-info clean-info
|
|
info doc dvi:
|
|
install-info:
|
|
clean-info:
|
|
|
|
Makefile: Makefile.in ../config.status
|
|
cd .. && $(SHELL) config.status
|