*** empty log message ***
[minix3.git] / commands / flex-2.5.4 / MISC / MSDOS / MSC70.make
blob5980f3a6111fc6fc251ceee3b03f1f8c4b7e4e2a
2 # make file for "flex" tool
3 # @(#) $Header: /usr/fsys/odin/a/vern/flex/RCS/Makefile,v 2.9 90/05/26 17:28:44
4 vern Exp $ (LBL)
6 # the first time around use "make f_flex"
8 # This makefile is specific for Microsoft's C/C++ compiler (v7), nmake and
9 # lib
10 # - Paul Stuart, Jan 93 (pjs@scammell.ecos.tne.oz.au)
14 SKELFLAGS = -DDEFAULT_SKELETON_FILE=\"c:/src/flex/flex.skl\"
15 CFLAGS = -nologo -AL -W2 -F 8000 -Ox -Gt16000 -DMS_DOS -DUSG
16 LDFLAGS = /nologo /NOI /BATCH /ONERROR:NOEXE /STACK:8000
17 FLEX_FLAGS = -ist8 -Sflex.skl
19 FLEX = .\flex.exe
20 CC = cl
21 YACC = c:\lib\byacc
22 MAKE = nmake /nologo
25 # break obj-list into two because of 128 character command-line limit of
26 # Microsoft's link and lib utilities.
28 FLEXOBJS1 = \
29 ccl.obj \
30 dfa.obj \
31 ecs.obj \
32 gen.obj \
33 main.obj \
34 misc.obj \
35 nfa.obj \
36 parse.obj
38 FLEXOBJS2 = \
39 scan.obj \
40 sym.obj \
41 tblcmp.obj \
42 yylex.obj
44 FLEX_C_SOURCES = \
45 ccl.c \
46 dfa.c \
47 ecs.c \
48 gen.c \
49 main.c \
50 misc.c \
51 nfa.c \
52 parse.c \
53 scan.c \
54 sym.c \
55 tblcmp.c \
56 yylex.c
58 FLEX_LIB_OBJS = \
59 libmain.obj
62 all : flex.exe
65 # lib is used to get around the 128 character command-line limit of 'link'.
67 flex.exe : $(FLEXOBJS1) $(FLEXOBJS2)
68 lib /nologo tmplib $(FLEXOBJS1);
69 link $(LDFLAGS) $(FLEXOBJS2),$*.exe,,tmplib;
70 del tmplib.lib
72 f_flex:
73 copy initscan.c scan.c
74 touch scan.c
75 @echo compiling first flex
76 $(MAKE) flex.exe
77 del scan.c
78 @echo using first flex to generate final version...
79 $(MAKE) flex.exe
82 # general inference rule
84 .c.obj:
85 $(CC) -c $(CFLAGS) $*.c
87 parse.h parse.c : parse.y
88 $(YACC) -d parse.y
89 @mv y_tab.c parse.c
90 @mv y_tab.h parse.h
92 scan.c : scan.l
93 $(FLEX) $(FLEX_FLAGS) $(COMPRESSION) scan.l >scan.c
96 scan.obj : scan.c parse.h flexdef.h
98 main.obj : main.c flexdef.h
99 $(CC) $(CFLAGS) -c $(SKELFLAGS) main.c
101 ccl.obj : ccl.c flexdef.h
102 dfa.obj : dfa.c flexdef.h
103 ecs.obj : ecs.c flexdef.h
104 gen.obj : gen.c flexdef.h
105 misc.obj : misc.c flexdef.h
106 nfa.obj : nfa.c flexdef.h
107 parse.obj : parse.c flexdef.h
108 sym.obj : sym.c flexdef.h
109 tblcmp.obj : tblcmp.c flexdef.h
110 yylex.obj : yylex.c flexdef.h
113 clean :
114 del *.obj
115 del *.map