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

prefix = @prefix@
exec_prefix = @exec_prefix@

host_alias = @host_alias@
target_alias = @target_alias@

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

objtype = @objtype@

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

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

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`

CRT0		= gcrt0.o crt0.o
CRT0_INSTALL	= install-crt0

NSIM_BSP = libnsim.a
NSIM_OBJS = \
	libcfunc.o \
	nsim-syscalls.o \
	sbrk.o \
	mcount.o
NSIM_INSTALL = install-nsim
NSIM_SCRIPTS = nsim.specs

NANO_SCRIPTS = nano.specs
NANO_INSTALL = install-nano

CFLAGS		= -g

# Host specific makefile fragment comes in here.
@host_makefile_frag@

all: $(CRT0) $(NSIM_BSP)

$(NSIM_BSP): $(NSIM_OBJS)
	$(AR) $(ARFLAGS) $@ $?
	$(RANLIB) $@

libcfunc.o: libcfunc.c
nsim-syscalls.o: nsim-syscalls.c
sbrk.o: sbrk.c
mcount.o: mcount.c
gcrt0.o: gcrt0.S crt0.S
crt0.o: crt0.S

clean mostlyclean:
	rm -f *.o *.a

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

.PHONY: install info install-info clean-info doc dvi
install: $(CRT0_INSTALL) $(NSIM_INSTALL) $(NANO_INSTALL)

# multilibdir may not exist yet - libgcc for ARC depends on libc, hence
# newlib/libgloss is built before libgcc. And in parallel build libgloss maybe
# built and installed before newlib, therefore libgloss has to create target
# directory.

$(CRT0_INSTALL):
	$(mkinstalldirs) $(DESTDIR)${tooldir}/lib${MULTISUBDIR}
	for c in $(CRT0); do \
	  b=`basename $$c`; \
	  ${INSTALL_DATA} $$c $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$b ;\
	done

$(NSIM_INSTALL):
	$(mkinstalldirs) $(DESTDIR)${tooldir}/lib${MULTISUBDIR}
	$(INSTALL_DATA) $(NSIM_BSP) $(DESTDIR)$(tooldir)/lib$(MULTISUBDIR)/$(NSIM_BSP)
	for x in $(NSIM_SCRIPTS); do \
	    $(INSTALL_DATA) $(srcdir)/$$x $(DESTDIR)$(tooldir)/lib$(MULTISUBDIR)/$$x; done

$(NANO_INSTALL):
	$(mkinstalldirs) $(DESTDIR)${tooldir}/lib${MULTISUBDIR}
	for x in $(NANO_SCRIPTS); do \
		$(INSTALL_DATA) $(srcdir)/$$x $(DESTDIR)$(tooldir)/lib$(MULTISUBDIR)/$$x; done

doc:
info:
dvi:
install-info:
clean-info:

Makefile: Makefile.in config.status @host_makefile_frag_path@
	$(SHELL) config.status

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