libgloss: merge cr16 into top-level Makefile

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

Commit Message

Mike Frysinger Jan. 21, 2024, 4:50 a.m. UTC
  Avoid a recursive make to speed things up a bit.
A cr16-elf build shows installed objects & libs produce same code.

The test targets were dropped as they didn't actually work -- there
is no test.o rule in here.
---
 libgloss/Makefile.am       |   3 +
 libgloss/Makefile.in       | 634 +++++++++++++++++++++++--------------
 libgloss/configure         |  19 +-
 libgloss/configure.ac      |   5 +-
 libgloss/cr16/Makefile.in  | 158 ---------
 libgloss/cr16/Makefile.inc |  40 +++
 6 files changed, 455 insertions(+), 404 deletions(-)
 delete mode 100644 libgloss/cr16/Makefile.in
 create mode 100644 libgloss/cr16/Makefile.inc
  

Comments

Corinna Vinschen Jan. 23, 2024, 8:54 a.m. UTC | #1
On Jan 20 23:50, Mike Frysinger wrote:
> Avoid a recursive make to speed things up a bit.
> A cr16-elf build shows installed objects & libs produce same code.
> 
> The test targets were dropped as they didn't actually work -- there
> is no test.o rule in here.
> ---
>  libgloss/Makefile.am       |   3 +
>  libgloss/Makefile.in       | 634 +++++++++++++++++++++++--------------
>  libgloss/configure         |  19 +-
>  libgloss/configure.ac      |   5 +-
>  libgloss/cr16/Makefile.in  | 158 ---------
>  libgloss/cr16/Makefile.inc |  40 +++
>  6 files changed, 455 insertions(+), 404 deletions(-)
>  delete mode 100644 libgloss/cr16/Makefile.in
>  create mode 100644 libgloss/cr16/Makefile.inc

Please go ahead, Mike.


Thanks,
Corinna
  

Patch

diff --git a/libgloss/Makefile.am b/libgloss/Makefile.am
index 333ff846aea8..8210c2ecacbe 100644
--- a/libgloss/Makefile.am
+++ b/libgloss/Makefile.am
@@ -92,6 +92,9 @@  endif
 if CONFIG_BFIN
 include bfin/Makefile.inc
 endif
+if CONFIG_CR16
+include cr16/Makefile.inc
+endif
 if CONFIG_CSKY
 include csky/Makefile.inc
 endif
diff --git a/libgloss/configure.ac b/libgloss/configure.ac
index 55f4261d1ab8..594d2bfcb398 100644
--- a/libgloss/configure.ac
+++ b/libgloss/configure.ac
@@ -116,8 +116,7 @@  case "${target}" in
 	config_bfin=true
 	;;
   cr16-*-*)
-	AC_CONFIG_FILES([cr16/Makefile])
-	subdirs="$subdirs cr16"
+	config_cr16=true
 	;;
   cris-*-* | crisv32-*-*)
 	AC_CONFIG_FILES([cris/Makefile])
@@ -219,7 +218,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 epiphany fr30 frv ft32 i386 i960 iq2000
+  aarch64 arc arm bfin cr16 csky d30v epiphany fr30 frv ft32 i386 i960 iq2000
   libnosys lm32
   m32r mcore microblaze mn10200 mn10300 moxie msp430
   nds32 nios2 or1k riscv rl78 rx sparc sparc_leon tic6x v850 visium wince
diff --git a/libgloss/cr16/Makefile.in b/libgloss/cr16/Makefile.in
deleted file mode 100644
index 5416651880e8..000000000000
--- a/libgloss/cr16/Makefile.in
+++ /dev/null
@@ -1,158 +0,0 @@ 
-#
-#
-
-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)
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_DATA = @INSTALL_DATA@
-
-# Multilib support variables.
-# TOP is used instead of MULTI{BUILD,SRC}TOP.
-MULTIDIRS =
-MULTISUBDIR =
-
-SHELL =	/bin/sh
-
-mkinstalldirs = $(SHELL) $(srcroot)/mkinstalldirs
-
-CC = @CC@
-
-AS = @AS@
-AR = @AR@
-LD = @LD@
-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`
-
-# Here is all of the handlers stuff
-H_SCRIPTS	=
-H_BSP	= libh.a
-H_OBJS	= intable.o dvz_hndl.o flg_hndl.o iad_hndl.o svc_hndl.o und_hndl.o
-H_TEST	= hndl-test
-H_INSTALL	= install-hndl
-
-# Here is all of the simulator stuff
-SIM_SCRIPTS	= sim.ld
-SIM_BSP	= libsim.a
-SIM_OBJS = _exit.o close.o _getenv.o lseek.o open.o read.o \
-	_rename.o sbrk.o time.o unlink.o write.o \
-	stat.o putnum.o kill.o getpid.o isatty.o fstat.o
-SIM_TEST	= sim-test
-SIM_INSTALL	= install-sim
-
-# Here is all of the CRT stuff
-CRT	= crti.o crtn.o crt1.o
-CRT_INSTALL = install-crt
-
-# 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: ${CRT} ${SIM_BSP} ${H_BSP}
-
-#
-# here's where we build the board support packages for each target
-#
-${H_BSP}: ${H_OBJS}
-	${AR} ${ARFLAGS} ${H_BSP} ${H_OBJS}
-	${RANLIB} ${H_BSP}
-
-${SIM_BSP}: ${SIM_OBJS}
-	${AR} ${ARFLAGS} ${SIM_BSP} ${SIM_OBJS}
-	${RANLIB} ${SIM_BSP}
-
-#
-# here's where we build the test programs for each target
-#
-.PHONY: test
-test:	${SIM_TEST} ${H_TEST} 
-
-hndl-test:	hndl-test.x hndl-test.dis
-
-hndl-test.x:	test.o ${H_BSP}
-	${CC} ${LDFLAGS_FOR_TARGET} -L${objdir} \
-	test.o \
-	-o hndl-test.x ${LIBS_FOR_TARGET} -lc ${H_BSP} -Wl,-T${SIM_SCRIPTS}
-
-hndl-test.dis:	hndl-test.x
-	${OBJDUMP} -d hndl-test.x > hndl-test.dis
-
-
-sim-test:	sim-test.x sim-test.dis
-
-sim-test.x:	test.o ${SIM_BSP}
-	${CC} ${LDFLAGS_FOR_TARGET} -L${objdir} \
-	test.o \
-	-o sim-test.x ${LIBS_FOR_TARGET} -lc ${SIM_BSP} -Wl,-T${SIM_SCRIPTS}
-
-sim-test.dis:	sim-test.x
-	${OBJDUMP} -d sim-test.x > sim-test.dis
-
-#
-#
-#
-.c.S:
-	${CC} ${CFLAGS_FOR_TARGET} -c $<
-
-clean mostlyclean:
-	rm -f a.out core *.i *.o *-test *.srec *.dis *.x $(SIM_BSP) $(H_BSP)
-
-distclean maintainer-clean realclean: clean
-	rm -f Makefile *~
-
-.PHONY: install info install-info clean-info
-install: ${CRT_INSTALL} ${SIM_INSTALL} ${H_INSTALL}
-
-install-crt:
-	${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR}
-	set -e; for x in ${CRT} ; do\
-	  ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; \
-	done
-
-install-sim:
-	${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR}
-	for x in ${SIM_BSP} ; do\
-	 ${INSTALL_PROGRAM} $${x} $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; \
-	done
-	for x in ${SIM_SCRIPTS}; do\
-	 ${INSTALL_DATA} ${srcdir}/$${x} $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; \
-	done
-
-install-hndl:
-	${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR}
-	for x in ${H_BSP}; do\
-	 ${INSTALL_PROGRAM} $${x} $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; \
-	done
-
-doc:
-info:
-install-info:
-clean-info:
-
-Makefile: Makefile.in ../config.status
-	cd .. && $(SHELL) config.status
diff --git a/libgloss/cr16/Makefile.inc b/libgloss/cr16/Makefile.inc
new file mode 100644
index 000000000000..d92302758f81
--- /dev/null
+++ b/libgloss/cr16/Makefile.inc
@@ -0,0 +1,40 @@ 
+multilibtool_DATA += \
+	%D%/crti.o \
+	%D%/crtn.o \
+	%D%/crt1.o
+libobjs_a_SOURCES += \
+	%D%/crti.S \
+	%D%/crtn.S \
+	%D%/crt1.S
+
+multilibtool_LIBRARIES += %D%/libh.a
+%C%_libh_a_SOURCES = \
+	%D%/intable.c \
+	%D%/dvz_hndl.c \
+	%D%/flg_hndl.c \
+	%D%/iad_hndl.c \
+	%D%/svc_hndl.c \
+	%D%/und_hndl.c
+
+multilibtool_DATA += \
+	%D%/sim.ld
+
+multilibtool_LIBRARIES += %D%/libsim.a
+%C%_libsim_a_SOURCES = \
+	%D%/_exit.c \
+	%D%/close.c \
+	%D%/_getenv.c \
+	%D%/lseek.c \
+	%D%/open.c \
+	%D%/read.c \
+	%D%/_rename.c \
+	%D%/sbrk.c \
+	%D%/time.c \
+	%D%/unlink.c \
+	%D%/write.c \
+	%D%/stat.c \
+	%D%/putnum.c \
+	%D%/kill.c \
+	%D%/getpid.c \
+	%D%/isatty.c \
+	%D%/fstat.c