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

#TRACER = tracer
#KLIC_PATH = /usr/local/bin/klic
#KLIEG_BINDIR = /tmp
#AMULET_DIR = /usr/local/lib/amulet-2.0
#AMULET_DIR = /home/shizuki/work/amulet

include $(AMULET_DIR)/bin/Makefile.vars

#CC = g++ # -V 2.6.3 -b sparc-sun-solaris2.4
CCFLAGS = -DHAVE_PTY -DDEBUG -g -DGCC -I$(AMULET_DIR)/include # -fPIC
LEX = flex
RIE = rie -d

EXTRAFLAGS = -DYY_READ_BUF_SIZE=1 -DKLIC_PROGRAM=\"$(KLIC_PATH)\"
#EXTRALDFLAGS = -R/usr/openwin/lib \
#	 -L/usr/openwin/lib -R$(AMULET_DIR)/lib  -L$(AMULET_DIR)/lib

SRC1 =	\
	PopUpMenu.cc \
	ZoomingText.cc \
	CZoom.cc \
	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 =	\
	PopUpMenu.o \
	ZoomingText.o \
	CZoom.o \
	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 = -lposix4 -lfl -lsocket -lnsl #-lX11

$(TRACER) : $(OBJS)
	$(CC) $(OP) $(FLAGS) $(OBJS) \
	$(EXTRALDFLAGS) $(AM_CFLAGS) -L$(LIB_DIR) -lamulet $(AM_LIBS) $(LIBS) $(EXTRALIBS) \
	-o $(TRACER)
#$(TRACER) : $(OBJS)
#	$(CC) $(OP) $(FLAGS) $(OBJS) \
#	$(EXTRALDFLAGS) -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 $@
%.o : %.cc
	$(CC) $(OP) $(CCFLAGS) $(EXTRAFLAGS) -c $< -o $@

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

# eof
