public inbox for newlib@sourceware.org
 help / color / mirror / Atom feed
From: Mike Frysinger <vapier@gentoo.org>
To: newlib@sourceware.org
Subject: [PATCH 2/4] libgloss: merge arm into top-level Makefile
Date: Tue, 20 Dec 2022 20:58:07 -0500	[thread overview]
Message-ID: <20221221015809.4154-3-vapier@gentoo.org> (raw)
In-Reply-To: <20221221015809.4154-1-vapier@gentoo.org>

Avoid a recursive make to speed things up a bit.
---
 libgloss/Makefile.am               |   3 +
 libgloss/Makefile.in               | 556 +++++++++++++++++++++++++----
 libgloss/arm/Makefile.in           | 241 -------------
 libgloss/arm/Makefile.inc          |  89 +++++
 libgloss/arm/acinclude.m4          |  10 -
 libgloss/arm/cpu-init/Makefile.in  |  84 -----
 libgloss/arm/cpu-init/Makefile.inc |  15 +
 libgloss/configure                 |  47 ++-
 libgloss/configure.ac              |   7 +-
 9 files changed, 627 insertions(+), 425 deletions(-)
 delete mode 100644 libgloss/arm/Makefile.in
 create mode 100644 libgloss/arm/Makefile.inc
 delete mode 100644 libgloss/arm/cpu-init/Makefile.in
 create mode 100644 libgloss/arm/cpu-init/Makefile.inc

diff --git a/libgloss/Makefile.am b/libgloss/Makefile.am
index 5b5f0fd541ae..9fed4655a422 100644
--- a/libgloss/Makefile.am
+++ b/libgloss/Makefile.am
@@ -63,6 +63,9 @@ endif
 if CONFIG_AARCH64
 include aarch64/Makefile.inc
 endif
+if CONFIG_ARM
+include arm/Makefile.inc
+endif
 if CONFIG_BFIN
 include bfin/Makefile.inc
 endif
diff --git a/libgloss/arm/Makefile.in b/libgloss/arm/Makefile.in
deleted file mode 100644
index d0d5ea89d62e..000000000000
--- a/libgloss/arm/Makefile.in
+++ /dev/null
@@ -1,241 +0,0 @@
-#
-#
-DESTDIR =
-VPATH = @srcdir@ @srcdir@/..
-srcdir = @srcdir@
-abs_srcdir = @abs_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)
-
-objtype = @ARM_OBJTYPE@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_DATA = @INSTALL_DATA@
-
-# Multilib support variables.
-# TOP is used instead of MULTI{BUILD,SRC}TOP.
-MULTISRCTOP =
-MULTIBUILDTOP =
-MULTIDIRS =
-MULTISUBDIR =
-MULTIDO = true
-MULTICLEAN = true
-
-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`
-
-@ARM_BUILD_CRT0_TRUE@CRT0		= crt0.o
-@ARM_BUILD_CRT0_TRUE@CRT0_INSTALL	= install-crt0
-@ARM_BUILD_CRT0_FALSE@CRT0		=
-@ARM_BUILD_CRT0_FALSE@CRT0_INSTALL	=
-
-NANO_SCRIPTS=nano.specs
-NANO_INSTALL=install-nano
-
-LINUX_CRT0    = linux-crt0.o
-LINUX_BSP     = libgloss-linux.a
-LINUX_OBJS    = linux-syscalls0.o linux-syscalls1.o
-LINUX_SCRIPTS = linux.specs
-LINUX_INSTALL = install-linux
-
-REDBOOT_CRT0	= redboot-crt0.o 
-REDBOOT_OBJS	= redboot-syscalls.o
-REDBOOT_SCRIPTS	= redboot.ld redboot.specs
-REDBOOT_INSTALL	= install-redboot
-
-RDPMON_CRT0	= rdpmon-crt0.o
-RDPMON_BSP	= librdpmon.a
-RDPMON_OBJS	= ftruncate.o libcfunc.o syscalls.o trap.o truncate.o _exit.o _kill.o
-RDPMON_SCRIPTS	= rdpmon.specs
-RDPMON_INSTALL	= install-rdpmon
-
-RDIMON_CRT0	= rdimon-crt0.o rdimon-crt0-v2m.o
-RDIMON_BSP	= librdimon.a librdimon-v2m.a
-RDIMON_OBJS	= $(patsubst %,rdimon-%,$(RDPMON_OBJS))
-_RDIMON_SCRIPTS	= rdimon.specs \
-		  aprofile-validation.specs \
-		  aprofile-ve.specs
-RDIMON_SCRIPTS	= $(_RDIMON_SCRIPTS) $(patsubst %.specs,%-v2m.specs,$(_RDIMON_SCRIPTS))
-RDIMON_INSTALL	= install-rdimon
-RDIMON_SEMIHV2M_OBJS = $(patsubst %.o,rdimon-%-v2m.o,$(RDPMON_OBJS))
-
-# Here is all of the eval board stuff
-PID_SCRIPTS	= pid.specs
-PID_INSTALL	= install-pid
-
-IQ80310_SCRIPTS	= iq80310.specs
-IQ80310_INSTALL	= install-iq80310
-
-
-# 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} ${LINUX_CRT0} ${LINUX_BSP} ${REDBOOT_CRT0} ${REDBOOT_OBJS} ${RDPMON_CRT0} ${RDPMON_BSP} ${RDIMON_CRT0} ${RDIMON_BSP}
-
-#
-# here's where we build the test programs for each target
-#
-.PHONY: test
-test:
-
-#
-crt0.o: crt0.S
-redboot-crt0.o: redboot-crt0.S
-redboot-syscalls.o: redboot-syscalls.c $(srcdir)/../syscall.h
-	$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DSEMIHOST_V2 -o $@ -c $<
-
-rdpmon-crt0.o: crt0.S
-	$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DSEMIHOST_V2 -DARM_RDP_MONITOR -o $@ -c $<
-
-rdimon-crt0.o: crt0.S
-	$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DSEMIHOST_V2 -DARM_RDI_MONITOR -o $@ -c $<
-
-rdimon-ftruncate.o: ftruncate.c
-	$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DSEMIHOST_V2 -DARM_RDI_MONITOR -o $@ -c $<
-
-rdimon-trap.o: trap.S
-	$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DSEMIHOST_V2 -DARM_RDI_MONITOR -o $@ -c $<
-
-rdimon-truncate.o: truncate.c
-	$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DSEMIHOST_V2 -DARM_RDI_MONITOR -o $@ -c $<
-
-rdimon-_exit.o: _exit.c
-	$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DSEMIHOST_V2 -DARM_RDI_MONITOR -o $@ -c $<
-
-rdimon-_kill.o: _kill.c
-	$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DSEMIHOST_V2 -DARM_RDI_MONITOR -o $@ -c $<
-
-rdimon-syscalls.o: syscalls.c
-	$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DSEMIHOST_V2 -DARM_RDI_MONITOR -o $@ -c $<
-
-rdimon-libcfunc.o: libcfunc.c
-	$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DSEMIHOST_V2 -DARM_RDI_MONITOR -o $@ -c $<
-
-rdimon-crt0-v2m.o: crt0.S
-	$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DSEMIHOST_V2 -DSEMIHOST_V2_MIXED_MODE -DARM_RDI_MONITOR -o $@ -c $<
-
-rdimon-ftruncate-v2m.o: ftruncate.c
-	$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DSEMIHOST_V2 -DSEMIHOST_V2_MIXED_MODE -DARM_RDI_MONITOR -o $@ -c $<
-
-rdimon-trap-v2m.o: trap.S
-	$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DSEMIHOST_V2 -DSEMIHOST_V2_MIXED_MODE -DARM_RDI_MONITOR -o $@ -c $<
-
-rdimon-truncate-v2m.o: truncate.c
-	$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DSEMIHOST_V2 -DSEMIHOST_V2_MIXED_MODE -DARM_RDI_MONITOR -o $@ -c $<
-
-rdimon-_exit-v2m.o: _exit.c
-	$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DSEMIHOST_V2 -DSEMIHOST_V2_MIXED_MODE -DARM_RDI_MONITOR -o $@ -c $<
-
-rdimon-_kill-v2m.o: _kill.c
-	$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DSEMIHOST_V2 -DSEMIHOST_V2_MIXED_MODE -DARM_RDI_MONITOR -o $@ -c $<
-
-rdimon-syscalls-v2m.o: syscalls.c
-	$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DSEMIHOST_V2 -DSEMIHOST_V2_MIXED_MODE -DARM_RDI_MONITOR -o $@ -c $<
-
-rdimon-libcfunc-v2m.o: libcfunc.c
-	$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DSEMIHOST_V2 -DSEMIHOST_V2_MIXED_MODE -DARM_RDI_MONITOR -o $@ -c $<
-
-$(LINUX_BSP): $(LINUX_OBJS)
-	${AR} ${ARFLAGS} $@ $^
-	${RANLIB} $@
-
-$(RDPMON_BSP): $(RDPMON_OBJS)
-	${AR} ${ARFLAGS} $@ $^
-	${RANLIB} $@
-
-librdimon.a: $(RDIMON_OBJS)
-	${AR} ${ARFLAGS} $@ $^
-	${RANLIB} $@
-
-librdimon-v2m.a: $(RDIMON_SEMIHV2M_OBJS)
-	${AR} ${ARFLAGS} $@ $^
-	${RANLIB} $@
-
-# Multilib support.
-.PHONY:  libgloss-multi-do all-multi clean-multi install-multi
-
-clean mostlyclean:
-	rm -f a.out core *.i *.o *-test *.srec *.dis *.x $(SIM_BSP) $(IQ80310_BSP)
-
-distclean maintainer-clean realclean: clean
-	rm -f Makefile *~
-
-.PHONY: install info install-info clean-info
-install: ${CRT0_INSTALL} ${LINUX_INSTALL} ${REDBOOT_INSTALL} ${RDPMON_INSTALL} ${RDIMON_INSTALL} ${IQ80310_INSTALL}  ${PID_INSTALL} ${NANO_INSTALL}
-
-install-nano:
-	${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR}
-	set -e; for x in ${NANO_SCRIPTS}; do ${INSTALL_DATA} ${srcdir}/${objtype}$$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done
-
-install-crt0:
-	${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR}
-	${INSTALL_DATA} ${CRT0} $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x
-
-install-linux:
-	${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR}
-	set -e; for x in ${LINUX_CRT0} ${LINUX_BSP}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done
-	set -e; for x in ${LINUX_SCRIPTS}; do ${INSTALL_DATA} ${srcdir}/${objtype}$$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done
-
-install-redboot:
-	${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR}
-	set -e; for x in ${REDBOOT_CRT0} ${REDBOOT_OBJS}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done
-	set -e; for x in ${REDBOOT_SCRIPTS}; do ${INSTALL_DATA} ${srcdir}/${objtype}$$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done
-
-install-rdpmon:
-	${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR}
-	set -e; for x in ${RDPMON_CRT0} ${RDPMON_BSP}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done
-	set -e; for x in ${RDPMON_SCRIPTS}; do ${INSTALL_DATA} ${srcdir}/${objtype}$$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done
-
-install-rdimon:
-	${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR}
-	set -e; for x in ${RDIMON_CRT0} ${RDIMON_BSP}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done
-	set -e; for x in ${RDIMON_SCRIPTS}; do ${INSTALL_DATA} ${srcdir}/${objtype}$$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done
-
-
-install-pid:
-	${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR}
-	set -e; for x in ${PID_SCRIPTS}; do ${INSTALL_DATA} ${srcdir}/${objtype}$$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done
-
-install-iq80310:
-	${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR}
-	set -e; for x in ${IQ80310_SCRIPTS}; do ${INSTALL_DATA} ${srcdir}/${objtype}$$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/arm/Makefile.inc b/libgloss/arm/Makefile.inc
new file mode 100644
index 000000000000..41fce3c999c3
--- /dev/null
+++ b/libgloss/arm/Makefile.inc
@@ -0,0 +1,89 @@
+if !MAY_SUPPLY_SYSCALLS
+multilibtool_DATA += %D%/crt0.o
+endif
+
+%C%_SPECS =
+
+## nano files.
+%C%_SPECS += %D%/nano.specs
+
+## Linux files.
+%C%_SPECS += %D%/linux.specs
+multilibtool_DATA += %D%/linux-crt0.o
+multilibtool_LIBRARIES += %D%/libgloss-linux.a
+%C%_libgloss_linux_a_SOURCES = \
+	%D%/linux-syscalls0.c \
+	%D%/linux-syscalls1.c
+
+## RedBoot files.
+%C%_SPECS += %D%/redboot.ld %D%/redboot.specs
+multilibtool_DATA += \
+	%D%/redboot-crt0.o \
+	%D%/redboot-syscalls.o
+
+%D%/redboot-syscalls.o: %D%/redboot-syscalls.c
+	$(AM_V_CC)$(COMPILE) -DSEMIHOST_V2 -o $@ -c $<
+
+## rdpmon files.
+%C%_SPECS += %D%/rdpmon.specs
+multilibtool_DATA += %D%/rdpmon-crt0.o
+multilibtool_LIBRARIES += %D%/librdpmon.a
+%C%_librdpmon_a_SOURCES = \
+	%D%/_exit.c \
+	%D%/_kill.c \
+	%D%/ftruncate.c \
+	%D%/libcfunc.c \
+	%D%/syscalls.c \
+	%D%/trap.S \
+	%D%/truncate.c
+
+%D%/rdpmon-crt0.o: %D%/crt0.S
+	$(AM_V_CPPAS)$(CPPASCOMPILE) -DSEMIHOST_V2 -DARM_RDP_MONITOR -o $@ -c $<
+
+## rdimon files.
+%C%_SPECS += \
+	%D%/rdimon.specs \
+	%D%/rdimon-v2m.specs \
+	%D%/aprofile-validation.specs \
+	%D%/aprofile-validation-v2m.specs \
+	%D%/aprofile-ve-v2m.specs \
+	%D%/aprofile-ve.specs
+multilibtool_DATA += \
+	%D%/rdimon-crt0.o \
+	%D%/rdimon-crt0-v2m.o
+multilibtool_LIBRARIES += \
+	%D%/librdimon.a \
+	%D%/librdimon-v2m.a
+
+%C%_RDIMON_CPPFLAGS = -DSEMIHOST_V2 -DARM_RDI_MONITOR
+%C%_RDIMON_V2M_CPPFLAGS = $(%C%_RDIMON_CPPFLAGS) -DSEMIHOST_V2_MIXED_MODE
+
+%D%/rdimon-crt0.o: %D%/crt0.S
+	$(AM_V_CPPAS)$(CPPASCOMPILE) $(%C%_RDIMON_CPPFLAGS) -o $@ -c $<
+
+%D%/rdimon-crt0-v2m.o: %D%/crt0.S
+	$(AM_V_CPPAS)$(CPPASCOMPILE) $(%C%_RDIMON_V2M_CPPFLAGS) -o $@ -c $<
+
+%C%_librdimon_a_SOURCES = $(%C%_librdpmon_a_SOURCES)
+%C%_librdimon_a_CPPFLAGS = $(AM_CPPFLAGS) $(%C%_RDIMON_CPPFLAGS)
+%C%_librdimon_v2m_a_SOURCES = $(%C%_librdpmon_a_SOURCES)
+%C%_librdimon_v2m_a_CPPFLAGS = $(AM_CPPFLAGS) $(%C%_RDIMON_V2M_CPPFLAGS)
+
+## Here is all of the eval board stuff.
+%C%_SPECS += \
+	%D%/pid.specs \
+	%D%/iq80310.specs
+
+multilibtool_DATA += \
+	$(%C%_SPECS)
+
+## Make copies of the scripts to facilitate in-tree bootstrapping.
+%D%/%.specs: %D%/$(ARM_OBJTYPE)%.specs
+	$(AM_V_GEN)cp $< $@
+
+%D%/%.ld: %D%/$(ARM_OBJTYPE)%.ld
+	$(AM_V_GEN)cp $< $@
+
+CLEANFILES += $(%C%_SPECS)
+
+include %D%/cpu-init/Makefile.inc
diff --git a/libgloss/arm/acinclude.m4 b/libgloss/arm/acinclude.m4
index b34a40f9c61d..d61474d3ade2 100644
--- a/libgloss/arm/acinclude.m4
+++ b/libgloss/arm/acinclude.m4
@@ -1,13 +1,3 @@
-if test "x$newlib_may_supply_syscalls" = "xyes"; then
-  ARM_BUILD_CRT0_TRUE='#'
-  ARM_BUILD_CRT0_FALSE=
-else
-  ARM_BUILD_CRT0_TRUE=
-  ARM_BUILD_CRT0_FALSE='#'
-fi
-AC_SUBST(ARM_BUILD_CRT0_TRUE)
-AC_SUBST(ARM_BUILD_CRT0_FALSE)
-
 ARM_OBJTYPE=
 case "${target}" in
   *-*-elf | *-*-eabi* | *-*-tirtos*)
diff --git a/libgloss/arm/cpu-init/Makefile.in b/libgloss/arm/cpu-init/Makefile.in
deleted file mode 100644
index 49ad53818d08..000000000000
--- a/libgloss/arm/cpu-init/Makefile.in
+++ /dev/null
@@ -1,84 +0,0 @@
-#
-#
-DESTDIR =
-VPATH = @srcdir@ @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)
-
-objtype = @objtype@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_DATA = @INSTALL_DATA@
-
-# Multilib support variables.
-# TOP is used instead of MULTI{BUILD,SRC}TOP.
-MULTISRCTOP =
-MULTIBUILDTOP =
-MULTIDIRS =
-MULTISUBDIR =
-MULTIDO = true
-MULTICLEAN = true
-
-SHELL =	/bin/sh
-
-CC = @CC@
-
-AS = @AS@
-AR = @AR@
-LD = @LD@
-RANLIB = @RANLIB@
-
-CPU_INIT_OBJS = rdimon-aem.o
-CPU_INIT_INSTALL = install-cpu-init
-
-CFLAGS		= -g
-
-# Host specific makefile fragment comes in here.
-@host_makefile_frag@
-
-.PHONY: all
-all: ${CPU_INIT_OBJS}
-
-#
-# here's where we build the test programs for each target
-#
-.PHONY: test
-test:
-
-# Static pattern rule for assembling cpu init files to object files.
-${CPU_INIT_OBJS}: %.o: %.S
-	$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DARM_RDI_MONITOR -o $@ -c $<
-
-clean mostlyclean:
-	rm -f a.out core *.i *.o *-test *.srec *.dis *.x
-
-distclean maintainer-clean realclean: clean
-	rm -f Makefile *~
-
-.PHONY: install info install-info clean-info
-install: ${CPU_INIT_INSTALL}
-
-install-cpu-init:
-	test -d $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/cpu-init || mkdir $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/cpu-init
-	set -e; for x in ${CPU_INIT_OBJS}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/cpu-init/$$x; done
-
-doc:
-info:
-install-info:
-clean-info:
-
-Makefile: Makefile.in ../../config.status
-	cd ../.. && $(SHELL) ./config.status --file arm/cpu-init/Makefile
diff --git a/libgloss/arm/cpu-init/Makefile.inc b/libgloss/arm/cpu-init/Makefile.inc
new file mode 100644
index 000000000000..5a8a75657a44
--- /dev/null
+++ b/libgloss/arm/cpu-init/Makefile.inc
@@ -0,0 +1,15 @@
+%C%cpuinitdir = $(tooldir)/lib$(MULTISUBDIR)/cpu-init
+%C%cpuinit_DATA = \
+	%D%/rdimon-aem.o
+
+## The manual dirstamp is needed as automake doesn't recognize compile rules
+## via DATA.  If we ever add rules it does know about, we can drop this.
+%D%/$(am__dirstamp):
+	@$(MKDIR_P) %D%
+	@: > $@
+
+%D%/rdimon-aem.$(OBJEXT): %D%/rdimon-aem.S %D%/$(am__dirstamp)
+	@$(MKDIR_P) %D%
+	$(AM_V_CC)$(COMPILE) -DARM_RDI_MONITOR -o $@ -c $<
+
+CLEANFILES += $(%C%cpuinit_DATA)
diff --git a/libgloss/configure.ac b/libgloss/configure.ac
index 33026534ffee..6b0117805570 100644
--- a/libgloss/configure.ac
+++ b/libgloss/configure.ac
@@ -18,6 +18,8 @@ AC_ARG_ENABLE(newlib-supplied-syscalls,
   *)   AC_MSG_ERROR(bad value ${enableval} for newlib-supplied-syscalls option) ;;
  esac], [newlib_may_supply_syscalls=yes])dnl
 
+AM_CONDITIONAL(MAY_SUPPLY_SYSCALLS, test x[$]{newlib_may_supply_syscalls} = xyes)
+
 AC_PROG_INSTALL
 
 AC_CANONICAL_SYSTEM
@@ -214,8 +216,7 @@ case "${target}" in
 	subdirs="$subdirs rx"
 	;;
   arm*-*-elf | arm*-*-coff | arm*-*-*)
-	AC_CONFIG_FILES([arm/Makefile arm/cpu-init/Makefile])
-	subdirs="$subdirs arm arm/cpu-init"
+	config_arm=true
 	;;
   spu-*-elf)
 	AC_CONFIG_FILES([spu/Makefile])
@@ -250,7 +251,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 bfin iq2000 libnosys lm32 riscv wince
+  aarch64 arm bfin iq2000 libnosys lm32 riscv wince
 ], [dnl
   AM_CONDITIONAL([CONFIG_]m4_toupper(SUBDIR), [test x$config_]SUBDIR = xtrue)
 ])
-- 
2.38.1


  parent reply	other threads:[~2022-12-21  1:58 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-21  1:58 [PATCH 0/4] libgloss: convert a few more arches to automake Mike Frysinger
2022-12-21  1:58 ` [PATCH 1/4] libgloss: merge aarch64 into top-level Makefile Mike Frysinger
2022-12-21  1:58 ` Mike Frysinger [this message]
2022-12-21  1:58 ` [PATCH 3/4] libgloss: merge arc " Mike Frysinger
2022-12-21  1:58 ` [PATCH 4/4] libgloss: merge d30v " Mike Frysinger
2023-01-09 10:51 ` [PATCH 0/4] libgloss: convert a few more arches to automake 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=20221221015809.4154-3-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).