libgloss: merge rx into top-level Makefile

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

Commit Message

Mike Frysinger Dec. 27, 2023, 5:39 a.m. UTC
  Avoid a recursive make to speed things up a bit.
A rx-elf build shows installed objects & libs produce same code.
---
 libgloss/Makefile.am     |   3 +
 libgloss/Makefile.in     | 249 ++++++++++++++++++++++++++++++---------
 libgloss/configure       |  19 ++-
 libgloss/configure.ac    |   5 +-
 libgloss/rx/Makefile.in  | 164 --------------------------
 libgloss/rx/Makefile.inc |  54 +++++++++
 6 files changed, 265 insertions(+), 229 deletions(-)
 delete mode 100644 libgloss/rx/Makefile.in
 create mode 100644 libgloss/rx/Makefile.inc
  

Patch

diff --git a/libgloss/Makefile.am b/libgloss/Makefile.am
index a877e402aff7..144c4b68c4f3 100644
--- a/libgloss/Makefile.am
+++ b/libgloss/Makefile.am
@@ -123,6 +123,9 @@  endif
 if CONFIG_RISCV
 include riscv/Makefile.inc
 endif
+if CONFIG_RX
+include rx/Makefile.inc
+endif
 if CONFIG_WINCE
 include wince/Makefile.inc
 endif
diff --git a/libgloss/configure.ac b/libgloss/configure.ac
index 0ebc9b75b2fc..6d16936fbc1d 100644
--- a/libgloss/configure.ac
+++ b/libgloss/configure.ac
@@ -199,8 +199,7 @@  case "${target}" in
 	subdirs="$subdirs rl78"
 	;;
   rx*-*-elf)
-	AC_CONFIG_FILES([rx/Makefile])
-	subdirs="$subdirs rx"
+	config_rx=true
 	;;
   arm*-*-elf | arm*-*-coff | arm*-*-*)
 	config_arm=true
@@ -239,7 +238,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
-  nds32 nios2 riscv v850 wince xstormy16 xtensa
+  nds32 nios2 riscv rx v850 wince xstormy16 xtensa
 ], [dnl
   AM_CONDITIONAL([CONFIG_]m4_toupper(SUBDIR), [test x$config_]SUBDIR = xtrue)
 ])
diff --git a/libgloss/rx/Makefile.in b/libgloss/rx/Makefile.in
deleted file mode 100644
index d730451bcdf4..000000000000
--- a/libgloss/rx/Makefile.in
+++ /dev/null
@@ -1,164 +0,0 @@ 
-# Copyright (c) 2008, 2009 Red Hat Inc
-#
-# 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/rx.
-
-VPATH = @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`
-
-SCRIPTS = $(srcdir)/rx.ld $(srcdir)/rx-sim.ld
-CRT = gcrt0.o crt0.o crtn.o
-SIM_BSP = libsim.a
-LIBNOSYS = ../libnosys/libnosys.a
-SIM_OBJS = \
-	sbrk.o \
-	heaptop.o \
-	exit.o \
-	open.o \
-	close.o \
-	read.o \
-	write.o \
-	lseek.o \
-	unlink.o \
-	getpid.o \
-	kill.o \
-	fstat.o \
-	argvlen.o \
-	argv.o \
-	chdir.o \
-	stat.o \
-	chmod.o \
-	utime.o \
-	time.o \
-	gettimeofday.o \
-	times.o \
-	link.o \
-	isatty.o \
-	abort.o \
-	mcount.o \
-	sigprocmask.o \
-	sleep.o
-
-#### Host specific Makefile fragment comes in here.
-@host_makefile_frag@
-
-
-# Override .S.o rule to pass assembler debugging flags
-.S.o:
-	$(CC) -Wa,-gdwarf2 -Wa,-I$(srcdir) $(CFLAGS_FOR_TARGET) $(INCLUDES) $(CFLAGS) -c $<
-
-all: $(CRT) $(SIM_BSP) copy_scripts_to_objdir
-
-$(SIM_BSP): $(SIM_OBJS)
-	$(AR) $(ARFLAGS) $@ $?
-	$(RANLIB) $@
-
-copy_scripts_to_objdir: $(SCRIPTS)
-	cp $(SCRIPTS) $(objdir)
-
-# Dependencies
-
-SDEPS = $(srcdir)/rxsys.h $(srcdir)/../syscall.h
-
-abort.o : $(SDEPS)
-argv.o : $(SDEPS)
-argvlen.o : $(SDEPS)
-chdir.o : $(SDEPS)
-chmod.o : $(SDEPS)
-close.o : $(SDEPS)
-exit.o : $(SDEPS)
-fstat.o : $(SDEPS)
-getpid.o : $(SDEPS)
-gettimeofday.o : $(SDEPS)
-gcrt0.o: gcrt0.S crt0.S
-heaptop.o : $(SDEPS)
-kill.o : $(SDEPS)
-link.o : $(SDEPS)
-lseek.o : $(SDEPS)
-mcount.o : $(SDEPS)
-open.o : $(SDEPS)
-read.o : $(SDEPS)
-sigprocmask.o : $(SDEPS)
-sleep.o : $(SDEPS)
-stat.o : $(SDEPS)
-time.o : $(SDEPS)
-times.o : $(SDEPS)
-unlink.o : $(SDEPS)
-utime.o : $(SDEPS)
-write.o : $(SDEPS)
-
-install: $(CRT) $(SIM_BSP) $(SCRIPTS)
-	${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR}
-	for c in $(CRT) $(SIM_BSP); do \
-	  $(INSTALL_DATA) $$c $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$$c ;\
-	done
-	for c in $(SCRIPTS); do \
-	  b=`basename $$c`; \
-	  $(INSTALL_DATA) $$c $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$$b ;\
-	done
-
-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/rx/Makefile.inc b/libgloss/rx/Makefile.inc
new file mode 100644
index 000000000000..3ca121fd755f
--- /dev/null
+++ b/libgloss/rx/Makefile.inc
@@ -0,0 +1,54 @@ 
+## Copyright (c) 2008, 2009 Red Hat Inc
+##
+## 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%/rx.ld \
+	%D%/rx-sim.ld
+
+multilibtool_DATA += \
+	%D%/gcrt0.o \
+	%D%/crt0.o \
+	%D%/crtn.o
+libobjs_a_SOURCES += \
+	%D%/gcrt0.S \
+	%D%/crt0.S \
+	%D%/crtn.S
+
+multilibtool_LIBRARIES += %D%/libsim.a
+%C%_libsim_a_SOURCES = \
+	%D%/sbrk.c \
+	%D%/heaptop.S \
+	%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%/isatty.S \
+	%D%/abort.S \
+	%D%/mcount.c \
+	%D%/sigprocmask.S \
+	%D%/sleep.S