Skip to content

Commit

Permalink
x86: add generated tables dependency check to gas
Browse files Browse the repository at this point in the history
As requested by H.J., just for the sake of people potentially building
in gas/ alone, add a check that the generated files in opcodes/ are
actually up-to-date. Personally I think this should at best be a
warning, but I can see how this may not be easily noticable among other
make output (depending in particular on the verbosity level).
  • Loading branch information
jbeulich authored and ouuleilei-bot committed Nov 28, 2022
1 parent ccd9cda commit 6564582
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 0 deletions.
11 changes: 11 additions & 0 deletions gas/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -448,6 +448,17 @@ development.exp: $(BFDDIR)/development.sh
$(EGREP) "(development|experimental)=" $(BFDDIR)/development.sh \
| $(AWK) -F= '{ print "set " $$1 " " $$2 }' > $@

config/tc-i386.o: $(srcdir)/../opcodes/i386-init.h $(srcdir)/../opcodes/i386-tbl.h

i386_tbl_deps = $(srcdir)/../opcodes/i386-opc.tbl \
$(srcdir)/../opcodes/i386-reg.tbl \
$(srcdir)/../opcodes/i386-gen.c $(srcdir)/../opcodes/i386-opc.h

$(srcdir)/../opcodes/i386%init.h $(srcdir)/../opcodes/i386%tbl.h: @MAINT@ $(i386_tbl_deps)
@echo '"$@" is outdated wrt "$?"' >&2
@echo 'Please rebuild from the top level or in $(CURDIR)/../opcodes/' >&2
@false

EXTRA_as_new_SOURCES += config/m68k-parse.y
config/m68k-parse.c: $(srcdir)/config/m68k-parse.y
$(SHELL) $(YLWRAP) $(srcdir)/config/m68k-parse.y y.tab.c $@ -- $(YACCCOMPILE)
Expand Down
11 changes: 11 additions & 0 deletions gas/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -905,6 +905,10 @@ EXTRA_as_new_SOURCES = $(CFILES) $(HFILES) $(TARGET_CPU_CFILES) \
EXPECT = expect
RUNTEST = runtest
RUNTESTFLAGS =
i386_tbl_deps = $(srcdir)/../opcodes/i386-opc.tbl \
$(srcdir)/../opcodes/i386-reg.tbl \
$(srcdir)/../opcodes/i386-gen.c $(srcdir)/../opcodes/i386-opc.h

itbl_test_SOURCES = itbl-parse.y itbl-lex.l
itbl_test_LDADD = itbl-tops.@OBJEXT@ itbl-test.@OBJEXT@ $(GASLIBS) @LEXLIB@

Expand Down Expand Up @@ -2064,6 +2068,13 @@ check-DEJAGNU: site.exp
development.exp: $(BFDDIR)/development.sh
$(EGREP) "(development|experimental)=" $(BFDDIR)/development.sh \
| $(AWK) -F= '{ print "set " $$1 " " $$2 }' > $@

config/tc-i386.o: $(srcdir)/../opcodes/i386-init.h $(srcdir)/../opcodes/i386-tbl.h

$(srcdir)/../opcodes/i386%init.h $(srcdir)/../opcodes/i386%tbl.h: @MAINT@ $(i386_tbl_deps)
@echo '"$@" is outdated wrt "$?"' >&2
@echo 'Please rebuild from the top level or in $(CURDIR)/../opcodes/' >&2
@false
config/m68k-parse.c: $(srcdir)/config/m68k-parse.y
$(SHELL) $(YLWRAP) $(srcdir)/config/m68k-parse.y y.tab.c $@ -- $(YACCCOMPILE)
config/m68k-parse.h: config/m68k-parse.c
Expand Down

0 comments on commit 6564582

Please sign in to comment.