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)
|
---|