aboutsummaryrefslogtreecommitdiff
path: root/sim/Makefile.in
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2022-11-06 22:57:06 +0700
committerMike Frysinger <vapier@gentoo.org>2022-12-21 22:21:25 -0500
commitf4ac2306058aecab760b05e425d089a1c86e0618 (patch)
tree005aeb69d37d4afa1d25e8c071ed013f29d28453 /sim/Makefile.in
parent3d0421178673d74a790637e31fed944bf48aa3aa (diff)
downloadgdb-f4ac2306058aecab760b05e425d089a1c86e0618.zip
gdb-f4ac2306058aecab760b05e425d089a1c86e0618.tar.gz
gdb-f4ac2306058aecab760b05e425d089a1c86e0618.tar.bz2
sim: hw-config.h: move generation to top-level
In order to compile arch objects from the top-level, we need to generate the hw-config.h header, so move that logic up to the top level first.
Diffstat (limited to 'sim/Makefile.in')
-rw-r--r--sim/Makefile.in45
1 files changed, 33 insertions, 12 deletions
diff --git a/sim/Makefile.in b/sim/Makefile.in
index 085afcf..0c9975e 100644
--- a/sim/Makefile.in
+++ b/sim/Makefile.in
@@ -1193,12 +1193,14 @@ CLEANFILES = common/version.c common/version.c-stamp \
testsuite/common/bits32m31.c testsuite/common/bits64m0.c \
testsuite/common/bits64m63.c
DISTCLEANFILES =
-MOSTLYCLEANFILES = core $(am__append_7) site-sim-config.exp \
- testrun.log testrun.sum $(am__append_15) $(am__append_19) \
- $(am__append_24) $(am__append_28) $(am__append_35) \
- $(am__append_40) $(am__append_44) $(am__append_48) \
- $(am__append_52) $(am__append_57) $(am__append_65) \
- $(am__append_70) $(am__append_79) $(am__append_82)
+MOSTLYCLEANFILES = core $(common_HW_CONFIG_H_TARGETS) $(patsubst \
+ %,%/stamp-hw,$(SIM_ENABLED_ARCHES)) $(am__append_7) \
+ site-sim-config.exp testrun.log testrun.sum $(am__append_15) \
+ $(am__append_19) $(am__append_24) $(am__append_28) \
+ $(am__append_35) $(am__append_40) $(am__append_44) \
+ $(am__append_48) $(am__append_52) $(am__append_57) \
+ $(am__append_65) $(am__append_70) $(am__append_79) \
+ $(am__append_82)
AM_CFLAGS = $(WERROR_CFLAGS) $(WARN_CFLAGS)
AM_CPPFLAGS = $(INCGNU) -I$(srcroot)/include -I../bfd -I.. \
$(SIM_HW_CFLAGS) $(SIM_INLINE) -I$(srcdir)/common \
@@ -1207,12 +1209,13 @@ AM_CPPFLAGS_FOR_BUILD = -I$(srcroot)/include $(SIM_HW_CFLAGS) \
$(SIM_INLINE) -I$(srcdir)/common
COMPILE_FOR_BUILD = $(CC_FOR_BUILD) $(AM_CPPFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD)
LINK_FOR_BUILD = $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $@
-SIM_ALL_RECURSIVE_DEPS = common/libcommon.a $(am__append_4) \
- $(am__append_14) $(am__append_17) $(am__append_23) \
- $(am__append_26) $(am__append_34) $(am__append_39) \
- $(am__append_43) $(am__append_46) $(am__append_51) \
- $(am__append_55) $(am__append_64) $(am__append_69) \
- $(am__append_77) $(am__append_81)
+SIM_ALL_RECURSIVE_DEPS = common/libcommon.a \
+ $(common_HW_CONFIG_H_TARGETS) $(am__append_4) $(am__append_14) \
+ $(am__append_17) $(am__append_23) $(am__append_26) \
+ $(am__append_34) $(am__append_39) $(am__append_43) \
+ $(am__append_46) $(am__append_51) $(am__append_55) \
+ $(am__append_64) $(am__append_69) $(am__append_77) \
+ $(am__append_81)
SIM_INSTALL_DATA_LOCAL_DEPS =
SIM_INSTALL_EXEC_LOCAL_DEPS = $(am__append_30)
SIM_UNINSTALL_LOCAL_DEPS = $(am__append_31)
@@ -1248,6 +1251,7 @@ SIM_NEW_COMMON_OBJS = sim-arange.o sim-bits.o sim-close.o \
sim-signal.o sim-stop.o sim-syscall.o sim-trace.o sim-utils.o \
sim-watch.o $(am__append_2)
SIM_HW_DEVICES = cfi core pal glue
+common_HW_CONFIG_H_TARGETS = $(patsubst %,%/hw-config.h,$(SIM_ENABLED_ARCHES))
LIBIBERTY_LIB = ../libiberty/libiberty.a
BFD_LIB = ../bfd/libbfd.la
OPCODES_LIB = ../opcodes/libopcodes.la
@@ -3163,6 +3167,23 @@ common/version.c-stamp: $(srcroot)/gdb/version.in $(srcroot)/bfd/version.h $(src
$(AM_V_at)$(SHELL) $(srcroot)/move-if-change $@.tmp $(@:-stamp=)
$(AM_V_at)touch $@
+# FIXME This is one very simple-minded way of generating the file hw-config.h.
+%/hw-config.h: %/stamp-hw ; @true
+%/stamp-hw: Makefile
+ $(AM_V_GEN)set -e; \
+ ( \
+ sim_hw="$(SIM_HW_DEVICES) $($(@D)_SIM_EXTRA_HW_DEVICES)" ; \
+ echo "/* generated by Makefile */" ; \
+ printf "extern const struct hw_descriptor dv_%s_descriptor[];\n" $$sim_hw ; \
+ echo "const struct hw_descriptor * const hw_descriptors[] = {" ; \
+ printf " dv_%s_descriptor,\n" $$sim_hw ; \
+ echo " NULL," ; \
+ echo "};" \
+ ) > $@.tmp; \
+ $(SHELL) $(srcroot)/move-if-change $@.tmp $(@D)/hw-config.h; \
+ touch $@
+.PRECIOUS: %/stamp-hw
+
# Alias for developers.
@SIM_ENABLE_IGEN_TRUE@igen: $(IGEN)