[PATCH] libgloss: merge moxie into top-level Makefile

Mike Frysinger <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
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

diff --git a/libgloss/Makefile.am b/libgloss/Makefile.am
index 0d4460b5801e..b6f12735ce4c 100644
--- a/libgloss/Makefile.am
+++ b/libgloss/Makefile.am
@@ -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
diff --git a/libgloss/configure.ac b/libgloss/configure.ac
index 19bdf9b3a6b9..7f6aaf0e147a 100644
--- a/libgloss/configure.ac
+++ b/libgloss/configure.ac
@@ -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)
 ])
diff --git a/libgloss/moxie/Makefile.in b/libgloss/moxie/Makefile.in
deleted file mode 100644
index e87510fe2e8f..000000000000
--- a/libgloss/moxie/Makefile.in
+++ /dev/null
@@ -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
diff --git a/libgloss/moxie/Makefile.inc b/libgloss/moxie/Makefile.inc
new file mode 100644
index 000000000000..1e7ed7b63eda
--- /dev/null
+++ b/libgloss/moxie/Makefile.inc
@@ -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
diff --git a/libgloss/moxie/acinclude.m4 b/libgloss/moxie/acinclude.m4
index 77428ee37ded..b7bc56b1ea0d 100644
--- a/libgloss/moxie/acinclude.m4
+++ b/libgloss/moxie/acinclude.m4
@@ -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])
-- 
2.43.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.