libgloss: merge nds32 into top-level Makefile

Message ID 20231227050058.25883-1-vapier@gentoo.org
State New
Headers
Series libgloss: merge nds32 into top-level Makefile |

Commit Message

Mike Frysinger Dec. 27, 2023, 5 a.m. UTC
  Avoid a recursive make to speed things up a bit.
A nds32le-elf build shows installed objects & libs produce same code.
---
 libgloss/Makefile.am        |   3 +
 libgloss/Makefile.in        | 293 +++++++++++++++++++++++++++---------
 libgloss/configure          |  19 ++-
 libgloss/configure.ac       |   5 +-
 libgloss/nds32/Makefile.in  | 143 ------------------
 libgloss/nds32/Makefile.inc |  50 ++++++
 6 files changed, 296 insertions(+), 217 deletions(-)
 delete mode 100644 libgloss/nds32/Makefile.in
 create mode 100644 libgloss/nds32/Makefile.inc
  

Patch

diff --git a/libgloss/Makefile.am b/libgloss/Makefile.am
index 10a8706392ff..e70c9d246cb1 100644
--- a/libgloss/Makefile.am
+++ b/libgloss/Makefile.am
@@ -114,6 +114,9 @@  endif
 if CONFIG_MSP430
 include msp430/Makefile.inc
 endif
+if CONFIG_NDS32
+include nds32/Makefile.inc
+endif
 if CONFIG_NIOS2
 include nios2/Makefile.inc
 endif
diff --git a/libgloss/configure.ac b/libgloss/configure.ac
index 47b614968465..b22778896797 100644
--- a/libgloss/configure.ac
+++ b/libgloss/configure.ac
@@ -74,8 +74,7 @@  case "${target}" in
 	subdirs="$subdirs m68hc11"
 	;;
   nds32*-*-*)
-	AC_CONFIG_FILES([nds32/Makefile])
-	subdirs="$subdirs nds32"
+	config_nds32=true
 	;;
   fido-*-* | m68*-*-*)
 	AC_CONFIG_FILES([m68k/Makefile])
@@ -241,7 +240,7 @@  dnl the ports above will too!
 m4_foreach_w([SUBDIR], [
   aarch64 arc arm bfin csky d30v frv i386 i960 iq2000 libnosys lm32
   mcore mn10200 mn10300 moxie msp430
-  nios2 riscv v850 wince xtensa
+  nds32 nios2 riscv v850 wince xtensa
 ], [dnl
   AM_CONDITIONAL([CONFIG_]m4_toupper(SUBDIR), [test x$config_]SUBDIR = xtrue)
 ])
diff --git a/libgloss/nds32/Makefile.in b/libgloss/nds32/Makefile.in
deleted file mode 100644
index 98311e045ebb..000000000000
--- a/libgloss/nds32/Makefile.in
+++ /dev/null
@@ -1,143 +0,0 @@ 
-# Makefile for libgloss/nds32
-# Copyright (c) 1996, 1998 Cygnus Support. 2012 Andes Porting.
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms are permitted
-# provided that the above copyright notice and this paragraph are
-# duplicated in all such forms and that any documentation,
-# and/or other materials related to such
-# distribution and use acknowledge that the software was developed
-# at Cygnus Support, Inc.  Cygnus Support, Inc. may not be used to
-# endorse or promote products derived from this software without
-# specific prior written permission.
-# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
-# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-DESTDIR =
-VPATH = @srcdir@ @srcdir@/..
-srcdir = @srcdir@
-objdir = .
-srcroot = $(srcdir)/../..
-objroot = $(objdir)/../..
-
-host_alias = @host_alias@
-target_alias = @target_alias@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-bindir = @bindir@
-libdir = @libdir@
-tooldir = $(exec_prefix)/$(target_alias)
-
-TOP = ../..
-SRCTOP = ../..
-
-# Multilib support variables.
-# TOP is used instead of MULTI{BUILD,SRC}TOP.
-MULTISRCTOP =
-MULTIBUILDTOP =
-MULTIDIRS =
-MULTISUBDIR =
-MULTIDO = true
-MULTICLEAN = true
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_DATA = @INSTALL_DATA@
-
-SHELL = /bin/sh
-
-CC = @CC@
-
-AS = @AS@
-AR = @AR@
-LD = @LD@
-RANLIB = @RANLIB@
-
-AR_FLAGS = qv
-BISON = bison
-MAKEINFO = makeinfo
-
-.NOEXPORT:
-MAKEOVERRIDES =
-
-TARGETDOC = ../../targetdep.tex
-
-CRT0 = crt0.o
-CRT1 = crt1.o
-
-
-
-SYSCALLS1 = _exit.o _open.o _close.o _read.o _write.o
-SYSCALLS2 = _lseek.o _unlink.o _getpid.o _kill.o _fstat.o
-SYSCALLS3 = _argvlen.o _argv.o _chdir.o _stat.o _chmod.o
-SYSCALLS4 = _utime.o _time.o _gettimeofday.o _times.o _link.o
-SYSCALLS5 = _rename.o _isatty.o _system.o _sbrk.o syscall_error_handler.o
-SYSCALLS  = $(SYSCALLS1) $(SYSCALLS2) $(SYSCALLS3) $(SYSCALLS4) $(SYSCALLS5)
-GENERIC_LIBOBJS =
-
-LIBOBJS =  $(SYSCALLS) $(GENERIC_LIBOBJS)
-LIBGLOSS = libgloss.a
-
-# Host specific makefile fragment comes in here.
-@host_makefile_frag@
-
-all: $(CRT0) $(CRT1) $(LIBGLOSS)
-
-libgloss.a: $(LIBOBJS)
-	$(AR) $(ARFLAGS) $@ $(LIBOBJS)
-	$(RANLIB) $@
-
-install:
-	mkdir -p $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}
-	$(INSTALL_DATA) $(CRT0) $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(CRT0)
-	$(INSTALL_DATA) $(CRT1) $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(CRT1)
-	$(INSTALL_DATA) $(LIBGLOSS) $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(LIBGLOSS)
-
-
-
-
-
-
-
-clean mostlyclean:
-	rm -f *~ *.[oa]
-
-distclean maintainer-clean realclean: clean
-	rm -f Makefile
-
-info doc:
-install-info:
-clean-info:
-
-Makefile: Makefile.in ../config.status
-	cd .. && $(SHELL) config.status
-
-# to support SunOS VPATH
-crt0.o: crt0.S
-crt1.o: crt1.S
-_exit.o: _exit.S
-_open.o: _open.S
-_close.o: _close.S
-_read.o: _read.S
-_write.o: _write.S
-_lseek.o: _lseek.S
-_unlink.o: _unlink.S
-_getpid.o: _getpid.S
-_kill.o: _kill.S
-_fstat.o: _fstat.S
-_argvlen.o: _argvlen.S
-_argv.o: _argv.S
-_chdir.o: _chdir.S
-_stat.o: _stat.S
-_chmod.o: _chmod.S
-_utime.o: _utime.S
-_time.o: _time.S
-_gettimeofday.o: _gettimeofday.S
-_times.o: _times.S
-_link.o: _link.S
-_rename.o: _rename.S
-_isatty.o: _isatty.S
-_system.o: _system.S
-_sbrk.o: _sbrk.S
-syscall_error_handler.o: syscall_error_handler.S
diff --git a/libgloss/nds32/Makefile.inc b/libgloss/nds32/Makefile.inc
new file mode 100644
index 000000000000..e14f954248d7
--- /dev/null
+++ b/libgloss/nds32/Makefile.inc
@@ -0,0 +1,50 @@ 
+## Makefile for libgloss/nds32
+## Copyright (c) 1996, 1998 Cygnus Support. 2012 Andes Porting.
+## All rights reserved.
+##
+## Redistribution and use in source and binary forms are permitted
+## provided that the above copyright notice and this paragraph are
+## duplicated in all such forms and that any documentation,
+## and/or other materials related to such
+## distribution and use acknowledge that the software was developed
+## at Cygnus Support, Inc.  Cygnus Support, Inc. may not be used to
+## endorse or promote products derived from this software without
+## specific prior written permission.
+## THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+## IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+## WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+multilibtool_DATA += \
+	%D%/crt0.o \
+	%D%/crt1.o
+libobjs_a_SOURCES += \
+	%D%/crt0.S \
+	%D%/crt1.S
+
+multilibtool_LIBRARIES += %D%/libgloss.a
+%C%_libgloss_a_SOURCES = \
+	%D%/_exit.S \
+	%D%/_open.S \
+	%D%/_close.S \
+	%D%/_read.S \
+	%D%/_write.S \
+	%D%/_lseek.S \
+	%D%/_unlink.S \
+	%D%/_getpid.S \
+	%D%/_kill.S \
+	%D%/_fstat.S \
+	%D%/_argvlen.S \
+	%D%/_argv.S \
+	%D%/_chdir.S \
+	%D%/_stat.S \
+	%D%/_chmod.S \
+	%D%/_utime.S \
+	%D%/_time.S \
+	%D%/_gettimeofday.S \
+	%D%/_times.S \
+	%D%/_link.S \
+	%D%/_rename.S \
+	%D%/_isatty.S \
+	%D%/_system.S \
+	%D%/_sbrk.S \
+	%D%/syscall_error_handler.S