From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) by sourceware.org (Postfix) with ESMTP id 655A03858D32 for ; Wed, 27 Dec 2023 04:22:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 655A03858D32 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gentoo.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gentoo.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 655A03858D32 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2001:470:ea4a:1:5054:ff:fec7:86e4 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703650949; cv=none; b=g8DEuRRIU7vv81b/Zz8ZfYrIPQ7yaqjZ1DzjfDu9xj82N1aStqpyb5N2nzIDwv2HLqi1zriXJo3koQLMKZ7ok2zsc8f7/LTEVNTH6h5Ydek2pPx66yy4SGodN1wPmJgFUe8X4MbfAHeNYtNReWV4Z/v2yMYzm8vJ5kCXD5fqXcM= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703650949; c=relaxed/simple; bh=NtPET1yWfTH6ECzQZ4x9AJ6ajcp56dCPlhEyBy0Ju+0=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=clRZCDFv6mON9u96S2gvESns6cU4+/5+wI62BYhhlLtuuAwf9ViOfUcwGpHn3L0EdrkCuh9PLbLrelGUMTlyAquXiLycsPadD2m9ifl+SH3WfzDKF7TpK45J0d/gxUbD2YduZso8ZL2bv4WSXRzBUzArlFr2jN3PDXtI1tiDVa0= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by smtp.gentoo.org (Postfix, from userid 559) id 164A633FEF1; Wed, 27 Dec 2023 04:22:27 +0000 (UTC) From: Mike Frysinger To: newlib@sourceware.org Subject: [PATCH] libgloss: merge mn10300 into top-level Makefile Date: Tue, 26 Dec 2023 23:22:24 -0500 Message-ID: <20231227042224.9247-1-vapier@gentoo.org> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-11.3 required=5.0 tests=BAYES_00,GIT_PATCH_0,JMQ_SPF_NEUTRAL,KAM_DMARC_STATUS,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE 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 mn10300-elf build shows installed objects & libs produce same code. --- libgloss/Makefile.am | 3 + libgloss/Makefile.in | 331 ++++++++++++++++++++++++++-------- libgloss/config/mn10300.mt | 3 - libgloss/configure | 52 ++++-- libgloss/configure.ac | 7 +- libgloss/mn10300/Makefile.in | 156 ---------------- libgloss/mn10300/Makefile.inc | 67 +++++++ libgloss/mn10300/acinclude.m4 | 18 +- 8 files changed, 370 insertions(+), 267 deletions(-) delete mode 100644 libgloss/config/mn10300.mt delete mode 100644 libgloss/mn10300/Makefile.in create mode 100644 libgloss/mn10300/Makefile.inc diff --git a/libgloss/Makefile.am b/libgloss/Makefile.am index c329d4078e10..3732184dcced 100644 --- a/libgloss/Makefile.am +++ b/libgloss/Makefile.am @@ -99,6 +99,9 @@ endif if CONFIG_LM32 include lm32/Makefile.inc endif +if CONFIG_MN10300 +include mn10300/Makefile.inc +endif if CONFIG_MOXIE include moxie/Makefile.inc endif diff --git a/libgloss/config/mn10300.mt b/libgloss/config/mn10300.mt deleted file mode 100644 index 6b4c522c1308..000000000000 --- a/libgloss/config/mn10300.mt +++ /dev/null @@ -1,3 +0,0 @@ -# Dummy target-specific Makefile fragment for MN10300. We can't -# use default.mt because it refers to generic source files whose -# names conflict with the MN10300-specific sources. diff --git a/libgloss/configure.ac b/libgloss/configure.ac index f0eb1f21ec75..b5ffeba0b07a 100644 --- a/libgloss/configure.ac +++ b/libgloss/configure.ac @@ -118,9 +118,7 @@ case "${target}" in target_makefile_frag=${srcdir}/config/mn10200.mt ;; mn10300-*-*) - AC_CONFIG_FILES([mn10300/Makefile]) - subdirs="$subdirs mn10300" - target_makefile_frag=${srcdir}/config/mn10300.mt + config_mn10300=true ;; bfin-*-*) config_bfin=true @@ -244,7 +242,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 frv i386 i960 iq2000 libnosys lm32 moxie msp430 + aarch64 arc arm bfin csky d30v frv i386 i960 iq2000 libnosys lm32 + mn10300 moxie msp430 nios2 riscv v850 wince xtensa ], [dnl AM_CONDITIONAL([CONFIG_]m4_toupper(SUBDIR), [test x$config_]SUBDIR = xtrue) diff --git a/libgloss/mn10300/Makefile.in b/libgloss/mn10300/Makefile.in deleted file mode 100644 index 1669d5ce4fbb..000000000000 --- a/libgloss/mn10300/Makefile.in +++ /dev/null @@ -1,156 +0,0 @@ -# Copyright (c) 1998, 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 - -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 = crt0.o crt0_cygmon.o crt0_redboot.o - -# Generic object files common to all targets. -GENOBJS_NO_TRAP = _exit.o access.o chmod.o close.o crt1.o \ - fstat.o getpid.o isatty.o \ - kill.o lseek.o open.o read.o \ - sbrk.o stat.o time.o times.o unlink.o utime.o write.o -GENOBJS = ${GENOBJS_NO_TRAP} trap.o - -# Object files specific to particular targets. -EVALOBJS = ${GENOBJS} -CYGMONOBJS = cygmon.o ${GENOBJS_NO_TRAP} - -CFLAGS = -g - -GCC_LDFLAGS = `if [ -d ${objroot}/../gcc ] ; \ - then echo -L${objroot}/../gcc ; fi` - -SCRIPTS = @MN10300_SCRIPT_LIST@ -BSP = @MN10300_BSP_LIST@ - -# 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: ${CRT0} test.o ${BSP} - -# -# here's where we build the board support packages for each target -# - -libeval.a: $(EVALOBJS) - ${AR} ${ARFLAGS} $@ $(EVALOBJS) - ${RANLIB} $@ - -libcygmon.a: $(CYGMONOBJS) - ${AR} ${ARFLAGS} $@ $(CYGMONOBJS) - ${RANLIB} $@ - - -# compile a fully linked binary. The -Wl,-T*.ld is for the linker -# script. By using -Wl, the linker script is put on the proper place -# in the comand line for ld, and all the symbols will get fully -# resolved. - -test: ${CRT0} test.o - ${CC} $(CFLAGS_FOR_TARGET) -L${srcdir} -L${objdir} \ - test.o -o $@ $(NEWLIB_LDFLAGS) -Wl,-Teval.ld - @echo Done... - -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: - mkdir -p $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; - @for crt in ${CRT0}; do \ - $(INSTALL_PROGRAM) $${crt} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$${crt}; \ - done - @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.o: ${srcdir}/crt0.S -crt0_cygmon.o: ${srcdir}/crt0_cygmon.S - -# target specific makefile fragment comes in here. -@target_makefile_frag@ - -Makefile: Makefile.in ../config.status - cd .. && $(SHELL) config.status diff --git a/libgloss/mn10300/Makefile.inc b/libgloss/mn10300/Makefile.inc new file mode 100644 index 000000000000..80a14bf94a45 --- /dev/null +++ b/libgloss/mn10300/Makefile.inc @@ -0,0 +1,67 @@ +## Copyright (c) 1998, 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%/eval.ld \ + %D%/sim.ld +if MN10300_BUILD_LIBCYGMON +multilibtool_DATA += \ + %D%/asb2303.ld \ + %D%/asb2305.ld +endif + +multilibtool_DATA += \ + %D%/crt0.o \ + %D%/crt0_cygmon.o \ + %D%/crt0_redboot.o +libobjs_a_SOURCES += \ + %D%/crt0.S \ + %D%/crt0_cygmon.S \ + %D%/crt0_redboot.S + +# Generic object files common to all targets. +%C%_common_lib_sources = \ + %D%/_exit.c \ + %D%/access.c \ + %D%/chmod.c \ + %D%/close.c \ + %D%/crt1.c \ + %D%/fstat.c \ + %D%/getpid.c \ + %D%/isatty.c \ + %D%/kill.c \ + %D%/lseek.c \ + %D%/open.c \ + %D%/read.c \ + %D%/sbrk.c \ + %D%/stat.c \ + %D%/time.c \ + %D%/times.c \ + %D%/unlink.c \ + %D%/utime.c \ + %D%/write.c + +multilibtool_LIBRARIES += %D%/libeval.a +%C%_libeval_a_SOURCES = \ + $(%C%_common_lib_sources) \ + %D%/trap.S + +if MN10300_BUILD_LIBCYGMON +multilibtool_LIBRARIES += %D%/libcygmon.a +%C%_libcygmon_a_SOURCES = \ + $(%C%_common_lib_sources) \ + %D%/cygmon.c +endif + +check_PROGRAMS += %D%/test +%C%_test_LDFLAGS = $(AM_LDFLAGS) -Wl,-T$(srcdir)/%D%/eval.ld +%C%_test_LDADD = $(LDADD) %D%/libeval.a diff --git a/libgloss/mn10300/acinclude.m4 b/libgloss/mn10300/acinclude.m4 index 93fa5286e8d5..031b55f3f136 100644 --- a/libgloss/mn10300/acinclude.m4 +++ b/libgloss/mn10300/acinclude.m4 @@ -1,14 +1,4 @@ -MN10300_SCRIPT_LIST= -MN10300_BSP_LIST= -case "${target}" in - mn10300-*elf) - MN10300_SCRIPT_LIST="eval sim asb2303 asb2305" - MN10300_BSP_LIST="libeval.a libcygmon.a" - ;; - *) - MN10300_SCRIPT_LIST="eval sim" - MN10300_BSP_LIST="libeval.a" - ;; -esac -AC_SUBST(MN10300_SCRIPT_LIST) -AC_SUBST(MN10300_BSP_LIST) +AS_CASE([${target}], + [mn10300-*elf], [MN10300_BUILD_LIBCYGMON=true], + [MN10300_BUILD_LIBCYGMON=false]) +AM_CONDITIONAL([MN10300_BUILD_LIBCYGMON], [$MN10300_BUILD_LIBCYGMON]) -- 2.43.0