From 4025fa094d2420134acc4fea2049e707df8ecd01 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Mon, 13 Jan 2020 13:57:32 -0500 Subject: [PATCH] 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. --- gdb/gdbserver/ChangeLog | 5 +++++ gdb/gdbserver/Makefile.in | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index 67d39beba5b..730c53a2e83 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,8 @@ +2020-01-13 Simon Marchi + + * Makefile.in (%-generated.c): Make $(regdat_sh) a regular + prerequisite. + 2020-01-12 Simon Marchi * linux-arm-tdesc.c: Include linux-arm-tdesc.h. diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in index 1125426778b..fd43e407b8a 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) $< $@ # -- 2.30.2