libgloss: merge moxie into top-level Makefile
Commit Message
Avoid a recursive make to speed things up a bit.
A moxie-elf build shows installed objects & libs produce same code.
---
libgloss/Makefile.am | 3 +
libgloss/Makefile.in | 229 +++++++++++++++++++++++++++++-------
libgloss/configure | 45 ++++---
libgloss/configure.ac | 5 +-
libgloss/moxie/Makefile.in | 157 ------------------------
libgloss/moxie/Makefile.inc | 60 ++++++++++
libgloss/moxie/acinclude.m4 | 16 +--
7 files changed, 286 insertions(+), 229 deletions(-)
delete mode 100644 libgloss/moxie/Makefile.in
create mode 100644 libgloss/moxie/Makefile.inc
@@ -90,6 +90,9 @@ endif
if CONFIG_LM32
include lm32/Makefile.inc
endif
+if CONFIG_MOXIE
+include moxie/Makefile.inc
+endif
if CONFIG_NIOS2
include nios2/Makefile.inc
endif
@@ -166,8 +166,7 @@ case "${target}" in
subdirs="$subdirs mep"
;;
moxie-*-*)
- AC_CONFIG_FILES([moxie/Makefile])
- subdirs="$subdirs moxie"
+ config_moxie=true
;;
microblaze*-*-*)
AC_CONFIG_FILES([microblaze/Makefile])
@@ -250,7 +249,7 @@ AC_SUBST(subdirs)
dnl These subdirs have converted to non-recursive make. Hopefully someday all
dnl the ports above will too!
m4_foreach_w([SUBDIR], [
- aarch64 arc arm bfin csky d30v iq2000 libnosys lm32 nios2 riscv wince xtensa
+ aarch64 arc arm bfin csky d30v iq2000 libnosys lm32 moxie nios2 riscv wince xtensa
], [dnl
AM_CONDITIONAL([CONFIG_]m4_toupper(SUBDIR), [test x$config_]SUBDIR = xtrue)
])
deleted file mode 100644
@@ -1,157 +0,0 @@
-# Copyright (c) 2008, 2010 Anthony Green
-#
-# 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.
-
-# Makefile for libgloss/spro. This is the board support code for the
-# moxie target.
-
-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 =
-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 = rc
-
-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`
-
-LD_SCRIPTS = moxie-elf-common.ld qemu.ld sim.ld moxiebox.ld
-
-@MOXIE_BUILD_CRT0_TRUE@CRT0 = crt0.o
-@MOXIE_BUILD_CRT0_TRUE@CRT0_INSTALL = install-crt0
-@MOXIE_BUILD_CRT0_FALSE@CRT0 =
-@MOXIE_BUILD_CRT0_FALSE@CRT0_INSTALL =
-
-SIM_BSP = libsim.a
-SIM_OBJS = fstat.o \
- getpid.o \
- isatty.o \
- kill.o \
- putnum.o \
- sbrk.o \
- sim-close.o \
- sim-exit.o \
- sim-inbyte.o \
- sim-lseek.o \
- sim-open.o \
- sim-read.o \
- sim-time.o \
- sim-unlink.o \
- sim-write.o \
- stat.o
-
-QEMU_BSP = libqemu.a
-QEMU_OBJS = qemu-write.o \
- qemu-time.o \
- sim-exit.o \
- sbrk.o \
- sim-close.o \
- fstat.o \
- getpid.o \
- isatty.o \
- kill.o \
- putnum.o \
- sim-lseek.o \
- sim-read.o
-
-#### Host specific Makefile fragment comes in here.
-@host_makefile_frag@
-
-all: ${CRT0} $(SIM_BSP) $(QEMU_BSP)
-
-$(SIM_BSP): $(SIM_OBJS)
- $(AR) $(ARFLAGS) $@ $?
- $(RANLIB) $@
-
-$(QEMU_BSP): $(QEMU_OBJS)
- $(AR) $(ARFLAGS) $@ $?
- $(RANLIB) $@
-
-fstat.o: $(srcdir)/fstat.c
-getpid.o: $(srcdir)/getpid.c
-isatty.o: $(srcdir)/isatty.c
-kill.o: $(srcdir)/kill.c
-putnum.o: $(srcdir)/putnum.c
-sbrk.o: $(srcdir)/sbrk.c
-sim-close.o: $(srcdir)/sim-close.S
-sim-exit.o: $(srcdir)/sim-exit.S
-sim-inbyte.o: $(srcdir)/sim-inbyte.c
-sim-lseek.o: $(srcdir)/sim-lseek.c
-sim-open.o: $(srcdir)/sim-open.S
-sim-read.o: $(srcdir)/sim-read.S
-sim-time.o: $(srcdir)/sim-time.c
-sim-unlink.o: $(srcdir)/sim-unlink.S
-sim-write.o: $(srcdir)/sim-write.S
-stat.o: $(srcdir)/stat.c
-qemu-write.o: $(srcdir)/qemu-write.c
-
-install: ${CRT0_INSTALL} $($(CPU)_INSTALL)
- ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR}
- $(INSTALL_DATA) $(SIM_BSP) $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(SIM_BSP)
- $(INSTALL_DATA) $(QEMU_BSP) $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(QEMU_BSP)
- for x in ${LD_SCRIPTS}; do \
- ${INSTALL_DATA} ${srcdir}/$$x $(DESTDIR)${tooldir}/lib/$$x; \
- done;
-
-install-crt0:
- ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR}
- ${INSTALL_DATA} ${CRT0} $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x
-
-clean mostlyclean:
- rm -f *.o *.a
-
-distclean maintainer-clean realclean: clean
- rm -f Makefile
-
-.PHONY: info dvi doc install-info clean-info
-info doc dvi:
-install-info:
-clean-info:
-
-Makefile: Makefile.in ../config.status
- cd .. && $(SHELL) config.status
new file mode 100644
@@ -0,0 +1,60 @@
+## Copyright (c) 2008, 2010 Anthony Green
+##
+## 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.
+
+## Makefile for libgloss/spro. This is the board support code for the
+## moxie target.
+
+if !HAVE_MULTISUBDIR
+multilibtool_DATA += \
+ %D%/moxie-elf-common.ld \
+ %D%/qemu.ld \
+ %D%/sim.ld \
+ %D%/moxiebox.ld
+endif
+
+if MOXIE_BUILD_CRT0
+multilibtool_DATA += %D%/crt0.o
+endif
+
+multilibtool_LIBRARIES += %D%/libsim.a
+%C%_libsim_a_SOURCES = \
+ %D%/fstat.c \
+ %D%/getpid.c \
+ %D%/isatty.c \
+ %D%/kill.c \
+ %D%/putnum.c \
+ %D%/sbrk.c \
+ %D%/sim-close.S \
+ %D%/sim-exit.S \
+ %D%/sim-inbyte.c \
+ %D%/sim-lseek.c \
+ %D%/sim-open.S \
+ %D%/sim-read.S \
+ %D%/sim-time.c \
+ %D%/sim-unlink.S \
+ %D%/sim-write.S \
+ %D%/stat.c
+
+multilibtool_LIBRARIES += %D%/libqemu.a
+%C%_libqemu_a_SOURCES = \
+ %D%/qemu-write.c \
+ %D%/qemu-time.c \
+ %D%/sim-exit.S \
+ %D%/sbrk.c \
+ %D%/sim-close.S \
+ %D%/fstat.c \
+ %D%/getpid.c \
+ %D%/isatty.c \
+ %D%/kill.c \
+ %D%/putnum.c \
+ %D%/sim-lseek.c \
+ %D%/sim-read.S
@@ -1,13 +1,5 @@
dnl Don't build crt0 for moxiebox, which provides crt0 for us.
-case "${target}" in
- moxie-*-moxiebox*)
- MOXIE_BUILD_CRT0_TRUE='#'
- MOXIE_BUILD_CRT0_FALSE=
- ;;
- *)
- MOXIE_BUILD_CRT0_TRUE=
- MOXIE_BUILD_CRT0_FALSE='#'
- ;;
-esac
-AC_SUBST(MOXIE_BUILD_CRT0_TRUE)
-AC_SUBST(MOXIE_BUILD_CRT0_FALSE)
+AS_CASE([${target}],
+ [moxie-*-moxiebox*], [MOXIE_BUILD_CRT0=false],
+ [MOXIE_BUILD_CRT0=true])
+AM_CONDITIONAL([MOXIE_BUILD_CRT0], [$MOXIE_BUILD_CRT0])