From 10eb76b853872a4f69e7163ded917d47ee914854 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Mon, 16 Aug 2010 22:48:48 -0700 Subject: [PATCH] Clean up libcpu makefile rules for better error detection. --- libcpu/ChangeLog | 6 ++++++ libcpu/Makefile.am | 18 +++++++++--------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/libcpu/ChangeLog b/libcpu/ChangeLog index 9d517fc8f..c49f8b9c6 100644 --- a/libcpu/ChangeLog +++ b/libcpu/ChangeLog @@ -1,3 +1,9 @@ +2010-08-16 Roland McGrath + + * Makefile.am (%_defs): New pattern rule. + (%_dis.h, %.mnemonics): Define as pattern rules using %_defs input. + (CLEANFILES): Include all those files. + 2010-02-15 Roland McGrath * Makefile.am: Use config/eu.am for common stuff. diff --git a/libcpu/Makefile.am b/libcpu/Makefile.am index ca334bb6f..c62db6d01 100644 --- a/libcpu/Makefile.am +++ b/libcpu/Makefile.am @@ -43,15 +43,15 @@ i386_gendis_SOURCES = i386_gendis.c i386_lex.l i386_parse.y i386_disasm.o: i386.mnemonics i386_dis.h x86_64_disasm.o: x86_64.mnemonics x86_64_dis.h i386_disasm.c -i386_dis.h: i386_gendis $(srcdir)/defs/i386 - m4 -Di386 -DDISASSEMBLER $(srcdir)/defs/i386 | ./i386_gendis - > $@ -x86_64_dis.h: i386_gendis $(srcdir)/defs/i386 - m4 -Dx86_64 -DDISASSEMBLER $(srcdir)/defs/i386 | ./i386_gendis - > $@ +%_defs: $(srcdir)/defs/i386 + m4 -D$* -DDISASSEMBLER $< > $@ -i386.mnemonics x86_64.mnemonics: %.mnemonics: $(srcdir)/defs/i386 - m4 -D$(@:.mnemonics=) -DDISASSEMBLER $^ \ - | sed '1,/^%%/d;/^#/d;/^[[:space:]]*$$/d;s/[^:]*:\([^[:space:]]*\).*/MNE(\1)/;s/{[^}]*}//g;/INVALID/d' \ - | sort -u > $@ +%_dis.h: %_defs i386_gendis + ./i386_gendis $< > $@ + +%.mnemonics: %_defs + sed '1,/^%%/d;/^#/d;/^[[:space:]]*$$/d;s/[^:]*:\([^[:space:]]*\).*/MNE(\1)/;s/{[^}]*}//g;/INVALID/d' \ + $< | sort -u > $@ i386_lex_no_Werror = yes @@ -69,4 +69,4 @@ noinst_HEADERS = memory-access.h i386_parse.h i386_data.h EXTRA_DIST = defs/i386 -CLEANFILES += i386.mnemonics i386_dis.h x86_64.mnemonics x86_64_dis.h +CLEANFILES += $(foreach P,i386 x86_64,$P_defs $P.mnemonics $P_dis.h) -- 2.47.2