115 lines
2.1 KiB
Makefile
115 lines
2.1 KiB
Makefile
#
|
|
# 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
|