srcroot = $(srcdir)/../..
srcsim = $(srcdir)/..
+include $(srcroot)/gdb/silent-rules.mk
+
# Helper code from gnulib.
-GNULIB_BUILDDIR = ../../gnulib
-include $(GNULIB_BUILDDIR)/Makefile.gnulib.inc
+GNULIB_PARENT_DIR = ../..
+include $(GNULIB_PARENT_DIR)/gnulib/Makefile.gnulib.inc
+
+# Settings from top-level configure.
+include ../arch-subdir.mk
prefix = @prefix@
exec_prefix = @exec_prefix@
-host_alias = @host_alias@
-target_alias = @target_alias@
-program_transform_name = @program_transform_name@
bindir = @bindir@
libdir = @libdir@
infodir = @infodir@
includedir = @includedir@
-lt_cv_dlopen_libs = @lt_cv_dlopen_libs@
# 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@
-C_DIALECT = @C_DIALECT@
-CC_FOR_BUILD = @CC_FOR_BUILD@
-CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
-CFLAGS = @CFLAGS@
-CPPFLAGS = @CPPFLAGS@
-CXXFLAGS = @CXXFLAGS@
-LDFLAGS = @LDFLAGS@
-
-SIM_ALIGNMENT = @sim_alignment@
SIM_BITSIZE = @sim_bitsize@
SIM_DEFAULT_MODEL = @sim_default_model@
-SIM_ENDIAN = @sim_endian@
SIM_FLOAT = @sim_float@
SIM_HW_CFLAGS = @sim_hw_cflags@
SIM_HW_OBJS = @sim_hw_objs@
SIM_HW = @sim_hw@
-SIM_INLINE = @sim_inline@
SIM_RESERVED_BITS = @sim_reserved_bits@
SIM_SCACHE = @sim_scache@
-WARN_CFLAGS = @WARN_CFLAGS@
-WERROR_CFLAGS = @WERROR_CFLAGS@
SIM_WARN_CFLAGS = $(WARN_CFLAGS)
SIM_WERROR_CFLAGS = $(WERROR_CFLAGS)
-AR = @AR@
-AR_FLAGS = rc
-RANLIB = @RANLIB@
-MAKEINFO = makeinfo
-
# Dependency tracking information.
-DEPMODE = @CCDEPMODE@
-DEPDIR = @DEPDIR@
depcomp = $(SHELL) $(srcroot)/depcomp
# Note that these are overridden by GNU make-specific code below if
# GNU make is used. The overrides implement dependency tracking.
COMPILE.pre = $(CC) $(C_DIALECT)
COMPILE.post = -c -o $@
-COMPILE = $(COMPILE.pre) $(ALL_CFLAGS) $(COMPILE.post)
+COMPILE = $(ECHO_CC) $(COMPILE.pre) $(ALL_CFLAGS) $(COMPILE.post)
POSTCOMPILE = @true
# igen leaks memory, and therefore makes AddressSanitizer unhappy. Disable
sim-hrw.o \
sim-io.o \
sim-info.o \
- sim-load.o \
sim-memopt.o \
sim-model.o \
sim-module.o \
## COMMON_POST_CONFIG_FRAG
CONFIG_CFLAGS = \
- @DEFS@ \
+ -DHAVE_CONFIG_H \
$(SIM_DEFAULT_MODEL) \
- $(SIM_ALIGNMENT) \
$(SIM_BITSIZE) \
- $(SIM_ENDIAN) \
$(SIM_FLOAT) \
$(SIM_HW_CFLAGS) \
$(SIM_INLINE) \
-I../../bfd -I$(srcroot)/bfd \
-I../../opcodes -I$(srcroot)/opcodes \
-I../.. \
- @INCINTL@
+ $(INTL_CFLAGS)
ALL_CFLAGS = $(CONFIG_CFLAGS) $(CSEARCH) $(INCGNU) $(SIM_EXTRA_CFLAGS) $(CFLAGS)
BUILD_CFLAGS = $(CFLAGS_FOR_BUILD) $(CSEARCH)
COMMON_DEP_CFLAGS = $(CONFIG_CFLAGS) $(CSEARCH) $(SIM_EXTRA_CFLAGS)
-ZLIB = @zlibdir@ -lz
+ZLIB = $(zlibdir) -lz
LIBIBERTY_LIB = ../../libiberty/libiberty.a
BFD_LIB = ../../bfd/libbfd.a
-@PLUGINS_TRUE@LIBDL = @lt_cv_dlopen_libs@
OPCODES_LIB = ../../opcodes/libopcodes.a
-LIBINTL = @LIBINTL@
-LIBINTL_DEP = @LIBINTL_DEP@
-CONFIG_LIBS = @LIBS@ $(ZLIB)
+CONFIG_LIBS = $(COMMON_LIBS) @LIBS@ $(ZLIB)
LIBDEPS = $(BFD_LIB) $(OPCODES_LIB) $(LIBINTL_DEP) $(LIBIBERTY_LIB)
EXTRA_LIBS = $(BFD_LIB) $(OPCODES_LIB) $(LIBINTL) $(LIBIBERTY_LIB) \
$(CONFIG_LIBS) $(SIM_EXTRA_LIBS) $(LIBDL) $(LIBGNU) $(LIBGNU_EXTRA_LIBS)
-COMMON_OBJS = ../common/version.o
+COMMON_OBJS_NAMES = \
+ portability.o \
+ sim-load.o \
+ version.o
+COMMON_OBJS = $(COMMON_OBJS_NAMES:%=../common/common_libcommon_a-%)
LIB_OBJS = callback.o modules.o syscall.o targ-map.o $(COMMON_OBJS) $(SIM_OBJS)
libsim.a: $(LIB_OBJS)
rm -f libsim.a
- $(AR) $(AR_FLAGS) libsim.a $(LIB_OBJS)
- $(RANLIB) libsim.a
+ $(ECHO_AR) $(AR) $(AR_FLAGS) libsim.a $(LIB_OBJS)
+ $(ECHO_RANLIB) $(RANLIB) libsim.a
run$(EXEEXT): $(SIM_RUN_OBJS) libsim.a $(LIBDEPS)
- $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o run$(EXEEXT) \
+ $(ECHO_CCLD) $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o run$(EXEEXT) \
$(SIM_RUN_OBJS) libsim.a $(EXTRA_LIBS)
# FIXME: Ideally, callback.o and friends live in a library outside of
# a library).
gentmap.o: Makefile $(srccom)/gentmap.c $(srccom)/nltvals.def
- $(COMPILE_FOR_BUILD) -o $@ -c $(srccom)/gentmap.c $(NL_TARGET)
+ $(ECHO_CC) $(COMPILE_FOR_BUILD) -o $@ -c $(srccom)/gentmap.c $(NL_TARGET)
gentmap: gentmap.o
- $(LINK_FOR_BUILD) $<
+ $(ECHO_CC) $(LINK_FOR_BUILD) $<
targ-vals.h targ-map.c: stamp-tvals
stamp-tvals: gentmap
all_object_files = $(LIB_OBJS) $(SIM_RUN_OBJS)
generated_files = \
$(SIM_EXTRA_DEPS) \
- config.h \
hw-config.h \
modules.c \
targ-map.c \
$(srccom)/hw-events.c libsim.a $(EXTRA_LIBS)
# See sim_pre_argv_init and sim_module_install in sim-module.c for more details.
-modules.c: Makefile $(SIM_OBJS:.o=.c)
+modules.c: stamp-modules ; @true
+stamp-modules: Makefile $(SIM_OBJS:.o=.c)
@echo Generating $@
@LANG=C ; export LANG ; \
LC_ALL=C ; export LC_ALL ; \
echo '};'; \
echo 'const int sim_modules_detected_len = ARRAY_SIZE (sim_modules_detected);'; \
) >$@.tmp
- $(SHELL) $(srcroot)/move-if-change $@.tmp $@
+ $(SHELL) $(srcroot)/move-if-change $@.tmp modules.c
@rm -f $@.l-tmp $@.tmp
touch $@
rm -f *.[oa] *~ core
rm -f run$(EXEEXT) libsim.a
rm -f hw-config.h stamp-hw
+ rm -f modules.c stamp-modules
rm -f gentmap targ-map.c targ-vals.h stamp-tvals
- if [ ! -f Make-common.in ] ; then \
- rm -f $(BUILT_SRC_FROM_COMMON) ; \
- fi
rm -f tmp-mloop.hin tmp-mloop.h tmp-mloop.cin tmp-mloop.c
distclean maintainer-clean realclean: clean $(SIM_EXTRA_DISTCLEAN)
rm -f TAGS
rm -f Makefile config.cache config.log config.status .gdbinit
- rm -f config.h stamp-h
.c.o:
$(COMPILE) $<
config.status: configure
$(SHELL) ./config.status --recheck
-config.h: stamp-h ; @true
-stamp-h: config.in config.status
- CONFIG_FILES= CONFIG_HEADERS=config.h:config.in $(SHELL) ./config.status
-
.gdbinit: # config.status $(srccom)/gdbinit.in
CONFIG_FILES=$@:../common/gdbinit.in CONFIG_HEADERS= $(SHELL) ./config.status