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