equal
deleted
inserted
replaced
|
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) |