aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@efficios.com>2020-01-13 13:57:32 -0500
committerSimon Marchi <simon.marchi@efficios.com>2020-01-13 13:58:02 -0500
commit4025fa094d2420134acc4fea2049e707df8ecd01 (patch)
tree133c3d9250a5d5e6e1444842caf256374ee1f46c
parentc87c17c1c29078d221756e5dc373e09e03ca6755 (diff)
downloadgdb-4025fa094d2420134acc4fea2049e707df8ecd01.zip
gdb-4025fa094d2420134acc4fea2049e707df8ecd01.tar.gz
gdb-4025fa094d2420134acc4fea2049e707df8ecd01.tar.bz2
gdbserver: fix Makefile dependency of regformat-generated files on regdat.sh
The intent of the rules modified by this patch is that the *-generated.c files generated by regdat.sh are re-generated in the event that regdat.sh is modified. However, if I build, touch regdat.sh, and build again, the files are not re-generated during the second build. This is because regdat.sh is specified as an order-only dependency [1], after the pipe. Make therefore only ensures that regdat.sh exists before generating the target file, it doesn't check the timestamp of regdat.sh. This patch changes it to be a regular prerequisite. The rules use the $< variable, which is substituted by the first prerequisite only, so the command lines won't change. [1] https://www.gnu.org/software/make/manual/html_node/Prerequisite-Types.html gdb/gdbserver/ChangeLog: * Makefile.in (%-generated.c): Make $(regdat_sh) a regular prerequisite.
-rw-r--r--gdb/gdbserver/ChangeLog5
-rw-r--r--gdb/gdbserver/Makefile.in8
2 files changed, 9 insertions, 4 deletions
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index 67d39be..730c53a 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,3 +1,8 @@
+2020-01-13 Simon Marchi <simon.marchi@efficios.com>
+
+ * Makefile.in (%-generated.c): Make $(regdat_sh) a regular
+ prerequisite.
+
2020-01-12 Simon Marchi <simon.marchi@polymtl.ca>
* linux-arm-tdesc.c: Include linux-arm-tdesc.h.
diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in
index 1125426..fd43e40 100644
--- a/gdb/gdbserver/Makefile.in
+++ b/gdb/gdbserver/Makefile.in
@@ -648,16 +648,16 @@ gdbsupport/%.o: ../gdbsupport/%.c
# Rules for register format descriptions. Suffix destination files with
# -generated to identify and clean them easily.
-%-generated.c: ../regformats/%.dat | $(regdat_sh)
+%-generated.c: ../regformats/%.dat $(regdat_sh)
$(ECHO_REGDAT) $(SHELL) $(regdat_sh) $< $@
-%-generated.c: ../regformats/arm/%.dat | $(regdat_sh)
+%-generated.c: ../regformats/arm/%.dat $(regdat_sh)
$(ECHO_REGDAT) $(SHELL) $(regdat_sh) $< $@
-%-generated.c: ../regformats/i386/%.dat | $(regdat_sh)
+%-generated.c: ../regformats/i386/%.dat $(regdat_sh)
$(ECHO_REGDAT) $(SHELL) $(regdat_sh) $< $@
-%-generated.c: ../regformats/rs6000/%.dat | $(regdat_sh)
+%-generated.c: ../regformats/rs6000/%.dat $(regdat_sh)
$(ECHO_REGDAT) $(SHELL) $(regdat_sh) $< $@
#