From: Mike Frysinger <vapier@gentoo.org>
To: newlib@sourceware.org
Subject: [PATCH] libgloss: merge cr16 into top-level Makefile
Date: Sat, 20 Jan 2024 23:50:30 -0500 [thread overview]
Message-ID: <20240121045030.22208-1-vapier@gentoo.org> (raw)
Avoid a recursive make to speed things up a bit.
A cr16-elf build shows installed objects & libs produce same code.
The test targets were dropped as they didn't actually work -- there
is no test.o rule in here.
---
libgloss/Makefile.am | 3 +
libgloss/Makefile.in | 634 +++++++++++++++++++++++--------------
libgloss/configure | 19 +-
libgloss/configure.ac | 5 +-
libgloss/cr16/Makefile.in | 158 ---------
libgloss/cr16/Makefile.inc | 40 +++
6 files changed, 455 insertions(+), 404 deletions(-)
delete mode 100644 libgloss/cr16/Makefile.in
create mode 100644 libgloss/cr16/Makefile.inc
diff --git a/libgloss/Makefile.am b/libgloss/Makefile.am
index 333ff846aea8..8210c2ecacbe 100644
--- a/libgloss/Makefile.am
+++ b/libgloss/Makefile.am
@@ -92,6 +92,9 @@ endif
if CONFIG_BFIN
include bfin/Makefile.inc
endif
+if CONFIG_CR16
+include cr16/Makefile.inc
+endif
if CONFIG_CSKY
include csky/Makefile.inc
endif
diff --git a/libgloss/configure.ac b/libgloss/configure.ac
index 55f4261d1ab8..594d2bfcb398 100644
--- a/libgloss/configure.ac
+++ b/libgloss/configure.ac
@@ -116,8 +116,7 @@ case "${target}" in
config_bfin=true
;;
cr16-*-*)
- AC_CONFIG_FILES([cr16/Makefile])
- subdirs="$subdirs cr16"
+ config_cr16=true
;;
cris-*-* | crisv32-*-*)
AC_CONFIG_FILES([cris/Makefile])
@@ -219,7 +218,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 epiphany fr30 frv ft32 i386 i960 iq2000
+ aarch64 arc arm bfin cr16 csky d30v epiphany fr30 frv ft32 i386 i960 iq2000
libnosys lm32
m32r mcore microblaze mn10200 mn10300 moxie msp430
nds32 nios2 or1k riscv rl78 rx sparc sparc_leon tic6x v850 visium wince
diff --git a/libgloss/cr16/Makefile.in b/libgloss/cr16/Makefile.in
deleted file mode 100644
index 5416651880e8..000000000000
--- a/libgloss/cr16/Makefile.in
+++ /dev/null
@@ -1,158 +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`
-
-# Here is all of the handlers stuff
-H_SCRIPTS =
-H_BSP = libh.a
-H_OBJS = intable.o dvz_hndl.o flg_hndl.o iad_hndl.o svc_hndl.o und_hndl.o
-H_TEST = hndl-test
-H_INSTALL = install-hndl
-
-# Here is all of the simulator stuff
-SIM_SCRIPTS = sim.ld
-SIM_BSP = libsim.a
-SIM_OBJS = _exit.o close.o _getenv.o lseek.o open.o read.o \
- _rename.o sbrk.o time.o unlink.o write.o \
- stat.o putnum.o kill.o getpid.o isatty.o fstat.o
-SIM_TEST = sim-test
-SIM_INSTALL = install-sim
-
-# Here is all of the CRT stuff
-CRT = crti.o crtn.o crt1.o
-CRT_INSTALL = install-crt
-
-# 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: ${CRT} ${SIM_BSP} ${H_BSP}
-
-#
-# here's where we build the board support packages for each target
-#
-${H_BSP}: ${H_OBJS}
- ${AR} ${ARFLAGS} ${H_BSP} ${H_OBJS}
- ${RANLIB} ${H_BSP}
-
-${SIM_BSP}: ${SIM_OBJS}
- ${AR} ${ARFLAGS} ${SIM_BSP} ${SIM_OBJS}
- ${RANLIB} ${SIM_BSP}
-
-#
-# here's where we build the test programs for each target
-#
-.PHONY: test
-test: ${SIM_TEST} ${H_TEST}
-
-hndl-test: hndl-test.x hndl-test.dis
-
-hndl-test.x: test.o ${H_BSP}
- ${CC} ${LDFLAGS_FOR_TARGET} -L${objdir} \
- test.o \
- -o hndl-test.x ${LIBS_FOR_TARGET} -lc ${H_BSP} -Wl,-T${SIM_SCRIPTS}
-
-hndl-test.dis: hndl-test.x
- ${OBJDUMP} -d hndl-test.x > hndl-test.dis
-
-
-sim-test: sim-test.x sim-test.dis
-
-sim-test.x: test.o ${SIM_BSP}
- ${CC} ${LDFLAGS_FOR_TARGET} -L${objdir} \
- test.o \
- -o sim-test.x ${LIBS_FOR_TARGET} -lc ${SIM_BSP} -Wl,-T${SIM_SCRIPTS}
-
-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) $(H_BSP)
-
-distclean maintainer-clean realclean: clean
- rm -f Makefile *~
-
-.PHONY: install info install-info clean-info
-install: ${CRT_INSTALL} ${SIM_INSTALL} ${H_INSTALL}
-
-install-crt:
- ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR}
- set -e; for x in ${CRT} ; do\
- ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; \
- done
-
-install-sim:
- ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR}
- for x in ${SIM_BSP} ; do\
- ${INSTALL_PROGRAM} $${x} $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; \
- done
- for x in ${SIM_SCRIPTS}; do\
- ${INSTALL_DATA} ${srcdir}/$${x} $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; \
- done
-
-install-hndl:
- ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR}
- for x in ${H_BSP}; do\
- ${INSTALL_PROGRAM} $${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/cr16/Makefile.inc b/libgloss/cr16/Makefile.inc
new file mode 100644
index 000000000000..d92302758f81
--- /dev/null
+++ b/libgloss/cr16/Makefile.inc
@@ -0,0 +1,40 @@
+multilibtool_DATA += \
+ %D%/crti.o \
+ %D%/crtn.o \
+ %D%/crt1.o
+libobjs_a_SOURCES += \
+ %D%/crti.S \
+ %D%/crtn.S \
+ %D%/crt1.S
+
+multilibtool_LIBRARIES += %D%/libh.a
+%C%_libh_a_SOURCES = \
+ %D%/intable.c \
+ %D%/dvz_hndl.c \
+ %D%/flg_hndl.c \
+ %D%/iad_hndl.c \
+ %D%/svc_hndl.c \
+ %D%/und_hndl.c
+
+multilibtool_DATA += \
+ %D%/sim.ld
+
+multilibtool_LIBRARIES += %D%/libsim.a
+%C%_libsim_a_SOURCES = \
+ %D%/_exit.c \
+ %D%/close.c \
+ %D%/_getenv.c \
+ %D%/lseek.c \
+ %D%/open.c \
+ %D%/read.c \
+ %D%/_rename.c \
+ %D%/sbrk.c \
+ %D%/time.c \
+ %D%/unlink.c \
+ %D%/write.c \
+ %D%/stat.c \
+ %D%/putnum.c \
+ %D%/kill.c \
+ %D%/getpid.c \
+ %D%/isatty.c \
+ %D%/fstat.c
--
2.43.0
next reply other threads:[~2024-01-21 4:50 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-21 4:50 Mike Frysinger [this message]
2024-01-23 8:54 ` Corinna Vinschen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240121045030.22208-1-vapier@gentoo.org \
--to=vapier@gentoo.org \
--cc=newlib@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).