#
# Marlais Makefile
#

#
# initialization file
#
INIT_FILE=/jade1/ccg/brent/dylan/marlais-0.2a/init.dyl
INIT_FILE_FLAG = -DINIT_FILE="\"$(INIT_FILE)\""

#
# use compact object representation (you might want
# to comment this out and completely remake when
# debugging)
#
SMALL_OBJECTS_FLAG=-DSMALL_OBJECTS

CC=cc
CFLAGS=-O $(INIT_FILE_FLAG) $(SMALL_OBJECTS_FLAG) $(MISC_FLAGS)
LIBS=-lm

OBJS = 	alloc.o \
	apply.o \
	array.o \
	boolean.o \
	character.o \
	class.o \
	deque.o \
	error.o \
	env.o \
	eval.o \
	file.o \
	function.o \
	keyword.o \
	list.o \
	main.o \
	misc.o \
	number.o \
	object.o \
	prim.o \
	print.o \
	read.o \
	slot.o \
	stream.o \
	string.o \
	symbol.o \
	syntax.o \
	table.o \
	values.o \
	vector.o

GCOBJS = gc/gc.a

marlais: $(OBJS) $(GCOBJS)
	$(CC) $(CFLAGS) -o marlais $(OBJS) $(GCOBJS) $(LIBS)

gc/gc.a:
	cd gc; make

clean:
	rm -rf $(OBJS)

real_clean:
	rm -rf $(OBJS)
	cd gc; make clean

