summaryrefslogtreecommitdiffstats
path: root/Parser/grammar.mak
diff options
context:
space:
mode:
Diffstat (limited to 'Parser/grammar.mak')
-rw-r--r--Parser/grammar.mak42
1 files changed, 42 insertions, 0 deletions
diff --git a/Parser/grammar.mak b/Parser/grammar.mak
new file mode 100644
index 0000000..bbb83aa
--- /dev/null
+++ b/Parser/grammar.mak
@@ -0,0 +1,42 @@
+# This manages to rebuild graminit.{h, c} under MSVC 6 (Windows), via
+#
+# nmake /f grammar.mak
+#
+# The intermediate files can be nuked afterwards:
+#
+# nmake /f grammar.mak clean
+#
+# I don't understand the maze of preprocessor #define's on Windows, and
+# as a result this requires linking with python22.lib, so it's of no use
+# for bootstrapping (the cause appears to be a useless-- in this
+# particular case --pragma in PC\pyconfig.h, which demands that
+# python22.lib get linked in).
+
+LIBS= ..\PCbuild\python22.lib
+
+CFLAGS= /I ..\Include /I ..\PC /D MS_NO_COREDLL
+
+GRAMMAR_H= ..\Include\graminit.h
+GRAMMAR_C= ..\Python\graminit.c
+GRAMMAR_INPUT= ..\Grammar\Grammar
+
+PGEN= pgen.exe
+
+POBJS= acceler.obj grammar1.obj listnode.obj node.obj parser.obj \
+ parsetok.obj tokenizer.obj bitset.obj metagrammar.obj
+
+PARSER_OBJS= $(POBJS) myreadline.obj
+
+PGOBJS= firstsets.obj grammar.obj pgen.obj printgrammar.obj pgenmain.obj
+
+PGENOBJS= $(POBJS) $(PGOBJS)
+
+$(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT)
+ $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
+
+$(PGEN): $(PGENOBJS)
+ $(CC) $(PGENOBJS) $(LIBS) /Fe$(PGEN)
+
+clean:
+ del *.obj
+ del $(PGEN)