diff options
author | Jan Beulich <jbeulich@suse.com> | 2022-09-30 10:14:58 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2022-09-30 10:14:58 +0200 |
commit | 79d635fc64ba9ca97c24c0c52c9924dba77e9527 (patch) | |
tree | ea21f6c79dccdb5b8f587d2560a1bbd2a220fcdc /opcodes | |
parent | 7b94647ad00bb096348ea074fa2f19e1873eb0a7 (diff) | |
download | gdb-79d635fc64ba9ca97c24c0c52c9924dba77e9527.zip gdb-79d635fc64ba9ca97c24c0c52c9924dba77e9527.tar.gz gdb-79d635fc64ba9ca97c24c0c52c9924dba77e9527.tar.bz2 |
x86: correct build dependencies in opcodes/
With the command in the rule merely being "echo", i386-tbl.h won't be
rebuilt if missing, when at the same time i386-init.h is present and
up-to-date. Use a pattern rule instead to express the multiple targets
correctly (the &: rule separator is supported only by GNU make 4.3 and
newer). Note that now, for the opposite case to work (i386-tbl.h is
up-to-date but i386-init.h is missing), i386-init.h also needs
mentioning as a dependency somewhere: Add a fake dependency for
i386-opc.lo ("fake" because i386-opc.c doesn't include that header).
At the same time use $(AM_V_GEN) in the actual rule, replacing the
earlier (open-coded) "echo". And while there also drop a duplicate
dependency of i386-gen.o on i386-opc.h.
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/Makefile.am | 14 | ||||
-rw-r--r-- | opcodes/Makefile.in | 14 |
2 files changed, 16 insertions, 12 deletions
diff --git a/opcodes/Makefile.am b/opcodes/Makefile.am index 87be5e7..93e9002 100644 --- a/opcodes/Makefile.am +++ b/opcodes/Makefile.am @@ -552,18 +552,20 @@ i386-gen$(EXEEXT_FOR_BUILD): i386-gen.o $(BUILD_LIB_DEPS) i386-gen.o: i386-gen.c i386-opc.h $(srcdir)/../include/opcode/i386.h \ $(INCDIR)/ansidecl.h $(INCDIR)/getopt.h $(INCDIR)/hashtab.h \ $(INCDIR)/libiberty.h $(INCDIR)/opcode/i386.h $(INCDIR)/safe-ctype.h \ - config.h i386-opc.h sysdep.h + config.h sysdep.h $(COMPILE_FOR_BUILD) -c $(srcdir)/i386-gen.c -$(srcdir)/i386-tbl.h: $(srcdir)/i386-init.h - @echo $@ - -$(srcdir)/i386-init.h: @MAINT@ i386-gen$(EXEEXT_FOR_BUILD) i386-opc.tbl i386-reg.tbl i386-opc.h - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) - \ +# i386-gen will generate both headers in one go. Use a pattern rule to properly +# express this, with the inner dash ('-') arbitrarily chosen to be the stem. +$(srcdir)/i386%tbl.h $(srcdir)/i386%init.h: @MAINT@ i386-gen$(EXEEXT_FOR_BUILD) i386-opc.tbl i386-reg.tbl i386-opc.h + $(AM_V_GEN)$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) - \ < $(srcdir)/i386-opc.tbl \ | ./i386-gen$(EXEEXT_FOR_BUILD) --srcdir $(srcdir) i386-opc.lo: $(srcdir)/i386-tbl.h +# While not really a dependency, specify i386-init.h here as well to make sure +# it is generated even if i386-tbl.h is present and up-to-date. +i386-opc.lo: $(srcdir)/i386-init.h ia64-gen$(EXEEXT_FOR_BUILD): ia64-gen.o $(BUILD_LIB_DEPS) $(AM_V_CCLD)$(LINK_FOR_BUILD) ia64-gen.o $(BUILD_LIBS) diff --git a/opcodes/Makefile.in b/opcodes/Makefile.in index 581747e..fe4539d 100644 --- a/opcodes/Makefile.in +++ b/opcodes/Makefile.in @@ -1527,18 +1527,20 @@ i386-gen$(EXEEXT_FOR_BUILD): i386-gen.o $(BUILD_LIB_DEPS) i386-gen.o: i386-gen.c i386-opc.h $(srcdir)/../include/opcode/i386.h \ $(INCDIR)/ansidecl.h $(INCDIR)/getopt.h $(INCDIR)/hashtab.h \ $(INCDIR)/libiberty.h $(INCDIR)/opcode/i386.h $(INCDIR)/safe-ctype.h \ - config.h i386-opc.h sysdep.h + config.h sysdep.h $(COMPILE_FOR_BUILD) -c $(srcdir)/i386-gen.c -$(srcdir)/i386-tbl.h: $(srcdir)/i386-init.h - @echo $@ - -$(srcdir)/i386-init.h: @MAINT@ i386-gen$(EXEEXT_FOR_BUILD) i386-opc.tbl i386-reg.tbl i386-opc.h - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) - \ +# i386-gen will generate both headers in one go. Use a pattern rule to properly +# express this, with the inner dash ('-') arbitrarily chosen to be the stem. +$(srcdir)/i386%tbl.h $(srcdir)/i386%init.h: @MAINT@ i386-gen$(EXEEXT_FOR_BUILD) i386-opc.tbl i386-reg.tbl i386-opc.h + $(AM_V_GEN)$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) - \ < $(srcdir)/i386-opc.tbl \ | ./i386-gen$(EXEEXT_FOR_BUILD) --srcdir $(srcdir) i386-opc.lo: $(srcdir)/i386-tbl.h +# While not really a dependency, specify i386-init.h here as well to make sure +# it is generated even if i386-tbl.h is present and up-to-date. +i386-opc.lo: $(srcdir)/i386-init.h ia64-gen$(EXEEXT_FOR_BUILD): ia64-gen.o $(BUILD_LIB_DEPS) $(AM_V_CCLD)$(LINK_FOR_BUILD) ia64-gen.o $(BUILD_LIBS) |