📄 make-common.in
字号:
# Makefile fragment for common parts of all simulators.# Copyright 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.# Contributed by Cygnus Support.# 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 2 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, write to the Free Software# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.# This Makefile fragment consists of two separate parts.# They are merged into the final Makefile at points denoted by# "## COMMON_PRE_CONFIG_FRAG" and "## COMMON_POST_CONFIG_FRAG".## The target Makefile should look like:##># Copyright blah blah#>#>## COMMON_PRE_CONFIG_FRAG#>#># Any overrides necessary for the SIM_FOO config vars.#>SIM_FOO = ...#>#>## COMMON_POST_CONFIG_FRAG#>#># Rules to build target specific .o's.## COMMON_PRE_CONFIG_FRAGVPATH = @srcdir@srcdir = @srcdir@srccom = $(srcdir)/../commonsrcroot = $(srcdir)/../..prefix = @prefix@exec_prefix = @exec_prefix@host_alias = @host_alias@target_alias = @target_alias@program_transform_name = @program_transform_name@bindir = @bindir@libdir = @libdir@tooldir = $(libdir)/$(target_alias)datadir = @datadir@mandir = @mandir@man1dir = $(mandir)/man1infodir = @infodir@includedir = @includedir@# This can be referenced by the gettext configuration code.top_builddir = ..EXEEXT = @EXEEXT@SHELL = @SHELL@INSTALL = @INSTALL@INSTALL_PROGRAM = @INSTALL_PROGRAM@INSTALL_DATA = @INSTALL_DATA@CC = @CC@CC_FOR_BUILD = @CC_FOR_BUILD@CFLAGS = @CFLAGS@SIM_BSWAP = @sim_bswap@SIM_CFLAGS = @sim_cflags@SIM_DEBUG = @sim_debug@SIM_TRACE = @sim_trace@SIM_PROFILE = @sim_profile@SIM_ASSERT = @sim_assert@SIM_ALIGNMENT = @sim_alignment@SIM_BITSIZE = @sim_bitsize@SIM_DEFAULT_MODEL = @sim_default_model@SIM_ENDIAN = @sim_endian@SIM_ENVIRONMENT = @sim_environment@SIM_FLOAT = @sim_float@SIM_HW_CFLAGS = @sim_hw_cflags@SIM_HW_OBJS = @sim_hw_objs@SIM_HW = @sim_hw@SIM_HOSTENDIAN = @sim_hostendian@SIM_INLINE = @sim_inline@SIM_PACKAGES = @sim_packages@SIM_REGPARM = @sim_regparm@SIM_RESERVED_BITS = @sim_reserved_bits@SIM_SCACHE = @sim_scache@SIM_SMP = @sim_smp@SIM_STDCALL = @sim_stdcall@SIM_XOR_ENDIAN = @sim_xor_endian@WARN_CFLAGS = @WARN_CFLAGS@WERROR_CFLAGS = @WERROR_CFLAGS@SIM_WARN_CFLAGS = $(WARN_CFLAGS)SIM_WERROR_CFLAGS = $(WERROR_CFLAGS)HDEFINES = @HDEFINES@TDEFINES =AR = @AR@AR_FLAGS = rcRANLIB = @RANLIB@MAKEINFO = makeinfoDEP = $(srcroot)/mkdep# Each simulator's Makefile.in defines one or more of these variables# to override our settings as necessary. There is no need to define these# in the simulator's Makefile.in if one is using the default value. In fact# it's preferable not to.# List of object files, less common parts.SIM_OBJS =# List of extra dependencies.# Generally this consists of simulator specific files included by sim-main.h.SIM_EXTRA_DEPS =# List of flags to always pass to $(CC).SIM_EXTRA_CFLAGS =# List of extra libraries to link with.SIM_EXTRA_LIBS =# List of extra program dependencies.SIM_EXTRA_LIBDEPS =# List of main object files for `run'.SIM_RUN_OBJS = run.o# Dependency of `all' to build any extra files.SIM_EXTRA_ALL =# Dependency of `install' to install any extra files.SIM_EXTRA_INSTALL =# Dependency of `clean' to clean any extra files.SIM_EXTRA_CLEAN =# Likewise `distclean'SIM_EXTRA_DISTCLEAN =# Every time a new general purpose source file was added every target's# Makefile.in needed to be updated to include the file in SIM_OBJS.# This doesn't scale.# This variable specifies all the generic stuff common to the newer simulators.# Things like sim-reason.o can't go here as the cpu may provide its own# (though hopefully in time that won't be so). Things like sim-bits.o can go# here. Some files are used by all simulators (e.g. callback.o).# Those files are specified in LIB_OBJS below.SIM_COMMON_HW_OBJS = \ hw-alloc.o \ hw-base.o \ hw-device.o \ hw-events.o \ hw-handles.o \ hw-instances.o \ hw-ports.o \ hw-properties.o \ hw-tree.o \ sim-hw.o \SIM_NEW_COMMON_OBJS = \ sim-arange.o \ sim-bits.o \ sim-config.o \ sim-core.o \ sim-endian.o \ sim-events.o \ sim-fpu.o \ sim-io.o \ sim-info.o \ sim-load.o \ sim-memopt.o \ sim-module.o \ sim-options.o \ sim-profile.o \ sim-signal.o \ sim-trace.o \ sim-utils.o \ sim-watch.o \ \ $(SIM_HW_OBJS) \# Add this to SIM_EXTRA_DEPS.CGEN_INCLUDE_DEPS = \ $(srccom)/cgen-cpu.h \ $(srccom)/cgen-defs.h \ $(srccom)/cgen-engine.h \ $(srccom)/cgen-scache.h \ $(srccom)/cgen-sim.h \ $(srccom)/cgen-trace.h \ $(srccom)/cgen-types.h \ $(srcdir)/../../include/opcode/cgen.h## End COMMON_PRE_CONFIG_FRAG## COMMON_POST_CONFIG_FRAGCONFIG_CFLAGS = \ @DEFS@ \ $(SIM_CFLAGS) \ $(SIM_DEBUG) \ $(SIM_DEFAULT_MODEL) \ $(SIM_TRACE) \ $(SIM_PROFILE) \ $(SIM_BSWAP) \ $(SIM_ASSERT) \ $(SIM_ALIGNMENT) \ $(SIM_BITSIZE) \ $(SIM_ENDIAN) \ $(SIM_ENVIRONMENT) \ $(SIM_FLOAT) \ $(SIM_HW_CFLAGS) \ $(SIM_HOSTENDIAN) \ $(SIM_INLINE) \ $(SIM_PACKAGES) \ $(SIM_REGPARM) \ $(SIM_RESERVED_BITS) \ $(SIM_SCACHE) \ $(SIM_SMP) \ $(SIM_STDCALL) \ $(SIM_WARN_CFLAGS) \ $(SIM_WERROR_CFLAGS) \ $(SIM_XOR_ENDIAN) \ $(SIM_HARDWARE) \ $(SIM_EXTRA_CFLAGS) \ $(HDEFINES) $(TDEFINES)CSEARCH = -I. -I$(srcdir) -I../common -I$(srccom) \ -I../../include -I$(srcroot)/include \ -I../../bfd -I$(srcroot)/bfd \ -I../../opcodes -I$(srcroot)/opcodes \ -I../../intl -I$(srcroot)/intlALL_CFLAGS = $(CONFIG_CFLAGS) $(CSEARCH) $(CFLAGS)BUILD_CFLAGS = -g -O $(CSEARCH)COMMON_DEP_CFLAGS = $(CONFIG_CFLAGS) $(CSEARCH)LIBIBERTY_LIB = ../../libiberty/libiberty.aBFD_LIB = ../../bfd/libbfd.aOPCODES_LIB = ../../opcodes/libopcodes.aINTLLIBS = @INTLLIBS@INTLDEPS = @INTLDEPS@CONFIG_LIBS = @LIBS@LIBDEPS = $(BFD_LIB) $(OPCODES_LIB) $(INTLLIBS) $(LIBIBERTY_LIB) \ $(SIM_EXTRA_LIBDEPS)EXTRA_LIBS = $(BFD_LIB) $(OPCODES_LIB) $(INTLLIBS) $(LIBIBERTY_LIB) \ $(CONFIG_LIBS) $(SIM_EXTRA_LIBS)LIB_OBJS = callback.o syscall.o targ-map.o $(SIM_OBJS)RUNTESTFLAGS =callback_h = $(srcroot)/include/gdb/callback.hremote_sim_h = $(srcroot)/include/gdb/remote-sim.hall: $(SIM_EXTRA_ALL) libsim.a run .gdbinitlibsim.a: $(LIB_OBJS) rm -f libsim.a $(AR) $(AR_FLAGS) libsim.a $(LIB_OBJS) $(RANLIB) libsim.arun: $(SIM_RUN_OBJS) libsim.a $(LIBDEPS) $(CC) $(ALL_CFLAGS) -o run$(EXEEXT) \ $(SIM_RUN_OBJS) libsim.a $(EXTRA_LIBS)run.o: $(srccom)/run.c config.h tconfig.h $(remote_sim_h) $(callback_h) $(CC) -c $(srccom)/run.c $(ALL_CFLAGS)# FIXME: Ideally, callback.o and friends live in a library outside of# both the gdb and simulator source trees (e.g. devo/remote. Not# devo/libremote because this directory would contain more than just# a library).callback.o: $(srccom)/callback.c config.h tconfig.h $(callback_h) targ-vals.h $(CC) -c $(srccom)/callback.c $(ALL_CFLAGS)syscall.o: $(srccom)/syscall.c config.h tconfig.h $(callback_h) targ-vals.h $(CC) -c $(srccom)/syscall.c $(ALL_CFLAGS)targ-map.o: targ-map.c targ-vals.hgentmap: Makefile $(srccom)/gentmap.c targ-vals.def $(CC_FOR_BUILD) $(srccom)/gentmap.c -o gentmap $(BUILD_CFLAGS) $(NL_TARGET)targ-vals.h targ-map.c: stamp-tvalsstamp-tvals: gentmap rm -f tmp-tvals.h tmp-tmap.c ./gentmap -h >tmp-tvals.h $(SHELL) $(srcroot)/move-if-change tmp-tvals.h targ-vals.h ./gentmap -c >tmp-tmap.c $(SHELL) $(srcroot)/move-if-change tmp-tmap.c targ-map.c touch stamp-tvals## Rules for building sim-* components. Triggered by listing the corresponding# .o file in the list of simulator targets.#sim_main_headers = \ sim-main.h \ $(srccom)/sim-assert.h \ $(srccom)/sim-base.h \ $(srccom)/sim-basics.h \ $(srccom)/sim-config.h \ $(srccom)/sim-cpu.h \ $(srccom)/sim-engine.h \ $(srccom)/sim-events.h \ $(srccom)/sim-inline.h \ $(srccom)/sim-memopt.h \ $(srccom)/sim-model.h \ $(srccom)/sim-module.h \ $(srccom)/sim-profile.h \ $(srccom)/sim-signal.h \ $(srccom)/sim-trace.h \ $(srccom)/sim-watch.h \ tconfig.h \ $(SIM_EXTRA_DEPS)# Exported version of sim_main_headers.SIM_MAIN_DEPS = \ $(sim_main_headers)sim-assert_h = $(srccom)/sim-assert.hsim-endian_h = $(srccom)/sim-endian.hsim-n-endian_h = $(srccom)/sim-n-endian.hsim-arange_h = $(srccom)/sim-arange.hsim-bits_h = $(srccom)/sim-bits.hsim-config_h = $(srccom)/sim-config.hsim-n-bits_h = $(srccom)/sim-n-bits.hsim-core_h = $(srccom)/sim-core.hsim-n-core_h = $(srccom)/sim-n-core.hsim-engine_h = $(srccom)/sim-engine.hsim-events_h = $(srccom)/sim-events.hsim-fpu_h = $(srccom)/sim-fpu.hsim-io_h = $(srccom)/sim-io.hsim-options_h = $(srccom)/sim-options.hsim-signal_h = $(srccom)/sim-signal.hhw-alloc_h = $(srccom)/hw-alloc.hhw-base_h = $(srccom)/hw-base.hhw-device_h = $(srccom)/hw-device.hhw-events_h = $(srccom)/hw-events.hhw-handles_h = $(srccom)/hw-handles.hhw-instances_h = $(srccom)/hw-instances.hhw-ports_h = $(srccom)/hw-ports.hhw-properties_h = $(srccom)/hw-properties.hhw-tree_h = $(srccom)/hw-tree.hhw_main_headers = \ $(srccom)/hw-main.h \ $(hw-alloc_h) \ $(hw-base_h) \ $(hw-device_h) \ $(hw-events_h) \ $(hw-instances_h) \ $(hw-handles_h) \
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -