| 1 | # This manages to rebuild graminit.{h, c} under MSVC 6 (Windows), via
|
|---|
| 2 | #
|
|---|
| 3 | # nmake /f grammar.mak
|
|---|
| 4 | #
|
|---|
| 5 | # You may also need to copy python23.dll into this directory, or get
|
|---|
| 6 | # it on your search path.
|
|---|
| 7 | #
|
|---|
| 8 | # The intermediate files can be nuked afterwards:
|
|---|
| 9 | #
|
|---|
| 10 | # nmake /f grammar.mak clean
|
|---|
| 11 | #
|
|---|
| 12 | # I don't understand the maze of preprocessor #define's on Windows, and
|
|---|
| 13 | # as a result this requires linking with python23.lib, so it's of no use
|
|---|
| 14 | # for bootstrapping (the cause appears to be a useless-- in this
|
|---|
| 15 | # particular case --pragma in PC\pyconfig.h, which demands that
|
|---|
| 16 | # python23.lib get linked in).
|
|---|
| 17 |
|
|---|
| 18 | LIBS= ..\PCbuild\python25.lib
|
|---|
| 19 |
|
|---|
| 20 | CFLAGS= /I ..\Include /I ..\PC /D MS_NO_COREDLL /D PGEN /MD
|
|---|
| 21 |
|
|---|
| 22 | GRAMMAR_H= ..\Include\graminit.h
|
|---|
| 23 | GRAMMAR_C= ..\Python\graminit.c
|
|---|
| 24 | GRAMMAR_INPUT= ..\Grammar\Grammar
|
|---|
| 25 |
|
|---|
| 26 | PGEN= pgen.exe
|
|---|
| 27 |
|
|---|
| 28 | POBJS= acceler.obj grammar1.obj listnode.obj node.obj parser.obj \
|
|---|
| 29 | parsetok.obj tokenizer.obj bitset.obj metagrammar.obj
|
|---|
| 30 |
|
|---|
| 31 | PARSER_OBJS= $(POBJS) myreadline.obj
|
|---|
| 32 |
|
|---|
| 33 | PGOBJS= firstsets.obj grammar.obj pgen.obj printgrammar.obj pgenmain.obj
|
|---|
| 34 |
|
|---|
| 35 | PGENOBJS= $(POBJS) $(PGOBJS)
|
|---|
| 36 |
|
|---|
| 37 | $(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT)
|
|---|
| 38 | $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
|
|---|
| 39 |
|
|---|
| 40 | $(PGEN): $(PGENOBJS)
|
|---|
| 41 | $(CC) $(PGENOBJS) $(LIBS) /Fe$(PGEN)
|
|---|
| 42 |
|
|---|
| 43 | clean:
|
|---|
| 44 | del *.obj
|
|---|
| 45 | del $(PGEN)
|
|---|