Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit eba84cd

Browse files
committed
An MSVC makefile to rebuild the grammar files (graminit.[ch]) manually.
Ugly, but it works.
1 parent d396b9c commit eba84cd

1 file changed

Lines changed: 42 additions & 0 deletions

File tree

Parser/grammar.mak

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

0 commit comments

Comments
 (0)