libgloss: merge mn10200 into top-level Makefile

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

Commit Message

Mike Frysinger Dec. 27, 2023, 4:29 a.m. UTC
  Avoid a recursive make to speed things up a bit.
Untested, but follows the same pattern as mn10300, but simpler.
---
 libgloss/Makefile.am          |   3 +
 libgloss/Makefile.in          | 316 ++++++++++++++++++++++++----------
 libgloss/config/mn10200.mt    |   3 -
 libgloss/configure            |  20 ++-
 libgloss/configure.ac         |   6 +-
 libgloss/mn10200/Makefile.in  | 149 ----------------
 libgloss/mn10200/Makefile.inc |  43 +++++
 7 files changed, 291 insertions(+), 249 deletions(-)
 delete mode 100644 libgloss/config/mn10200.mt
 delete mode 100644 libgloss/mn10200/Makefile.in
 create mode 100644 libgloss/mn10200/Makefile.inc
  

Patch

diff --git a/libgloss/Makefile.am b/libgloss/Makefile.am
index 3732184dcced..2bbbc8fe0a3d 100644
--- a/libgloss/Makefile.am
+++ b/libgloss/Makefile.am
@@ -99,6 +99,9 @@  endif
 if CONFIG_LM32
 include lm32/Makefile.inc
 endif
+if CONFIG_MN10200
+include mn10200/Makefile.inc
+endif
 if CONFIG_MN10300
 include mn10300/Makefile.inc
 endif
diff --git a/libgloss/config/mn10200.mt b/libgloss/config/mn10200.mt
deleted file mode 100644
index cf565c1de97a..000000000000
--- a/libgloss/config/mn10200.mt
+++ /dev/null
@@ -1,3 +0,0 @@ 
-# Dummy target-specific Makefile fragment for MN10200.  We can't
-# use default.mt because it refers to generic source files whose
-# names conflict with the MN10200-specific sources.
diff --git a/libgloss/configure.ac b/libgloss/configure.ac
index b5ffeba0b07a..4564e16ceecd 100644
--- a/libgloss/configure.ac
+++ b/libgloss/configure.ac
@@ -113,9 +113,7 @@  case "${target}" in
 	host_makefile_frag=${srcdir}/config/ppc.mh
 	;;
   mn10200-*-*)
-	AC_CONFIG_FILES([mn10200/Makefile])
-	subdirs="$subdirs mn10200"
-	target_makefile_frag=${srcdir}/config/mn10200.mt
+	config_mn10200=true
 	;;
   mn10300-*-*)
 	config_mn10300=true
@@ -243,7 +241,7 @@  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 frv i386 i960 iq2000 libnosys lm32
-  mn10300 moxie msp430
+  mn10200 mn10300 moxie msp430
   nios2 riscv v850 wince xtensa
 ], [dnl
   AM_CONDITIONAL([CONFIG_]m4_toupper(SUBDIR), [test x$config_]SUBDIR = xtrue)
diff --git a/libgloss/mn10200/Makefile.in b/libgloss/mn10200/Makefile.in
deleted file mode 100644
index 9db24f444771..000000000000
--- a/libgloss/mn10200/Makefile.in
+++ /dev/null
@@ -1,149 +0,0 @@ 
-# Copyright (c) 1998 Cygnus Support
-#
-# 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.
-
-DESTDIR =
-VPATH = @srcdir@
-srcdir = @srcdir@
-objdir = .
-srcroot = $(srcdir)/../..
-objroot = $(objdir)/../..
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-host_alias = @host_alias@
-target_alias = @target_alias@
-program_transform_name = @program_transform_name@
-
-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@
-AS = `if [ -f ${objroot}/../gas/as.new ] ; \
-	then echo ${objroot}/../gas/as.new ; \
-	else echo as ; fi`
-
-AR = @AR@
-
-#LD = @LD@
-LD = `if [ -f ${objroot}/../ld/ld.new ] ; \
-	then echo ${objroot}/../ld/ld.new ; \
-	else echo ld ; fi`
-
-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 = crt0.o
-
-# Generic object files common to all targets.
-GENOBJS = _exit.o access.o chmod.o close.o crt1.o \
-	fstat.o getpid.o isatty.o \
-	kill.o lseek.o open.o read.o \
-	sbrk.o stat.o time.o trap.o unlink.o utime.o write.o
-
-# Object files specific to particular targets.
-EVALOBJS = ${GENOBJS}
-
-CFLAGS = -g 
-
-GCC_LDFLAGS = `if [ -d ${objroot}/../gcc ] ; \
-	then echo -L${objroot}/../gcc ; fi`
-
-SCRIPTS = eval sim
-BSP = libeval.a
-
-# Host specific makefile fragment comes in here.
-@host_makefile_frag@
-
-#
-# build a test program for each target board. Just trying to get
-# it to link is a good test, so we ignore all the errors for now.
-#
-
-all: ${CRT0} test.o ${BSP}
-
-#
-# here's where we build the board support packages for each target
-#
-
-libeval.a: $(EVALOBJS)
-	${AR} ${ARFLAGS} $@ $(EVALOBJS)
-	${RANLIB} $@
-
-
-# compile a fully linked binary. The -Wl,-T*.ld is for the linker
-# script. By using -Wl, the linker script is put on the proper place
-# in the comand line for ld, and all the symbols will get fully
-# resolved.
-
-test: $(CRT0) test.o
-	${CC} $(CFLAGS_FOR_TARGET) -L${srcdir} -L${objdir} \
-	test.o -o $@ $(NEWLIB_LDFLAGS) -Wl,-Teval.ld
-	@echo Done...
-
-doc:	
-
-clean mostlyclean:
-	rm -f a.out core *.i *~ *.o *-test *.srec *.dis *.map *.x
-
-distclean maintainer-clean realclean: clean
-	rm -f Makefile a.out
-
-.PHONY: install info install-info clean-info
-install:
-	${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR}
-	$(INSTALL_PROGRAM) $(CRT0) $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(CRT0)
-	@for bsp in ${BSP}; do\
-	 $(INSTALL_PROGRAM) $${bsp} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \
-	done
-	@for script in ${SCRIPTS}; do\
-	 $(INSTALL_DATA) ${srcdir}/$${script}.ld $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$${script}.ld; \
-	done
-
-info:
-install-info:
-clean-info:
-
-test.o:	${srcdir}/test.c
-
-# these are for the BSPs
-${CRT0}: ${srcdir}/crt0.S
-
-# target specific makefile fragment comes in here.
-@target_makefile_frag@
-
-Makefile: Makefile.in ../config.status
-	cd .. && $(SHELL) config.status
diff --git a/libgloss/mn10200/Makefile.inc b/libgloss/mn10200/Makefile.inc
new file mode 100644
index 000000000000..81d368021535
--- /dev/null
+++ b/libgloss/mn10200/Makefile.inc
@@ -0,0 +1,43 @@ 
+## Copyright (c) 1998 Cygnus Support
+##
+## 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.
+
+multilibtool_DATA += \
+	%D%/eval.ld \
+	%D%/sim.ld
+
+multilibtool_DATA += %D%/crt0.o
+libobjs_a_SOURCES += %D%/crt0.S
+
+multilibtool_LIBRARIES += %D%/libeval.a
+%C%_libeval_a_SOURCES = \
+	%D%/_exit.c \
+	%D%/access.c \
+	%D%/chmod.c \
+	%D%/close.c \
+	%D%/crt1.c \
+	%D%/fstat.c \
+	%D%/getpid.c \
+	%D%/isatty.c \
+	%D%/kill.c \
+	%D%/lseek.c \
+	%D%/open.c \
+	%D%/read.c \
+	%D%/sbrk.c \
+	%D%/stat.c \
+	%D%/time.c \
+	%D%/trap.S \
+	%D%/unlink.c \
+	%D%/utime.c \
+	%D%/write.c
+
+check_PROGRAMS += %D%/test
+%C%_test_LDFLAGS = $(AM_LDFLAGS) -Wl,-T$(srcdir)/%D%/eval.ld