home *** CD-ROM | disk | FTP | other *** search
- #
- # 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
-