KLONEDIR=/w/klone/kl
KLONEPATH="\"$(KLONEDIR)\""
KLONEBINDIR=/usr/local/bin
KLONEPATH=
LIBS =
FLAGS =-O3 -m68020
C_COMPILER= gcc
DEFINES=
LFLAGS =
POSTPROCESSING = :

# Copyright 1989-91 GROUPE BULL -- See license conditions in file COPYRIGHT
#
#			      ###################
#                             ## KLONE  makefile ##
#			      ###################

KLONE_OBJS = \
	kl_atom.o kl_coll.o kl_func.o kl_link.o kl_list.o kl_hash.o \
	kl_number.o kl_string.o kl_stream.o kl_struct.o \
	klmalloc.o klmachine.o klreference.o klgeneric.o klerror.o \
	klregexp.o klos.o klmalloc2.o \
	klclean.o klend.o klerrorh.o klko.o \
	klone.o kly.tab.o kllex.yy.o kltoplevel.o klstp.o

KLONE_SRCS    = klone.c \
	kl_atom.c kl_coll.c kl_func.c kl_link.c kl_list.c kl_hash.c \
	kl_number.c kl_string.c kl_stream.c kl_struct.c \
	klmalloc.c klmachine.c klreference.c klgeneric.c klerror.c \
	klregexp.c klos.c klmalloc2.c \
	klclean.c klend.c klerrorh.c klko.c kltoplevel.c

OBJ = main.o
SRC = main.c

OBJS = $(KLONE_OBJS) $(OBJ)
SRCS = $(KLONE_SRCS) $(SRC)
LIBKLONE = libklone.a

INCLUDE	= 
LIBDIR	= 
KLONECFLAGS = $(DEFINES) $(INCLUDE) 
CFLAGS= -c $(KLONECFLAGS)
REV=
CC= $(C_COMPILER) $(FLAGS)

wi	: $(OBJS)
	$(CC) $(LFLAGS) $(LIBDIR) $(OBJS) -o klone $(LIBS)

all	: klone

$(LIBKLONE) : $(KLONE_OBJS)
	-c:delete $@
	ar clq $@ $(KLONE_OBJS)
	ranlib $@

klone 	: $(LIBKLONE) $(OBJ)
	-c:delete klone
	$(CC) $(LFLAGS) $(LIBDIR) $(OBJ) -o klone $(LIBKLONE) $(LIBS)
	@$(POSTPROCESSING) klone

klone2ic: klone2ic.c
	$(CC) klone2ic.c -o klone2ic
	c:copy klone2ic ram:

klone-ic.h : klone2ic klstartup.kl
	klone2ic KlStartupCode klstartup.kl > klone-ic.h

kl_evalorder: kl_evalorder.c
	$(CC) kl_evalorder.c -o kl_evalorder
	c:copy kl_evalorder ram:

kl_evalorder.h : kl_evalorder
	kl_evalorder >kl_evalorder.h

bg	: 
	trap "" 1;make -k >LOG 2>&1&

depend: 
	makedep -s "# DO NOT DELETE" $(KLONECFLAGS) $(SRCS)

doc	:
	cd doc; make

lint	: $(SRCS) makefile # was: -axz
	lint -hz -DLINT $(KLONECFLAGS) $(SRCS)  2>&1 |\
fgrep -v ': warning:  long assignment may lose accuracy' |\
fgrep -v ': warning: questionable conversion of function pointer' \
>lint

LINT	: $(SRCS) makefile 
	lint -hvz $(KLONECFLAGS) $(SRCS)  2>&1 |\
fgrep -v ': warning: long assignment may lose accuracy' |\
fgrep -v ': warning: questionable conversion of function pointer' \
>lint

clean:
	rm -f *.o lex.yy.c kly.tab.c makefile klone_cc

dir:
	./klone_util dir ${DIR}

sdir:
	./klone_util sdir ${DIR}

install: libklone.a klone
	-mkdir $(KLONEDIR)
	cp klone $(KLONEBINDIR)
	cp -r kl $(KLONEDIR)

# DO NOT DELETE

klone.o: INTERN.h klone.h klmachine.h EXTERN.h kl_atom.h kl_coll.h kl_list.h
klone.o: kl_func.h kl_number.h kl_string.h kl_hash.h kl_stream.h
klone.o: kl_struct.h
kl_atom.o: EXTERN.h klone.h klmachine.h kl_coll.h kl_number.h kl_list.h
kl_atom.o: kl_string.h kl_stream.h INTERN.h kl_atom.h kl_func.h klversion.h
kl_coll.o: EXTERN.h klone.h klmachine.h kl_number.h kl_atom.h kl_list.h
kl_coll.o: kl_string.h kl_stream.h kl_func.h INTERN.h kl_coll.h
kl_func.o: EXTERN.h klone.h klmachine.h kl_atom.h kl_string.h kl_number.h
kl_func.o: kl_list.h kl_hash.h kl_stream.h INTERN.h kl_func.h
kl_func.o: kl_evalorder.h
kl_link.o: EXTERN.h klone.h klmachine.h kl_number.h kl_atom.h INTERN.h
kl_link.o: kl_link.h
kl_list.o: EXTERN.h klone.h klmachine.h kl_number.h kl_atom.h kl_coll.h
kl_list.o: kl_func.h kl_string.h kl_hash.h klgeneric.h kl_stream.h INTERN.h
kl_list.o: kl_list.h
kl_hash.o: EXTERN.h klone.h klmachine.h kl_number.h kl_atom.h kl_list.h
kl_hash.o: INTERN.h kl_hash.h
kl_number.o: EXTERN.h klone.h klmachine.h kl_atom.h kl_string.h kl_list.h
kl_number.o: INTERN.h kl_number.h
kl_string.o: EXTERN.h klone.h klmachine.h kl_number.h kl_atom.h kl_list.h
kl_string.o: klgeneric.h INTERN.h kl_string.h klregexp.h
kl_stream.o: EXTERN.h klone.h klmachine.h kl_number.h kl_atom.h kl_list.h
kl_stream.o: kl_string.h kl_func.h klgeneric.h INTERN.h kl_stream.h
kl_struct.o: EXTERN.h klone.h klmachine.h kl_number.h kl_atom.h kl_string.h
kl_struct.o: kl_list.h kl_hash.h kl_stream.h INTERN.h kl_struct.h
klmalloc.o: EXTERN.h klone.h klmachine.h
klmachine.o: klmachine.h
klreference.o: EXTERN.h klone.h klmachine.h
klgeneric.o: EXTERN.h klone.h klmachine.h kl_atom.h kl_number.h kl_list.h
klgeneric.o: kl_func.h kl_hash.h kl_string.h INTERN.h klgeneric.h
klerror.o: EXTERN.h klone.h klmachine.h kl_atom.h kl_string.h kl_stream.h
klerror.o: kl_number.h kl_list.h kl_func.h
klregexp.o: klregexp.h klmachine.h
klos.o: EXTERN.h klone.h klmachine.h kl_atom.h kl_number.h kl_list.h kl_func.h
klos.o: kl_string.h kl_hash.h kl_struct.h INTERN.h
main.o: EXTERN.h klone.h klmachine.h kl_atom.h kl_coll.h kl_func.h kl_list.h
main.o: kl_number.h kl_string.h kl_stream.h klone-ic.h
