#
#	(C)1993 Institute for New Generation Computer Technology
#        (Read COPYRIGHT for detailed information.)
#

LIBDIR = $(KLICDIR)/runtime
COMPILERDIR =$(KLICDIR)/compiler
INCLUDEDIR=$(KLICDIR)/include

CC = gcc -pipe
LD = $(CC)
OPTFLAGS = -O2 -fomit-frame-pointer
DEBUFLAGS = -g
PROFFLAGS =
DEFINITIONS = -DGCC -DCARCDR -DCSUSPS #-DTRACE -DGCDEBUG -DCOMPACTCODE 
CFLAGS = $(DEFINITIONS) $(OPTFLAGS) $(PROFFLAGS) $(DEBUGFLAGS) \
	-I. -Iklic -I$(INCLUDEDIR)
LDFLAGS = -L$(LIBDIR)
LIBRARIES = -lklic
LIBRARIEST = -lklict
.SUFFIXES: $(SUFFIXES) .kl1
KL1C = $(COMPILERDIR)/kl1cmp
MAKEPARAM = -f $(KLICDIR)/KLICmakefile KLICDIR=$(KLICDIR)

ARCHIVE = $(LIBDIR)/libklic.a
ARCHIVET =  $(LIBDIR)/libklic.a

DATABASE = atom.o funct.o

HEADERS = $(INCLUDEDIR)/klic/alloc.h \
	$(INCLUDEDIR)/klic/control.h \
	$(INCLUDEDIR)/klic/index.h \
	$(INCLUDEDIR)/klic/struct.h \
	$(INCLUDEDIR)/klic/copier_body.h \
	$(INCLUDEDIR)/klic/param.h \
	$(INCLUDEDIR)/klic/timing.h \
	$(INCLUDEDIR)/klic/basic.h \
	$(INCLUDEDIR)/klic/primitives.h \
	$(INCLUDEDIR)/klic/unify.h \
	$(INCLUDEDIR)/klic/options.h \
	$(INCLUDEDIR)/klic/nametable.h

%-t:	%.o
	make $(MAKEPARAM) $(DATABASE)
	$(LD) $(LDFLAGS) -o $*-t $*.o $(DATABASE) $(LIBRARIEST)

.kl1:
	make $(MAKEPARAM) $*.c $*

.c:
	make $(MAKEPARAM) $*.o $*

.o:	$(DATABASE)
	make $(MAKEPARAM) $(DATABASE)
	$(LD) $(LDFLAGS) -o $* $*.o $(DATABASE) $(LIBRARIES)

.kl1.c:	$*.kl1
	$(KL1C) $*

.c.o:	$*.c $(HEADERS)
	$(CC) $(CFLAGS) -c $*.c

lint:	$(SRCS) $(HEADERS)
	lint $(DEFINITIONS) $(SRCS)

protoize: $(SRCS) $(HEADERS)
	protoize -c $(DEFINITIONS) $(SRCS)

.c.s: ;	$(CC) $(CFLAGS) -S $*.c

# DO NOT DELETE THIS LINE -- make depend depends on it.
