CFLAGS = -mh -G -r -O -DMSDOS -DUSG -DMS_DOS
CC     = tcc
FLEX_FLAGS = -ist8 -Sflex.skl
YACC = byacc
SKEL_FLAGS = -DDEFAULT_SKELETON_FILE="c:/lib/flex.skl"
FLEX = .\flex

FLEXOBJS = ccl.obj dfa.obj ecs.obj gen.obj main.obj misc.obj nfa.obj \
	   parse.obj 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

.c.obj:
	$(CC) $(CFLAGS) -c $*.c


flex.exe : $(FLEXOBJS)
	$(CC) $(CFLAGS) -eflex @flex.lnk

first_flex:
	copy initscan.c scan.c
	make flex.exe

parse.h parse.c : parse.y
	$(YACC) -d parse.y
	copy y_tab.c parse.c
	copy y_tab.h parse.h

scan.c : scan.l
	$(FLEX) $(FLEX_FLAGS) scan.l >scan.c

scan.obj : scan.c parse.h flexdef.h

main.obj : main.c flexdef.h
	$(CC) $(CFLAGS) -c $(SKEL_FLAGS) 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
