# Copyright (C) 1996 Buntarou Shizuki(shizuki@is.titech.ac.jp)

include $(AMULET_DIR)/bin/Makefile.vars

LEX = flex
RIE = rie -d

EXTRAFLAGS = -DYY_READ_BUF_SIZE=1

SRC1 =	\
	Object.cc \
	ProcRegister.cc \
	debug.cc \
	main.cc \
	rproc.cc \
	runtime.cc \
	subprocess.cc \
	tracer-types.cc \
	unify.cc \
	window.cc \
	my_amulet.cc \
	kl_widgets.cc
SRC2 = 	kl.tab.cc \
	lex.yy.cc

OBJ1 =	\
	Object.o \
	ProcRegister.o \
	debug.o \
	main.o \
	rproc.o \
	runtime.o \
	subprocess.o \
	tracer-types.o \
	unify.o \
	window.o \
	my_amulet.o \
	kl_widgets.o
OBJ2 = 	kl.tab.o \
	lex.yy.o

SRCS = $(SRC1) $(SRC2)
OBJS = $(OBJ1) $(OBJ2)

all : $(TRACER)

install : $(TRACER)
	install -c $(TRACER) $(KLIEG_BINDIR)

clean :
	rm -f $(OBJS)

distclean :
	rm -f *.o *~ $(TRACER)

realclean :
	rm -f *.o *~ $(SRC2) kl.tab.h $(TRACER)

EXTRALIBS =  -lfl -lposix4

$(TRACER) : $(OBJS)
	$(CC) $(OP) $(FLAGS) $(OBJS) \
	-L$(LIB_DIR) -lamulet $(LIBS) $(EXTRALIBS) \
	-o $(TRACER)

lex.yy.cc : kl.l kl.tab.h
	$(LEX) -olex.yy.cc kl.l

kl.tab.h : kl.tab.cc
kl.tab.cc : kl.rie parse.h
	$(RIE) kl.rie
	mv kl.tab.c kl.tab.cc

%.o : %.cc
	$(CC) $(OP) $(FLAGS) $(EXTRAFLAGS) -c $< -o $@

depend: $(SRC2)
	makedepend -I/usr/local/lib/g++-include -I$(AMULET_DIR)/include $(SRCS)
