binutils-gdb/sim/common/local.mk
Mike Frysinger a7e40a9931 sim: nltvals: pull target errno out into a dedicated source file
The current system maintains a list of target errno constants in the
nltvals.def file, then runs a build-time tool to turn that into a C
file.  This list of errno values is the same for all arches, so we
don't need the arch-specific flexibility.  Further, these are only
for newlib/libgloss environments, which makes it confusing to support
other userland runtimes (like Linux).  Let's simplify to make this
easier to understand & build.  We don't namespace the variables yet,
but sets up the framework for it.

Create a new target-newlib-errno.c template file.  The template file
is hand written, but the inline map is still automatically generated.

This allows us to move it to the common set of objects so it's only
built once in a multi-target build.

Now we can remove the output from the gentmap build-time tool since
it's checked into the tree.

Then we stop including the errno lists in nltvals.def since nothing
uses it.
2021-10-31 04:31:28 -04:00

50 lines
1.7 KiB
Makefile

## See sim/Makefile.am.
#
# Copyright (C) 1997-2021 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Parts of the common/ sim code that have been unified.
# Most still lives in common/Make-common.in.
AM_CPPFLAGS += -I$(srcdir)/%D%
# This makes sure common parts are available before building the arch-subdirs
# which will refer to these.
SIM_ALL_RECURSIVE_DEPS += \
%D%/libcommon.a
# NB: libcommon.a isn't used directly by ports. We need a target for common
# objects to be a part of, and ports use the individual objects directly.
noinst_LIBRARIES += %D%/libcommon.a
%C%_libcommon_a_CPPFLAGS = \
$(AM_CPPFLAGS) \
-DSIM_COMMON_BUILD \
-I../bfd \
-I..
%C%_libcommon_a_SOURCES = \
%D%/portability.c \
%D%/sim-load.c \
%D%/target-newlib-errno.c \
%D%/version.c
%D%/version.c: %D%/version.c-stamp ; @true
%D%/version.c-stamp: $(srcroot)/gdb/version.in $(srcroot)/bfd/version.h $(srcdir)/%D%/create-version.sh
$(AM_V_GEN)$(SHELL) $(srcdir)/%D%/create-version.sh $(srcroot)/gdb $@.tmp
$(AM_V_at)$(SHELL) $(srcroot)/move-if-change $@.tmp $(@:-stamp=)
$(AM_V_at)touch $@
CLEANFILES += \
%D%/version.c %D%/version.c-stamp