[PATCH 3/4] libgloss: merge arc into top-level Makefile

Mike Frysinger <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
Avoid a recursive make to speed things up a bit.
---
 libgloss/Makefile.am      |   3 +
 libgloss/Makefile.in      | 136 +++++++++++++++++++++++++-------------
 libgloss/arc/Makefile.in  | 122 ----------------------------------
 libgloss/arc/Makefile.inc |  12 ++++
 libgloss/configure        |  19 ++++--
 libgloss/configure.ac     |   5 +-
 6 files changed, 122 insertions(+), 175 deletions(-)
 delete mode 100644 libgloss/arc/Makefile.in
 create mode 100644 libgloss/arc/Makefile.inc

diff --git a/libgloss/Makefile.am b/libgloss/Makefile.am
index 9fed4655a422..f5016dcd4b3e 100644
--- a/libgloss/Makefile.am
+++ b/libgloss/Makefile.am
@@ -63,6 +63,9 @@ endif
 if CONFIG_AARCH64
 include aarch64/Makefile.inc
 endif
+if CONFIG_ARC
+include arc/Makefile.inc
+endif
 if CONFIG_ARM
 include arm/Makefile.inc
 endif
diff --git a/libgloss/arc/Makefile.in b/libgloss/arc/Makefile.in
deleted file mode 100644
index e343dd222863..000000000000
--- a/libgloss/arc/Makefile.in
+++ /dev/null
@@ -1,122 +0,0 @@
-#
-#
-DESTDIR =
-VPATH = @srcdir@ @srcdir@/..
-srcdir = @srcdir@
-objdir = .
-srcroot = $(srcdir)/../..
-objroot = $(objdir)/../..
-mkinstalldirs = $(SHELL) $(srcroot)/mkinstalldirs
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-host_alias = @host_alias@
-target_alias = @target_alias@
-
-bindir = @bindir@
-libdir = @libdir@
-tooldir = $(exec_prefix)/$(target_alias)
-
-objtype = @objtype@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_DATA = @INSTALL_DATA@
-
-# Multilib support variables.
-# TOP is used instead of MULTI{BUILD,SRC}TOP.
-MULTIDIRS =
-MULTISUBDIR =
-MULTIDO = true
-MULTICLEAN = true
-
-SHELL =	/bin/sh
-
-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`
-
-CRT0		= gcrt0.o crt0.o
-CRT0_INSTALL	= install-crt0
-
-NSIM_BSP = libnsim.a
-NSIM_OBJS = \
-	libcfunc.o \
-	nsim-syscalls.o \
-	sbrk.o \
-	mcount.o
-NSIM_INSTALL = install-nsim
-NSIM_SCRIPTS = nsim.specs
-
-NANO_SCRIPTS = nano.specs
-NANO_INSTALL = install-nano
-
-CFLAGS		= -g
-
-# Host specific makefile fragment comes in here.
-@host_makefile_frag@
-
-all: $(CRT0) $(NSIM_BSP)
-
-$(NSIM_BSP): $(NSIM_OBJS)
-	$(AR) $(ARFLAGS) $@ $?
-	$(RANLIB) $@
-
-libcfunc.o: libcfunc.c
-nsim-syscalls.o: nsim-syscalls.c
-sbrk.o: sbrk.c
-mcount.o: mcount.c
-gcrt0.o: gcrt0.S crt0.S
-crt0.o: crt0.S
-
-clean mostlyclean:
-	rm -f *.o *.a
-
-distclean maintainer-clean realclean: clean
-	rm -f Makefile *~
-
-.PHONY: install info install-info clean-info doc dvi
-install: $(CRT0_INSTALL) $(NSIM_INSTALL) $(NANO_INSTALL)
-
-# multilibdir may not exist yet - libgcc for ARC depends on libc, hence
-# newlib/libgloss is built before libgcc. And in parallel build libgloss maybe
-# built and installed before newlib, therefore libgloss has to create target
-# directory.
-
-$(CRT0_INSTALL):
-	$(mkinstalldirs) $(DESTDIR)${tooldir}/lib${MULTISUBDIR}
-	for c in $(CRT0); do \
-	  b=`basename $$c`; \
-	  ${INSTALL_DATA} $$c $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$b ;\
-	done
-
-$(NSIM_INSTALL):
-	$(mkinstalldirs) $(DESTDIR)${tooldir}/lib${MULTISUBDIR}
-	$(INSTALL_DATA) $(NSIM_BSP) $(DESTDIR)$(tooldir)/lib$(MULTISUBDIR)/$(NSIM_BSP)
-	for x in $(NSIM_SCRIPTS); do \
-	    $(INSTALL_DATA) $(srcdir)/$$x $(DESTDIR)$(tooldir)/lib$(MULTISUBDIR)/$$x; done
-
-$(NANO_INSTALL):
-	$(mkinstalldirs) $(DESTDIR)${tooldir}/lib${MULTISUBDIR}
-	for x in $(NANO_SCRIPTS); do \
-		$(INSTALL_DATA) $(srcdir)/$$x $(DESTDIR)$(tooldir)/lib$(MULTISUBDIR)/$$x; done
-
-doc:
-info:
-dvi:
-install-info:
-clean-info:
-
-Makefile: Makefile.in ../config.status
-	cd .. && $(SHELL) config.status
diff --git a/libgloss/arc/Makefile.inc b/libgloss/arc/Makefile.inc
new file mode 100644
index 000000000000..fe9cc761045d
--- /dev/null
+++ b/libgloss/arc/Makefile.inc
@@ -0,0 +1,12 @@
+multilibtool_LIBRARIES += %D%/libnsim.a
+%C%_libnsim_a_SOURCES = \
+	%D%/libcfunc.c \
+	%D%/mcount.c \
+	%D%/nsim-syscalls.c \
+	%D%/sbrk.c
+
+multilibtool_DATA += \
+	%D%/crt0.o \
+	%D%/gcrt0.o \
+	%D%/nano.specs \
+	%D%/nsim.specs
diff --git a/libgloss/configure.ac b/libgloss/configure.ac
index 6b0117805570..ef7b57854bd8 100644
--- a/libgloss/configure.ac
+++ b/libgloss/configure.ac
@@ -52,8 +52,7 @@ case "${target}" in
 	config_testsuite=true
 	;;
   arc*-*-*)
-	AC_CONFIG_FILES([arc/Makefile])
-	subdirs="$subdirs arc"
+	config_arc=true
 	;;
   csky*-*-*)
 	AC_CONFIG_FILES([csky/Makefile])
@@ -251,7 +250,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 arm bfin iq2000 libnosys lm32 riscv wince
+  aarch64 arc arm bfin iq2000 libnosys lm32 riscv wince
 ], [dnl
   AM_CONDITIONAL([CONFIG_]m4_toupper(SUBDIR), [test x$config_]SUBDIR = xtrue)
 ])
-- 
2.38.1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.