mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-02-02 04:20:28 +08:00
754f8def0d
For about half the ports, we don't need a subdir configure script. They're using the config/default.m[ht] rules, and they aren't doing any unique configure tests, so they exist just to pass top-level settings down to create the arch Makefile. We can just as easily do that from the top-level Mkaefile directly and skip configure. Most of the remaining configure scripts could be migrated up to the top-level too, but that would require care in each subdir. So let's be lazy and put that off to another day.
123 lines
2.7 KiB
Makefile
123 lines
2.7 KiB
Makefile
#
|
|
#
|
|
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 *~
|
|
|
|
.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
|
|
cd .. && $(SHELL) config.status
|