summaryrefslogtreecommitdiff
path: root/Makefile.in
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2007-09-12 01:29:43 +0000
committerH. Peter Anvin <hpa@zytor.com>2007-09-12 01:29:43 +0000
commit4169a47bd9daba2eb03d6c435722f1bb0bb6f52c (patch)
treeedc9826eed78c333119a5ad3083aa455f98a66da /Makefile.in
parentcdea6f96b69a31e7d9294ac9b7f9f1167f722ed8 (diff)
downloadnasm-4169a47bd9daba2eb03d6c435722f1bb0bb6f52c.tar.gz
nasm-4169a47bd9daba2eb03d6c435722f1bb0bb6f52c.tar.bz2
nasm-4169a47bd9daba2eb03d6c435722f1bb0bb6f52c.zip
Use a perfect hash to look up preprocessor directives
Use a perfect hash to look up preprocessor directives, and generate the preprocessor directive list automatically.
Diffstat (limited to 'Makefile.in')
-rw-r--r--Makefile.in27
1 files changed, 18 insertions, 9 deletions
diff --git a/Makefile.in b/Makefile.in
index 2e3ed87..1804507 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -57,7 +57,8 @@ NASM = nasm.$(O) nasmlib.$(O) float.$(O) insnsa.$(O) assemble.$(O) \
output/outelf32.$(O) output/outelf64.$(O) \
output/outobj.$(O) output/outas86.$(O) output/outrdf2.$(O) \
output/outdbg.$(O) output/outieee.$(O) output/outmacho.$(O) \
- preproc.$(O) listing.$(O) eval.$(O) stdscan.$(O) tokhash.$(O)
+ preproc.$(O) pptok.$(O) \
+ listing.$(O) eval.$(O) stdscan.$(O) tokhash.$(O)
NDISASM = ndisasm.$(O) disasm.$(O) sync.$(O) nasmlib.$(O) insnsd.$(O)
@@ -112,16 +113,22 @@ regvals.c: regs.dat regs.pl
regs.h: regs.dat regs.pl
$(PERL) $(srcdir)/regs.pl h $(srcdir)/regs.dat > regs.h
-# Token hash
+# Assembler token hash
tokhash.c: insns.dat regs.dat tokens.dat tokhash.pl perllib/phash.ph
$(PERL) $(srcdir)/tokhash.pl $(srcdir)/insns.dat $(srcdir)/regs.dat \
$(srcdir)/tokens.dat > tokhash.c
+# Preprocessor token hash
+pptok.h: pptok.dat pptok.pl perllib/phash.ph
+ $(PERL) $(srcdir)/pptok.pl h $(srcdir)/pptok.dat pptok.h
+pptok.c: pptok.dat pptok.pl perllib/phash.ph
+ $(PERL) $(srcdir)/pptok.pl c $(srcdir)/pptok.dat pptok.c
+
# This target generates all files that require perl.
# This allows easier generation of distribution (see dist target).
PERLREQ = macros.c insnsa.c insnsd.c insnsi.h insnsn.c \
regs.c regs.h regflags.c regdis.c regvals.c tokhash.c \
- version.h version.mac
+ version.h version.mac pptok.h pptok.c
perlreq: $(PERLREQ)
install: nasm$(X) ndisasm$(X)
@@ -200,8 +207,8 @@ alldeps: perlreq
# @object-ending: ".$(O)"
# @path-separator: "/"
#-- Everything below is generated by mkdep.pl - do not edit --#
-assemble.$(O): assemble.c preproc.h insns.h regs.h regflags.c config.h \
- version.h nasmlib.h nasm.h regvals.c assemble.h insnsi.h
+assemble.$(O): assemble.c preproc.h insns.h pptok.h regs.h regflags.c \
+ config.h version.h nasmlib.h nasm.h regvals.c assemble.h insnsi.h
disasm.$(O): disasm.c insns.h sync.h regdis.c regs.h config.h regs.c \
version.h nasm.h insnsn.c names.c insnsi.h disasm.h
eval.$(O): eval.c labels.h eval.h regs.h config.h version.h nasmlib.h nasm.h
@@ -213,11 +220,11 @@ labels.$(O): labels.c regs.h config.h version.h nasmlib.h nasm.h
listing.$(O): listing.c regs.h config.h version.h nasmlib.h nasm.h listing.h
macros.$(O): macros.c
names.$(O): names.c regs.c insnsn.c
-nasm.$(O): nasm.c labels.h preproc.h insns.h parser.h eval.h regs.h \
+nasm.$(O): nasm.c labels.h preproc.h insns.h parser.h eval.h pptok.h regs.h \
outform.h config.h version.h nasmlib.h nasm.h stdscan.h assemble.h insnsi.h \
listing.h
-nasmlib.$(O): nasmlib.c insns.h regs.h config.h regs.c version.h nasmlib.h \
- nasm.h insnsn.c names.c insnsi.h
+nasmlib.$(O): nasmlib.c insns.h regs.h config.h version.h nasmlib.h nasm.h \
+ insnsi.h
ndisasm.$(O): ndisasm.c insns.h sync.h regs.h config.h version.h nasmlib.h \
nasm.h insnsi.h disasm.h
outform.$(O): outform.c regs.h config.h outform.h version.h nasm.h
@@ -247,7 +254,9 @@ output/outrdf2.$(O): output/outrdf2.c rdoff/rdoff.h regs.h outform.h \
config.h version.h nasmlib.h nasm.h
parser.$(O): parser.c insns.h parser.h float.h regs.h regflags.c config.h \
version.h nasmlib.h nasm.h stdscan.h insnsi.h
-preproc.$(O): preproc.c macros.c regs.h config.h version.h nasmlib.h nasm.h
+pptok.$(O): pptok.c
+preproc.$(O): preproc.c preproc.h macros.c pptok.h regs.h config.h version.h \
+ nasmlib.h nasm.h
regdis.$(O): regdis.c
regflags.$(O): regflags.c
regs.$(O): regs.c