#CC = ../vpot/driver/vpcc.sparc
TOP = ..
CC =g++
LINKER = ld
LINKER_FLAGS = -lm
DEBUG = #-D__SIB_DEBUG__
CFLAGS = -DDISPLAY $(DEBUG) -c -g 
INCLUDE = -I$(TOP)/Include/ -I./Mtadel/ -I./SibDebug/
MTADEL_ADDITIONS = ./Mtadel/mtadel.o ./Mtadel/itoa.o \
		   ./Mtadel/sr/sr.o ./Mtadel/evaluate.o \
		   ./Mtadel/eval/lexer.o ./Mtadel/eval/eval.o \
		   ./Mtadel/symbols/symbol.o ./Mtadel/calculate.o \
		   ./Mtadel/mark.o
SIB_DEBUG_ADDITIONS = ./SibDebug/tracer.o		   
#CC = cc
#CFLAGS = -c -O3

time.bin: time.o input.o path.o lib.o inst.o tree.o depend.o isa.o
	$(CC) -o  time.bin time.o input.o path.o lib.o inst.o tree.o depend.o isa.o $(MTADEL_ADDITIONS) $(SIB_DEBUG_ADDITIONS) $(LINKER_FLAGS)
	cp time.bin $(TOP)/Expts/

lint: time.cpp input.cpp path.cpp lib.cpp inst.cpp tree.cpp depend.cpp driver.cpp
	lint time.cpp input.cpp path.cpp lib.cpp inst.cpp tree.cpp depend.cpp driver.cpp > lint.out

time.o: time.cpp
	$(CC) $(CFLAGS) $(INCLUDE) time.cpp

isa.o: isa.cpp
	$(CC) $(CFLAGS) $(INCLUDE) isa.cpp

input.o: input.cpp
	$(CC) $(CFLAGS) $(INCLUDE) input.cpp 

path.o: path.cpp
	$(CC) $(CFLAGS) $(INCLUDE) path.cpp 

lib.o: lib.cpp inst.o
	$(CC) $(CFLAGS) $(INCLUDE) lib.cpp

inst.o: inst.cpp
	$(CC) $(CFLAGS) $(INCLUDE) inst.cpp

tree.o: tree.cpp 
	$(CC) $(CFLAGS) $(INCLUDE) tree.cpp

depend.o: depend.cpp
	$(CC) $(CFLAGS) $(INCLUDE) depend.cpp

eval.o: eval.cpp
	$(CC) $(INCLUDE) -DDEBUG -DDISPLAY -c -g eval.cpp
#	$(CC) $(CFLAGS) eval.cpp

clean:
	rm -rf *.o *~ time.bin
	rm -rf $(TOP)/Expts/time.bin
