[PATCH] libgloss: merge i386 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.
A i386-elf build shows installed objects & libs produce same code other
than a rename from cygmon-gmon.o & cygmon-salib.o to i386_libcygmon_a-*.o
due to the use of custom CPPFLAGS in here.
---
 libgloss/Makefile.am       |   3 +
 libgloss/Makefile.in       | 260 +++++++++++++++++++++++--------------
 libgloss/configure         |  19 ++-
 libgloss/configure.ac      |   5 +-
 libgloss/i386/Makefile.in  | 127 ------------------
 libgloss/i386/Makefile.inc |  25 ++++
 6 files changed, 208 insertions(+), 231 deletions(-)
 delete mode 100644 libgloss/i386/Makefile.in
 create mode 100644 libgloss/i386/Makefile.inc

diff --git a/libgloss/Makefile.am b/libgloss/Makefile.am
index aed0ee462dbe..c329d4078e10 100644
--- a/libgloss/Makefile.am
+++ b/libgloss/Makefile.am
@@ -84,6 +84,9 @@ endif
 if CONFIG_FRV
 include frv/Makefile.inc
 endif
+if CONFIG_I386
+include i386/Makefile.inc
+endif
 if CONFIG_I960
 include i960/Makefile.inc
 endif
diff --git a/libgloss/configure.ac b/libgloss/configure.ac
index 9ca179c34045..f0eb1f21ec75 100644
--- a/libgloss/configure.ac
+++ b/libgloss/configure.ac
@@ -63,8 +63,7 @@ case "${target}" in
 	config_testsuite=true
 	;;
   i[[3456]]86-*-elf* | i[[3456]]86-*-coff*)
-	AC_CONFIG_FILES([i386/Makefile])
-	subdirs="$subdirs i386"
+	config_i386=true
 	;;
   m32r-*-*)
 	AC_CONFIG_FILES([m32r/Makefile])
@@ -245,7 +244,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 frv i960 iq2000 libnosys lm32 moxie msp430
+  aarch64 arc arm bfin csky d30v frv i386 i960 iq2000 libnosys lm32 moxie msp430
   nios2 riscv v850 wince xtensa
 ], [dnl
   AM_CONDITIONAL([CONFIG_]m4_toupper(SUBDIR), [test x$config_]SUBDIR = xtrue)
diff --git a/libgloss/i386/Makefile.in b/libgloss/i386/Makefile.in
deleted file mode 100644
index 7ed0b075f72e..000000000000
--- a/libgloss/i386/Makefile.in
+++ /dev/null
@@ -1,127 +0,0 @@
-# Copyright (c) 1997, 2000 Cygnus Support
-#
-# 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.
-
-DESTDIR =
-VPATH = @srcdir@
-srcdir = @srcdir@
-objdir = .
-srcroot = $(srcdir)/../..
-objroot = $(objdir)/../..
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-host_alias = @host_alias@
-target_alias = @target_alias@
-program_transform_name = @program_transform_name@
-
-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@
-AS = `if [ -f ${objroot}/../gas/as.new ] ; \
-	then echo ${objroot}/../gas/as.new ; \
-	else echo as ; fi`
-
-AR = @AR@
-
-#LD = @LD@
-LD = `if [ -f ${objroot}/../ld/ld.new ] ; \
-	then echo ${objroot}/../ld/ld.new ; \
-	else echo ld ; fi`
-
-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 = cygmon-crt0.o
-CYGMON_OBJS = cygmon-salib.o cygmon-gmon.o
-
-CFLAGS = -g
-
-GCC_LDFLAGS = `if [ -d ${objroot}/../gcc ] ; \
-	then echo -L${objroot}/../gcc ; fi`
-
-SCRIPTS = cygmon
-BSP = libcygmon.a
-
-# Host specific makefile fragment comes in here.
-@host_makefile_frag@
-
-all: ${CRT0} ${BSP}
-
-#
-# here's where we build the board support packages for each target
-#
-libcygmon.a: $(CYGMON_OBJS)
-	${AR} ${ARFLAGS} $@ $(CYGMON_OBJS)
-	${RANLIB} $@
-
-cygmon-salib.o: ${srcdir}/cygmon-salib.c
-	$(CC) -c $(CFLAGS) $(I386_CPPFLAGS) $(<) -o $@
-
-cygmon-crt0.o: ${srcdir}/cygmon-crt0.S
-	$(CC) -c $(CFLAGS) $(I386_CPPFLAGS) $(<) -o $@
-
-doc:	
-
-clean mostlyclean:
-	rm -f a.out core *.i *~ *.o *-test *.srec *.dis *.map *.x
-
-distclean maintainer-clean realclean: clean
-	rm -f Makefile a.out
-
-.PHONY: install info install-info clean-info
-install:
-	${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR}
-	$(INSTALL_PROGRAM) $(CRT0) $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(CRT0)
-	@for bsp in ${BSP}; do\
-	 $(INSTALL_PROGRAM) $${bsp} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \
-	done
-	@for script in ${SCRIPTS}; do\
-	 $(INSTALL_DATA) ${srcdir}/$${script}.ld $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$${script}.ld; \
-	done
-
-info:
-install-info:
-clean-info:
-
-test.o:	${srcdir}/test.c
-
-# these are for the BSPs
-${CRT0}: cygmon-crt0.S
-
-Makefile: Makefile.in ../config.status
-	cd .. && $(SHELL) config.status
diff --git a/libgloss/i386/Makefile.inc b/libgloss/i386/Makefile.inc
new file mode 100644
index 000000000000..a0825611ad9b
--- /dev/null
+++ b/libgloss/i386/Makefile.inc
@@ -0,0 +1,25 @@
+## Copyright (c) 1997, 2000 Cygnus Support
+##
+## 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%/cygmon.ld
+
+multilibtool_DATA += %D%/cygmon-crt0.o
+libobjs_a_SOURCES += %D%/cygmon-crt0.S
+
+multilibtool_LIBRARIES += %D%/libcygmon.a
+%C%_libcygmon_a_SOURCES = \
+	%D%/cygmon-salib.c \
+	%D%/cygmon-gmon.c
+%C%_libcygmon_a_CPPFLAGS = \
+	$(AM_CPPFLAGS) \
+	$(I386_CPPFLAGS)
-- 
2.43.0
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.