From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) by sourceware.org (Postfix) with ESMTP id 3C9C33858D35 for ; Thu, 12 Jan 2023 02:16:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3C9C33858D35 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gentoo.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gentoo.org Received: by smtp.gentoo.org (Postfix, from userid 559) id BBB0C335D80; Thu, 12 Jan 2023 02:16:06 +0000 (UTC) From: Mike Frysinger To: newlib@sourceware.org Subject: [PATCH] libgloss: merge nios2 into top-level Makefile Date: Wed, 11 Jan 2023 21:16:03 -0500 Message-Id: <20230112021603.12643-1-vapier@gentoo.org> X-Mailer: git-send-email 2.39.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-11.2 required=5.0 tests=BAYES_00,GIT_PATCH_0,JMQ_SPF_NEUTRAL,KAM_DMARC_STATUS,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Avoid a recursive make to speed things up a bit. A nios2-elf build shows installed objects & libs produce same code. --- libgloss/Makefile.am | 3 + libgloss/Makefile.in | 440 ++++++++++++++++++++++++++++++++++-- libgloss/configure | 19 +- libgloss/configure.ac | 5 +- libgloss/nios2/Makefile.in | 118 ---------- libgloss/nios2/Makefile.inc | 32 +++ 6 files changed, 475 insertions(+), 142 deletions(-) delete mode 100644 libgloss/nios2/Makefile.in create mode 100644 libgloss/nios2/Makefile.inc diff --git a/libgloss/Makefile.am b/libgloss/Makefile.am index 13290453c89f..daff91fdfc51 100644 --- a/libgloss/Makefile.am +++ b/libgloss/Makefile.am @@ -87,6 +87,9 @@ endif if CONFIG_LM32 include lm32/Makefile.inc endif +if CONFIG_NIOS2 +include nios2/Makefile.inc +endif if CONFIG_RISCV include riscv/Makefile.inc endif diff --git a/libgloss/configure.ac b/libgloss/configure.ac index 59230edc9917..d636cf6d2aaf 100644 --- a/libgloss/configure.ac +++ b/libgloss/configure.ac @@ -240,8 +240,7 @@ case "${target}" in subdirs="$subdirs pru" ;; nios2-*-*) - AC_CONFIG_FILES([nios2/Makefile]) - subdirs="$subdirs nios2" + config_nios2=true ;; esac AC_SUBST(subdirs) @@ -249,7 +248,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 d30v iq2000 libnosys lm32 riscv wince + aarch64 arc arm bfin d30v iq2000 libnosys lm32 nios2 riscv wince ], [dnl AM_CONDITIONAL([CONFIG_]m4_toupper(SUBDIR), [test x$config_]SUBDIR = xtrue) ]) diff --git a/libgloss/nios2/Makefile.in b/libgloss/nios2/Makefile.in deleted file mode 100644 index cbe1c5552262..000000000000 --- a/libgloss/nios2/Makefile.in +++ /dev/null @@ -1,118 +0,0 @@ -# Copyright (c) 1995, 1996, 2001 Cygnus Support -*- mode:makefile -*- -# Copyright (c) 2018, Mentor Graphics -# -# 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@ -AR = @AR@ -LD = @LD@ -RANLIB = @RANLIB@ -AR_FLAGS = qv - -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` - -# Linker scripts. - -BSP_SCRIPTS= qemu-hosted.ld - -# Semihosting library. - -HOSTED_BSP= libnios2.a -HOSTED_OBJS= io-gdb.o io-exit.o \ - io-close.o io-fstat.o \ - io-gettimeofday.o io-isatty.o io-lseek.o \ - io-open.o io-read.o io-rename.o \ - io-stat.o io-system.o io-time.o \ - io-unlink.o io-write.o \ - sbrk.o kill.o getpid.o - -# Host specific makefile fragment comes in here. -@host_makefile_frag@ - -all :: ${HOSTED_BSP} - -# Build semihosting library. -crt0.o: crt0.S - $(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) -c $< -o $@ -io-nios2.o: io-nios2.S - $(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) -c $< -o $@ -$(HOSTED_OBJS): %.o: %.c io.h - $(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) -DHOSTED=1 $(INCLUDES) -c $< -o $@ -$(HOSTED_BSP): crt0.o io-nios2.o $(HOSTED_OBJS) $(OTHER_OBJS) - ${AR} ${ARFLAGS} $@ $^ - ${RANLIB} $@ - - -.PHONY: install info dvi doc install-info clean-info -install:: - ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR} - $(INSTALL_DATA) $(HOSTED_BSP) \ - $(DESTDIR)$(tooldir)/lib${MULTISUBDIR} - for x in ${BSP_SCRIPTS}; do\ - ${INSTALL_DATA} ${srcdir}/$${x} $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; \ - done - -# target specific makefile fragment comes in here. -@target_makefile_frag@ - -clean mostlyclean: - rm -f a.out core *.i *~ *.a *.o *-test *.srec *.dis *.x *.map - -distclean maintainer-clean realclean: clean - rm -f Makefile config.cache config.log config.status - -info dvi doc: -install-info: -clean-info: - -Makefile: Makefile.in ../config.status - cd .. && $(SHELL) config.status diff --git a/libgloss/nios2/Makefile.inc b/libgloss/nios2/Makefile.inc new file mode 100644 index 000000000000..da65b601ab77 --- /dev/null +++ b/libgloss/nios2/Makefile.inc @@ -0,0 +1,32 @@ +## Linker scripts. + +multilibtool_DATA += \ + %D%/qemu-hosted.ld + +## Semihosting library. + +multilibtool_LIBRARIES += %D%/libnios2.a +%C%_libnios2_a_SOURCES = \ + %D%/crt0.S \ + %D%/io-close.c \ + %D%/io-exit.c \ + %D%/io-fstat.c \ + %D%/io-gdb.c \ + %D%/io-gettimeofday.c \ + %D%/io-isatty.c \ + %D%/io-lseek.c \ + %D%/io-nios2.S \ + %D%/io-open.c \ + %D%/io-read.c \ + %D%/io-rename.c \ + %D%/io-stat.c \ + %D%/io-system.c \ + %D%/io-time.c \ + %D%/io-unlink.c \ + %D%/io-write.c \ + %D%/getpid.c \ + %D%/kill.c \ + %D%/sbrk.c +%C%_libnios2_a_CPPFLAGS = \ + $(AM_CPPFLAGS) \ + -DHOSTED=1 -- 2.39.0