libgloss: merge cr16 into top-level Makefile

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.
This commit is contained in:
Mike Frysinger 2024-01-20 23:47:12 -05:00
parent 90d6966b88
commit 752489c76e
6 changed files with 458 additions and 421 deletions

View File

@ -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

File diff suppressed because it is too large Load Diff

33
libgloss/configure vendored
View File

@ -716,6 +716,8 @@ CONFIG_D30V_FALSE
CONFIG_D30V_TRUE
CONFIG_CSKY_FALSE
CONFIG_CSKY_TRUE
CONFIG_CR16_FALSE
CONFIG_CR16_TRUE
CONFIG_BFIN_FALSE
CONFIG_BFIN_TRUE
CONFIG_ARM_FALSE
@ -792,7 +794,6 @@ infodir
docdir
oldincludedir
includedir
runstatedir
localstatedir
sharedstatedir
sysconfdir
@ -871,7 +872,6 @@ datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@ -1124,15 +1124,6 @@ do
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
-runstatedir | --runstatedir | --runstatedi | --runstated \
| --runstate | --runstat | --runsta | --runst | --runs \
| --run | --ru | --r)
ac_prev=runstatedir ;;
-runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
| --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
| --run=* | --ru=* | --r=*)
runstatedir=$ac_optarg ;;
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@ -1270,7 +1261,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
libdir localedir mandir runstatedir
libdir localedir mandir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@ -1423,7 +1414,6 @@ Fine tuning of the installation directories:
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
@ -2905,9 +2895,7 @@ case "${target}" in
config_bfin=true
;;
cr16-*-*)
ac_config_files="$ac_config_files cr16/Makefile"
subdirs="$subdirs cr16"
config_cr16=true
;;
cris-*-* | crisv32-*-*)
ac_config_files="$ac_config_files cris/Makefile"
@ -3043,6 +3031,14 @@ else
CONFIG_BFIN_FALSE=
fi
if test x$config_cr16 = xtrue; then
CONFIG_CR16_TRUE=
CONFIG_CR16_FALSE='#'
else
CONFIG_CR16_TRUE='#'
CONFIG_CR16_FALSE=
fi
if test x$config_csky = xtrue; then
CONFIG_CSKY_TRUE=
CONFIG_CSKY_FALSE='#'
@ -5815,6 +5811,10 @@ if test -z "${CONFIG_BFIN_TRUE}" && test -z "${CONFIG_BFIN_FALSE}"; then
as_fn_error $? "conditional \"CONFIG_BFIN\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${CONFIG_CR16_TRUE}" && test -z "${CONFIG_CR16_FALSE}"; then
as_fn_error $? "conditional \"CONFIG_CR16\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${CONFIG_CSKY_TRUE}" && test -z "${CONFIG_CSKY_FALSE}"; then
as_fn_error $? "conditional \"CONFIG_CSKY\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@ -6612,7 +6612,6 @@ do
"pa/Makefile") CONFIG_FILES="$CONFIG_FILES pa/Makefile" ;;
"mips/Makefile") CONFIG_FILES="$CONFIG_FILES mips/Makefile" ;;
"rs6000/Makefile") CONFIG_FILES="$CONFIG_FILES rs6000/Makefile" ;;
"cr16/Makefile") CONFIG_FILES="$CONFIG_FILES cr16/Makefile" ;;
"cris/Makefile") CONFIG_FILES="$CONFIG_FILES cris/Makefile" ;;
"crx/Makefile") CONFIG_FILES="$CONFIG_FILES crx/Makefile" ;;
"mep/Makefile") CONFIG_FILES="$CONFIG_FILES mep/Makefile" ;;

View File

@ -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])
@ -218,7 +217,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 pru riscv rl78 rx sparc sparc_leon tic6x v850 visium

View File

@ -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

View File

@ -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