# Makefile for FUZZ

DEFINES = -DDEBUG -DANSI -DASSUME
FUZZOBJS = zparse.o zscan.o param.o main.o spec.o type.o frame.o dict.o \
        sched.o pretty.o error.o expr.o alloc.o unify.o schema.o dump.o

all: fuzz fuzzlib

fuzz: $(FUZZOBJS)
    link -AIF $(FUZZOBJS) C:o.stubs -Output fuzz

zparse.c : y.zparse
    bison -dv -y zparse.y
    rename c.y/tab c.zparse
    rename h.y/tab h.symbol
    delete y/outout

zscan.c : zscan.l
    flex -s --nounistd zscan.l
    rename c.lex/yy c.zscan

fuzzlib : symdef.c pl.fuzzlib fuzzlib.x minilib.x opdef.x symbol.h
    cc -E $(DEFINES) symdef > i.symdef
    perl fuzzlib.pl x.fuzzlib > fuzzlib
    perl fuzzlib.pl x.minilib > minilib
    delete i.symdef

.SUFFIXES: .o .c
.c.o:; cc -c $(DEFINES) -IC: c.$* -o $@
