libgloss: merge fr30 into top-level Makefile

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

Commit Message

Mike Frysinger Dec. 29, 2023, 5:13 a.m. UTC
  Avoid a recursive make to speed things up a bit.
A fr30-elf build shows installed objects & libs produce same code.

A lot of code seems like it hasn't been migrated, but that's because
it's all disabled/unused (i.e. all the test & mon code).  It looks
like a lot of copy & paste holdovers from the original port.
---
 libgloss/Makefile.am       |   3 +
 libgloss/Makefile.in       | 393 ++++++++++++++++++++-----------------
 libgloss/configure         |  19 +-
 libgloss/configure.ac      |   6 +-
 libgloss/fr30/Makefile.in  | 145 --------------
 libgloss/fr30/Makefile.inc |   8 +
 6 files changed, 241 insertions(+), 333 deletions(-)
 delete mode 100644 libgloss/fr30/Makefile.in
 create mode 100644 libgloss/fr30/Makefile.inc
  

Comments

Jeff Johnston Jan. 2, 2024, 10:02 p.m. UTC | #1
Please feel free to merge this and any other moves to top-level Makefile.

-- Jeff J.

On Fri, Dec 29, 2023 at 12:13 AM Mike Frysinger <vapier@gentoo.org> wrote:

> Avoid a recursive make to speed things up a bit.
> A fr30-elf build shows installed objects & libs produce same code.
>
> A lot of code seems like it hasn't been migrated, but that's because
> it's all disabled/unused (i.e. all the test & mon code).  It looks
> like a lot of copy & paste holdovers from the original port.
> ---
>  libgloss/Makefile.am       |   3 +
>  libgloss/Makefile.in       | 393 ++++++++++++++++++++-----------------
>  libgloss/configure         |  19 +-
>  libgloss/configure.ac      |   6 +-
>  libgloss/fr30/Makefile.in  | 145 --------------
>  libgloss/fr30/Makefile.inc |   8 +
>  6 files changed, 241 insertions(+), 333 deletions(-)
>  delete mode 100644 libgloss/fr30/Makefile.in
>  create mode 100644 libgloss/fr30/Makefile.inc
>
> diff --git a/libgloss/Makefile.am b/libgloss/Makefile.am
> index e685be708abe..abd1fbbd1651 100644
> --- a/libgloss/Makefile.am
> +++ b/libgloss/Makefile.am
> @@ -84,6 +84,9 @@ endif
>  if CONFIG_EPIPHANY
>  include epiphany/Makefile.inc
>  endif
> +if CONFIG_FR30
> +include fr30/Makefile.inc
> +endif
>  if CONFIG_FRV
>  include frv/Makefile.inc
>  endif
> diff --git a/libgloss/configure.ac b/libgloss/configure.ac
> index 165e56b48237..30f4eea61d4f 100644
> --- a/libgloss/configure.ac
> +++ b/libgloss/configure.ac
> @@ -133,8 +133,7 @@ case "${target}" in
>         config_d30v=true
>         ;;
>    fr30-*-*)
> -       AC_CONFIG_FILES([fr30/Makefile])
> -       subdirs="$subdirs fr30"
> +       config_fr30=true
>         ;;
>    frv*-*-*)
>         config_frv=true
> @@ -230,7 +229,8 @@ 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 frv i386 i960 iq2000 libnosys
> lm32
> +  aarch64 arc arm bfin csky d30v epiphany fr30 frv i386 i960 iq2000
> +  libnosys lm32
>    m32r mcore mn10200 mn10300 moxie msp430
>    nds32 nios2 or1k riscv rl78 rx v850 visium wince xstormy16 xtensa
>  ], [dnl
> diff --git a/libgloss/fr30/Makefile.in b/libgloss/fr30/Makefile.in
> deleted file mode 100644
> index 4c988efb7488..000000000000
> --- a/libgloss/fr30/Makefile.in
> +++ /dev/null
> @@ -1,145 +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`
> -
> -OBJS           = putnum.o unlink.o
> -CFLAGS         = -g
> -SCRIPTS                =
> -
> -# Here is all of the simulator stuff
> -SIM_SCRIPTS    =
> -SIM_LDFLAGS    =
> -SIM_BSP                = libsim.a
> -SIM_CRT0       = crt0.o
> -SIM_OBJS       = syscalls.o
> -SIM_TEST       = sim-test
> -SIM_INSTALL    = install-sim
> -
> -# Here is all of the mon960 stuff
> -MON_LDFLAGS    =
> -MON_BSP                = libmon960.a
> -MON_CRT0       = crt0.o
> -MON_OBJS       =
> -MON_SCRIPTS    = mon960.ld
> -MON_TEST       =
> -MON_INSTALL    = install-mon
> -
> -# 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: ${MON_CRT0} ${MON_BSP}
> -all: ${SIM_CRT0} ${SIM_BSP}
> -
> -#
> -# here's where we build the board support packages for each target
> -#
> -${SIM_BSP}: ${OBJS} ${SIM_OBJS}
> -       ${AR} ${ARFLAGS} ${SIM_BSP} ${SIM_OBJS} ${OBJS}
> -       ${RANLIB} ${SIM_BSP}
> -
> -${MON_BSP}: ${OBJS} ${MON_OBJS}
> -       ${AR} ${ARFLAGS} ${MON_BSP} ${MON_OBJS} ${OBJS}
> -       ${RANLIB} ${MON_BSP}
> -
> -#
> -# here's where we build the test programs for each target
> -#
> -.PHONY: test
> -test:  ${SIM_TEST} ${MVME_TEST} ${EVM_TEST}
> -
> -sim-test:      sim-test.x sim-test.dis
> -
> -sim-test.x:    test.o ${SIM_CRT0} ${SIM_BSP}
> -       ${CC} ${LDFLAGS_FOR_TARGET} -L${objdir} \
> -       ${SIM_CRT0} test.o \
> -       -o sim-test.x ${LIBS_FOR_TARGET} -lc ${SIM_BSP}
> -
> -sim-test.dis:  sim-test.x
> -       ${OBJDUMP} -d sim-test.x > sim-test.dis
> -
> -
> -#
> -#
> -#
> -.c.S:
> -       ${CC} ${CFLAGS_FOR_TARGET} -c $<
> -
> -simulator.o: simulator.S
> -sim-crt0.o: sim-crt0.S
> -mvme-crt0.o: mvme-crt0.S
> -mvme-exit.o: mvme-exit.S
> -mvme-inbyte.o: mvme-inbyte.S
> -mvme-outbyte.o: mvme-outbyte.S
> -
> -clean mostlyclean:
> -       rm -f a.out core *.i *.o *-test *.srec *.dis *.x $(SIM_BSP)
> $(MON_BSP)
> -
> -distclean maintainer-clean realclean: clean
> -       rm -f Makefile *~
> -
> -.PHONY: install info install-info clean-info
> -install: ${SIM_INSTALL}
> -
> -install-mon:
> -       ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR}
> -       set -e; for x in ${MON_CRT0} ${MON_BSP}; do ${INSTALL_DATA} $$x
> $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done
> -       set -e; for x in ${MON_SCRIPTS}; do ${INSTALL_DATA} ${srcdir}/$$x
> $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done
> -
> -install-sim:
> -       ${mkinstalldirs} ${DESTDIR}${tooldir}/lib
> -       set -e; for x in ${SIM_CRT0} ${SIM_BSP} ${SIM_SCRIPTS}; do
> ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib/$$x; done
> -
> -doc:
> -info:
> -install-info:
> -clean-info:
> -
> -Makefile: Makefile.in ../config.status
> -       cd .. && $(SHELL) config.status
> diff --git a/libgloss/fr30/Makefile.inc b/libgloss/fr30/Makefile.inc
> new file mode 100644
> index 000000000000..0ba7476c3f31
> --- /dev/null
> +++ b/libgloss/fr30/Makefile.inc
> @@ -0,0 +1,8 @@
> +multilibtool_DATA += %D%/crt0.o
> +libobjs_a_SOURCES += %D%/crt0.s
> +
> +multilibtool_LIBRARIES += %D%/libsim.a
> +%C%_libsim_a_SOURCES = \
> +       %D%/syscalls.c \
> +       putnum.c \
> +       unlink.c
> --
> 2.43.0
>
>
  

Patch

diff --git a/libgloss/Makefile.am b/libgloss/Makefile.am
index e685be708abe..abd1fbbd1651 100644
--- a/libgloss/Makefile.am
+++ b/libgloss/Makefile.am
@@ -84,6 +84,9 @@  endif
 if CONFIG_EPIPHANY
 include epiphany/Makefile.inc
 endif
+if CONFIG_FR30
+include fr30/Makefile.inc
+endif
 if CONFIG_FRV
 include frv/Makefile.inc
 endif
diff --git a/libgloss/configure.ac b/libgloss/configure.ac
index 165e56b48237..30f4eea61d4f 100644
--- a/libgloss/configure.ac
+++ b/libgloss/configure.ac
@@ -133,8 +133,7 @@  case "${target}" in
 	config_d30v=true
 	;;
   fr30-*-*)
-	AC_CONFIG_FILES([fr30/Makefile])
-	subdirs="$subdirs fr30"
+	config_fr30=true
 	;;
   frv*-*-*)
 	config_frv=true
@@ -230,7 +229,8 @@  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 frv i386 i960 iq2000 libnosys lm32
+  aarch64 arc arm bfin csky d30v epiphany fr30 frv i386 i960 iq2000
+  libnosys lm32
   m32r mcore mn10200 mn10300 moxie msp430
   nds32 nios2 or1k riscv rl78 rx v850 visium wince xstormy16 xtensa
 ], [dnl
diff --git a/libgloss/fr30/Makefile.in b/libgloss/fr30/Makefile.in
deleted file mode 100644
index 4c988efb7488..000000000000
--- a/libgloss/fr30/Makefile.in
+++ /dev/null
@@ -1,145 +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`
-
-OBJS		= putnum.o unlink.o
-CFLAGS		= -g
-SCRIPTS		= 
-
-# Here is all of the simulator stuff
-SIM_SCRIPTS	=
-SIM_LDFLAGS	=
-SIM_BSP		= libsim.a
-SIM_CRT0	= crt0.o
-SIM_OBJS	= syscalls.o
-SIM_TEST	= sim-test
-SIM_INSTALL	= install-sim
-
-# Here is all of the mon960 stuff
-MON_LDFLAGS	=
-MON_BSP		= libmon960.a
-MON_CRT0	= crt0.o
-MON_OBJS	= 
-MON_SCRIPTS	= mon960.ld
-MON_TEST	=
-MON_INSTALL	= install-mon
-
-# 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: ${MON_CRT0} ${MON_BSP}
-all: ${SIM_CRT0} ${SIM_BSP}
-
-#
-# here's where we build the board support packages for each target
-#
-${SIM_BSP}: ${OBJS} ${SIM_OBJS}
-	${AR} ${ARFLAGS} ${SIM_BSP} ${SIM_OBJS} ${OBJS}
-	${RANLIB} ${SIM_BSP}
-
-${MON_BSP}: ${OBJS} ${MON_OBJS}
-	${AR} ${ARFLAGS} ${MON_BSP} ${MON_OBJS} ${OBJS}
-	${RANLIB} ${MON_BSP}
-
-#
-# here's where we build the test programs for each target
-#
-.PHONY: test
-test:	${SIM_TEST} ${MVME_TEST} ${EVM_TEST} 
-
-sim-test:	sim-test.x sim-test.dis
-
-sim-test.x:	test.o ${SIM_CRT0} ${SIM_BSP}
-	${CC} ${LDFLAGS_FOR_TARGET} -L${objdir} \
-	${SIM_CRT0} test.o \
-	-o sim-test.x ${LIBS_FOR_TARGET} -lc ${SIM_BSP}
-
-sim-test.dis:	sim-test.x
-	${OBJDUMP} -d sim-test.x > sim-test.dis
-
-
-#
-#
-#
-.c.S:
-	${CC} ${CFLAGS_FOR_TARGET} -c $<
-
-simulator.o: simulator.S
-sim-crt0.o: sim-crt0.S
-mvme-crt0.o: mvme-crt0.S
-mvme-exit.o: mvme-exit.S
-mvme-inbyte.o: mvme-inbyte.S
-mvme-outbyte.o: mvme-outbyte.S
-
-clean mostlyclean:
-	rm -f a.out core *.i *.o *-test *.srec *.dis *.x $(SIM_BSP) $(MON_BSP)
-
-distclean maintainer-clean realclean: clean
-	rm -f Makefile *~
-
-.PHONY: install info install-info clean-info
-install: ${SIM_INSTALL}
-
-install-mon:
-	${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR}
-	set -e; for x in ${MON_CRT0} ${MON_BSP}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done
-	set -e; for x in ${MON_SCRIPTS}; do ${INSTALL_DATA} ${srcdir}/$$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done
-
-install-sim:
-	${mkinstalldirs} ${DESTDIR}${tooldir}/lib
-	set -e; for x in ${SIM_CRT0} ${SIM_BSP} ${SIM_SCRIPTS}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib/$$x; done
-
-doc:
-info:
-install-info:
-clean-info:
-
-Makefile: Makefile.in ../config.status
-	cd .. && $(SHELL) config.status
diff --git a/libgloss/fr30/Makefile.inc b/libgloss/fr30/Makefile.inc
new file mode 100644
index 000000000000..0ba7476c3f31
--- /dev/null
+++ b/libgloss/fr30/Makefile.inc
@@ -0,0 +1,8 @@ 
+multilibtool_DATA += %D%/crt0.o
+libobjs_a_SOURCES += %D%/crt0.s
+
+multilibtool_LIBRARIES += %D%/libsim.a
+%C%_libsim_a_SOURCES = \
+	%D%/syscalls.c \
+	putnum.c \
+	unlink.c