Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2022-12-14 05:54:54 +0300
committerMike Frysinger <vapier@gentoo.org>2023-01-10 05:49:50 +0300
commit13a7b16ea3ad64794b1cd7651ecfef9c258f3a6c (patch)
treead90b183d676a4c7cc758dd1ccc51af1f03cfa57 /libgloss/aarch64
parent9ee1e1b693ad7785e07f126ec725279fe605d621 (diff)
libgloss: merge aarch64 into top-level Makefile
Avoid a recursive make to speed things up a bit.
Diffstat (limited to 'libgloss/aarch64')
-rw-r--r--libgloss/aarch64/Makefile.in166
-rw-r--r--libgloss/aarch64/Makefile.inc34
-rw-r--r--libgloss/aarch64/cpu-init/Makefile.in107
-rw-r--r--libgloss/aarch64/cpu-init/Makefile.inc20
4 files changed, 54 insertions, 273 deletions
diff --git a/libgloss/aarch64/Makefile.in b/libgloss/aarch64/Makefile.in
deleted file mode 100644
index 980c75858..000000000
--- a/libgloss/aarch64/Makefile.in
+++ /dev/null
@@ -1,166 +0,0 @@
-# Copyright (c) 2012 ARM Ltd. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# 3. The name of the company may not be used to endorse or promote
-# products derived from this software without specific prior written
-# permission.
-#
-# THIS SOFTWARE IS PROVIDED BY ARM LTD ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-# IN NO EVENT SHALL ARM LTD BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
-# TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-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 = @AARCH64_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`
-
-OBJS = ftruncate.o libcfunc.o syscalls.o truncate.o _exit.o _kill.o
-CRT0 = crt0.o
-CRT0_INSTALL = install-crt0
-
-RDIMON_CRT0 = rdimon-crt0.o
-RDIMON_BSP = librdimon.a
-RDIMON_OBJS = $(patsubst %,rdimon-%,$(OBJS))
-RDIMON_SCRIPTS = rdimon.specs \
- aem-ve.specs \
- aem-validation.specs \
- aem-v8-r.specs
-RDIMON_INSTALL = install-rdimon
-
-# 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} ${RDIMON_CRT0} ${RDIMON_BSP} ${RDIMON_SCRIPTS}
-
-#
-# here's where we build the test programs for each target
-#
-.PHONY: test
-test:
-
-#
-crt0.o: crt0.S
- $(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DSEMIHOST_V2 -o $@ -c $<
-
-rdimon-crt0.o: crt0.S
- $(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-_exit.o: _exit.c
- $(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-_kill.o: _kill.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-syscalls.o: syscalls.c
- $(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_BSP): $(RDIMON_OBJS)
- ${AR} ${ARFLAGS} $@ $^
- ${RANLIB} $@
-
-clean mostlyclean:
- rm -f a.out core *.i *.o *-test *.srec *.dis *.x $(SIM_BSP) ${RDIMON_SCRIPTS}
-
-distclean maintainer-clean realclean: clean
- rm -f Makefile *~
-
-.PHONY: install info install-info clean-info
-install: ${CRT0_INSTALL} ${RDIMON_INSTALL}
-
-install-crt0:
- ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR}
- ${INSTALL_DATA} ${CRT0} $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x
-
-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
-
-# Make copies of the scripts to facilitate in-tree bootstrapping.
-${RDIMON_SCRIPTS}: %: ${objtype}%
- cp $< $@
-
-doc:
-info:
-install-info:
-clean-info:
-
-Makefile: Makefile.in ../config.status
- cd .. && $(SHELL) config.status
diff --git a/libgloss/aarch64/Makefile.inc b/libgloss/aarch64/Makefile.inc
new file mode 100644
index 000000000..b9c8d9833
--- /dev/null
+++ b/libgloss/aarch64/Makefile.inc
@@ -0,0 +1,34 @@
+multilibtool_LIBRARIES += %D%/librdimon.a
+%C%_librdimon_a_SOURCES = \
+ %D%/_exit.c \
+ %D%/_kill.c \
+ %D%/ftruncate.c \
+ %D%/libcfunc.c \
+ %D%/syscalls.c \
+ %D%/truncate.c
+%C%_librdimon_a_CPPFLAGS = \
+ $(AM_CPPFLAGS) \
+ -DSEMIHOST_V2 -DARM_RDI_MONITOR
+
+%C%_SPECS = \
+ %D%/aem-v8-r.specs \
+ %D%/aem-validation.specs \
+ %D%/aem-ve.specs \
+ %D%/rdimon.specs
+multilibtool_DATA += \
+ %D%/crt0.o \
+ %D%/rdimon-crt0.o \
+ $(%C%_SPECS)
+
+%D%/crt0.$(OBJEXT): %D%/crt0.S
+ $(AM_V_CPPAS)$(CPPASCOMPILE) -DSEMIHOST_V2 -o $@ -c $<
+%D%/rdimon-crt0.$(OBJEXT): %D%/crt0.S
+ $(AM_V_CPPAS)$(CPPASCOMPILE) -DSEMIHOST_V2 -DARM_RDI_MONITOR -o $@ -c $<
+
+## Make copies of the scripts to facilitate in-tree bootstrapping.
+%D%/%.specs: %D%/$(AARCH64_OBJTYPE)%.specs
+ $(AM_V_GEN)cp $< $@
+
+CLEANFILES += $(%C%_SPECS)
+
+include %D%/cpu-init/Makefile.inc
diff --git a/libgloss/aarch64/cpu-init/Makefile.in b/libgloss/aarch64/cpu-init/Makefile.in
deleted file mode 100644
index 4aef917eb..000000000
--- a/libgloss/aarch64/cpu-init/Makefile.in
+++ /dev/null
@@ -1,107 +0,0 @@
-# Copyright (c) 2012 ARM Ltd. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# 3. The name of the company may not be used to endorse or promote
-# products derived from this software without specific prior written
-# permission.
-#
-# THIS SOFTWARE IS PROVIDED BY ARM LTD ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-# IN NO EVENT SHALL ARM LTD BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
-# TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-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)
-
-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-el3.o rdimon-aem-v8-r.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:
-
-rdimon-aem-el3.o : rdimon-aem-el3.S
- $(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DARM_RDI_MONITOR -o $@ -c $<
-
-rdimon-aem-v8-r.o : rdimon-aem-el3.S
- $(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DARM_RDI_MONITOR -DBUILD_FOR_R_PROFILE -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 aarch64/cpu-init/Makefile
diff --git a/libgloss/aarch64/cpu-init/Makefile.inc b/libgloss/aarch64/cpu-init/Makefile.inc
new file mode 100644
index 000000000..031369ee7
--- /dev/null
+++ b/libgloss/aarch64/cpu-init/Makefile.inc
@@ -0,0 +1,20 @@
+%C%_CPPFLAGS = -I$(srcdir)/%D%/..
+
+%C%cpuinitdir = $(tooldir)/lib$(MULTISUBDIR)/cpu-init
+%C%cpuinit_DATA = \
+ %D%/rdimon-aem-el3.o \
+ %D%/rdimon-aem-v8-r.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-el3.$(OBJEXT): %D%/rdimon-aem-el3.S %D%/$(am__dirstamp)
+ $(AM_V_CC)$(COMPILE) $(%C%_CPPFLAGS) -DARM_RDI_MONITOR -o $@ -c $<
+
+%D%/rdimon-aem-v8-r.$(OBJEXT): %D%/rdimon-aem-el3.S %D%/$(am__dirstamp)
+ $(AM_V_CC)$(COMPILE) $(%C%_CPPFLAGS) -DARM_RDI_MONITOR -DBUILD_FOR_R_PROFILE -o $@ -c $<
+
+CLEANFILES += $(%C%cpuinit_DATA)