aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2023-01-01 19:03:28 -0500
committerMike Frysinger <vapier@gentoo.org>2023-01-10 01:15:29 -0500
commitb014c9b0872a05ec9fc3c63e712b4208654241af (patch)
tree3c5eb53dcef0e1306160282f9aa3f08201aa4c8e
parentb36a89d135a85ee0c41620b1dd47625c7cbf26ab (diff)
downloadgdb-b014c9b0872a05ec9fc3c63e712b4208654241af.zip
gdb-b014c9b0872a05ec9fc3c63e712b4208654241af.tar.gz
gdb-b014c9b0872a05ec9fc3c63e712b4208654241af.tar.bz2
sim: common: move test-hw-events to top-level build
This is an internal developer target that isn't normally compiled, but it can still be occasionally useful. Move it to the top-level build so we can kill off common/Make-common.in.
-rw-r--r--sim/Makefile.in6
-rw-r--r--sim/common/Make-common.in5
-rw-r--r--sim/common/hw-events.c2
-rw-r--r--sim/common/local.mk9
4 files changed, 17 insertions, 5 deletions
diff --git a/sim/Makefile.in b/sim/Makefile.in
index 099bfd5..c132390 100644
--- a/sim/Makefile.in
+++ b/sim/Makefile.in
@@ -4585,6 +4585,12 @@ 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 $@
+.PRECIOUS: %/test-hw-events.o
+%/test-hw-events.o: common/hw-events.c
+ $(AM_V_CC)$(COMPILE) -DMAIN -c -o $@ $<
+%/test-hw-events: %/test-hw-events.o %/libsim.a
+ $(AM_V_CCLD)$(LINK) -o $@ $^ $(SIM_COMMON_LIBS) $(LIBS)
+
# FIXME This is one very simple-minded way of generating the file hw-config.h.
%/hw-config.h: %/stamp-hw ; @true
%/stamp-hw: Makefile
diff --git a/sim/common/Make-common.in b/sim/common/Make-common.in
index 15242c6..a081525 100644
--- a/sim/common/Make-common.in
+++ b/sim/common/Make-common.in
@@ -154,11 +154,6 @@ override COMPILE.pre = source='$<' object='$@' libtool=no \
override POSTCOMPILE =
endif
-test-hw-events: $(srccom)/hw-events.c libsim.a
- $(ECHO_CCLD) $(LIBTOOL) $(AM_V_lt) --tag=CC --mode=link \
- $(CC) $(ALL_CFLAGS) -DMAIN -o test-hw-events$(EXEEXT) \
- $(srccom)/hw-events.c libsim.a $(EXTRA_LIBS)
-
# Support targets.
install:
diff --git a/sim/common/hw-events.c b/sim/common/hw-events.c
index 99e2f1a..fc579a8 100644
--- a/sim/common/hw-events.c
+++ b/sim/common/hw-events.c
@@ -23,6 +23,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include <stdarg.h>
#include <string.h>
+#include "sim/callback.h"
+
#include "hw-main.h"
#include "hw-base.h"
diff --git a/sim/common/local.mk b/sim/common/local.mk
index 32b5db6..f79a301 100644
--- a/sim/common/local.mk
+++ b/sim/common/local.mk
@@ -52,6 +52,15 @@ noinst_LIBRARIES += %D%/libcommon.a
CLEANFILES += \
%D%/version.c %D%/version.c-stamp
+## NB: This is a bit of a hack. If we can generalize the common/ files, we can
+## turn this from an arch-specific %/test-hw-events into a common/test-hw-events
+## program.
+.PRECIOUS: %/test-hw-events.o
+%/test-hw-events.o: common/hw-events.c
+ $(AM_V_CC)$(COMPILE) -DMAIN -c -o $@ $<
+%/test-hw-events: %/test-hw-events.o %/libsim.a
+ $(AM_V_CCLD)$(LINK) -o $@ $^ $(SIM_COMMON_LIBS) $(LIBS)
+
##
## For subdirs.
##