summaryrefslogtreecommitdiffstats
path: root/libcpu
diff options
context:
space:
mode:
authorRoland McGrath <[email protected]>2010-08-16 22:48:48 -0700
committerRoland McGrath <[email protected]>2010-08-16 22:48:48 -0700
commit10eb76b853872a4f69e7163ded917d47ee914854 (patch)
tree11777de58c54d085b67c5b326c7fbdf3eb5f6f85 /libcpu
parentf4763cf246af5d001ae0690c7c0f0acaca78fc0c (diff)
Clean up libcpu makefile rules for better error detection.
Diffstat (limited to 'libcpu')
-rw-r--r--libcpu/ChangeLog6
-rw-r--r--libcpu/Makefile.am18
2 files changed, 15 insertions, 9 deletions
diff --git a/libcpu/ChangeLog b/libcpu/ChangeLog
index 9d517fc8..c49f8b9c 100644
--- a/libcpu/ChangeLog
+++ b/libcpu/ChangeLog
@@ -1,3 +1,9 @@
+2010-08-16 Roland McGrath <[email protected]>
+
+ * 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 <[email protected]>
* Makefile.am: Use config/eu.am for common stuff.
diff --git a/libcpu/Makefile.am b/libcpu/Makefile.am
index ca334bb6..c62db6d0 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)