# Makefile for kvik.
# Written by Asher Hoskins, 29/10/94

# C compiler:
CC = gcc

# C flags:
CFLAGS = -O3

# Object files:
OBJ = kvik.o parse.o compile.o kvikmath.o

# Make main version:
all: kvik libkvik.a

kvik: $(OBJ)
	$(CC) $(CFLAGS) -o kvik $(OBJ)

libkvik.a: kvikrt.o kvikmath.o kviksl.o
	ar cr libkvik.a kvikrt.o kvikmath.o kviksl.o
	ranlib libkvik.a

# Header file dependencies
kvik.o: compile.h
parse.o: parse.h kvikmath.h
compile.o: compile.h parse.h
kvikmath.o: kvikmath.h
kvikrt.o: kvikrt.h kvikmath.h kvik_obj_types.h parse.h
kviksl.o: kvikmath.h kvik_obj_types.h kvikrt.h kviksl.h

# Make clean (remove object files and core dumps)
clean:
	rm -f *.o core

# Make bare (remove executables and libraries as well)
bare:
	rm -f *.o core a.out kvik libkvik.a

# Copy files to the kviksrc directory.
install:
	cp kvik_obj_header.h kvik_obj_tail.h kvik_obj_types.h kc kvik libkvik.a ../kviksrc
