libgloss: merge tic6x into top-level Makefile

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

Commit Message

Mike Frysinger Dec. 31, 2023, 6:50 a.m. UTC
  Avoid a recursive make to speed things up a bit.
A tic6x-elf build shows installed objects & libs produce same code.
---
 libgloss/Makefile.am        |   3 +
 libgloss/Makefile.in        | 218 ++++++++++++++++++++++--------------
 libgloss/configure          |  19 +++-
 libgloss/configure.ac       |   5 +-
 libgloss/tic6x/Makefile.in  | 126 ---------------------
 libgloss/tic6x/Makefile.inc |  10 ++
 6 files changed, 163 insertions(+), 218 deletions(-)
 delete mode 100644 libgloss/tic6x/Makefile.in
 create mode 100644 libgloss/tic6x/Makefile.inc
  

Patch

diff --git a/libgloss/Makefile.am b/libgloss/Makefile.am
index ff34a0ec970e..88cb92800064 100644
--- a/libgloss/Makefile.am
+++ b/libgloss/Makefile.am
@@ -165,6 +165,9 @@  endif
 if CONFIG_SPARC_LEON
 include sparc_leon/Makefile.inc
 endif
+if CONFIG_TIC6X
+include tic6x/Makefile.inc
+endif
 if CONFIG_V850
 include v850/Makefile.inc
 endif
diff --git a/libgloss/configure.ac b/libgloss/configure.ac
index 0f552ab2888f..e376ad156036 100644
--- a/libgloss/configure.ac
+++ b/libgloss/configure.ac
@@ -203,8 +203,7 @@  case "${target}" in
 	config_libnosys=false
 	;;
   tic6x-*-*)
-	AC_CONFIG_FILES([tic6x/Makefile])
-	subdirs="$subdirs tic6x"
+	config_tic6x=true
 	config_testsuite=false
 	;;
   iq2000-*-*)
@@ -229,7 +228,7 @@  m4_foreach_w([SUBDIR], [
   aarch64 arc arm bfin csky d30v epiphany fr30 frv ft32 i386 i960 iq2000
   libnosys lm32
   m32r mcore mn10200 mn10300 moxie msp430
-  nds32 nios2 or1k riscv rl78 rx sparc sparc_leon v850 visium wince
+  nds32 nios2 or1k riscv rl78 rx sparc sparc_leon tic6x v850 visium wince
   xstormy16 xtensa
 ], [dnl
   AM_CONDITIONAL([CONFIG_]m4_toupper(SUBDIR), [test x$config_]SUBDIR = xtrue)
diff --git a/libgloss/tic6x/Makefile.in b/libgloss/tic6x/Makefile.in
deleted file mode 100644
index 976babab4f76..000000000000
--- a/libgloss/tic6x/Makefile.in
+++ /dev/null
@@ -1,126 +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`
-
-CFLAGS		= -g
-SCRIPTS		=
-
-# Here is all of the simulator stuff
-SIM_SCRIPTS	=
-SIM_LDFLAGS	=
-SIM_BSP		= libsim.a
-SIM_CRT0	= crt0.o
-SIM_OBJS	= sbrk.o putnum.o getpid.o kill.o syscalls.o
-SIM_TEST	= sim-test
-SIM_INSTALL	= install-sim
-
-# 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: ${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}
-
-
-#
-# here's where we build the test programs for each target
-#
-.PHONY: test
-test:	${SIM_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 $<
-
-clean mostlyclean:
-	rm -f a.out core *.i *.o *-test *.srec *.dis *.x $(SIM_BSP)
-
-distclean maintainer-clean realclean: clean
-	rm -f Makefile *~
-
-.PHONY: install info install-info clean-info
-install: ${SIM_INSTALL}
-
-install-sim:
-	${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR}
-	set -e;\
-	for x in ${SIM_CRT0} ${SIM_BSP}; do\
-	 ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x;\
-	done
-	for x in ${SIM_SCRIPTS}; do\
-	 ${INSTALL_DATA} ${srcdir}/$${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/tic6x/Makefile.inc b/libgloss/tic6x/Makefile.inc
new file mode 100644
index 000000000000..0516cab5467b
--- /dev/null
+++ b/libgloss/tic6x/Makefile.inc
@@ -0,0 +1,10 @@ 
+multilibtool_DATA += %D%/crt0.o
+libobjs_a_SOURCES += %D%/crt0.S
+
+multilibtool_LIBRARIES += %D%/libsim.a
+%C%_libsim_a_SOURCES = \
+	%D%/sbrk.c \
+	putnum.c \
+	%D%/getpid.c \
+	%D%/kill.c \
+	%D%/syscalls.c