* [PATCH] libgloss: merge cr16 into top-level Makefile
@ 2024-01-21 4:50 Mike Frysinger
2024-01-23 8:54 ` Corinna Vinschen
0 siblings, 1 reply; 2+ messages in thread
From: Mike Frysinger @ 2024-01-21 4:50 UTC (permalink / raw)
To: newlib
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
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] libgloss: merge cr16 into top-level Makefile
2024-01-21 4:50 [PATCH] libgloss: merge cr16 into top-level Makefile Mike Frysinger
@ 2024-01-23 8:54 ` Corinna Vinschen
0 siblings, 0 replies; 2+ messages in thread
From: Corinna Vinschen @ 2024-01-23 8:54 UTC (permalink / raw)
To: newlib
On Jan 20 23:50, Mike Frysinger wrote:
> 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
Please go ahead, Mike.
Thanks,
Corinna
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-01-23 8:54 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-21 4:50 [PATCH] libgloss: merge cr16 into top-level Makefile Mike Frysinger
2024-01-23 8:54 ` Corinna Vinschen
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).