# Makefile for the Caml Light lexer generator

CAMLCOMP=../camlrun ../camlcomp
CAMLLINK=../camlrun ../camllink
CAMLLEX=../camlrun ../camllex
CAMLYACC=../camlyacc -s

COMPFLAGS=-O fast -stdlib ../lib
LINKFLAGS=-g -stdlib ../lib

OBJS=syntax.zo scan_aux.zo scanner.zo gram_aux.zo grammar.zo \
  lexgen.zo output.zo main.zo

all: camllex

camllex: $(OBJS)
	$(CAMLLINK) $(LINKFLAGS) -o camllex stdlib.zo -files &&!
$(OBJS)
!

clean:
	del *.zi
	del *.zo
	del camllex

scratch: clean
	del grammar.ml
	del grammar.mli
	del scanner.ml

install:
	..\tools\installb camllex $(BINDIR)\camllex.exe

grammar.ml grammar.mli: grammar.mly
	$(CAMLYACC) grammar.mly

scanner.ml: scanner.mll
	$(CAMLLEX) scanner.mll

.ml.zo:
	$(CAMLCOMP) $(COMPFLAGS) {$< }

.mli.zi:
	$(CAMLCOMP) $(COMPFLAGS) {$< }

### DO NOT DELETE THIS LINE
grammar.zi: syntax.zo 
gram_aux.zo: syntax.zo 
grammar.zo: grammar.zi gram_aux.zo syntax.zo 
lexgen.zo: syntax.zo 
main.zo: lexgen.zo output.zo grammar.zi scanner.zo syntax.zo 
output.zo: syntax.zo 
scanner.zo: syntax.zo scan_aux.zo grammar.zi 
