CPPFLAGS= -Wall -g
objects =  Dsim_main.o  Dsim_core.o Dsim_syscall.o Dsim_error.o\
       	   Dsim_decode.o Dsim_elfer.o Dsim_processor.o GetLongOpt.o\
           Dsim_register.o Dsim_instruction.o Dsim_misclib.o\

durvasa : $(objects)
	c++ -Wall -ggdb -o durvasa $(objects) -lelf -lg -lm 

Dsim_main.o    : Dsim_main.cc Dsim_core.h GetLongOpt.h \
                 Dsim_error.h Dsim_global.h \
                 Dsim_register.o 

Dsim_core.o    : Dsim_core.cc Dsim_core.h Dsim_elfer.h \
                 GetLongOpt.h Dsim_global.h \
                 Dsim_types.h Dsim_misclib.h Dsim_error.h

Dsim_syscall.o : Dsim_syscall.cc Dsim_syscall.h

Dsim_decode.o  : Dsim_decode.cc Dsim_decode.h Dsim_instruction.h

GetLongOpt.o   : GetLongOpt.cc GetLongOpt.h

Dsim_error.o   : Dsim_error.cc Dsim_error.h 

Dsim_elfer.o   : Dsim_elfer.cc GetLongOpt.h Dsim_error.h\
                 Dsim_global.h Dsim_types.h

Dsim_processor.o : Dsim_processor.cc Dsim_processor.h Dsim_register.h\
                   Dsim_instruction.h Dsim_core.h\
                   Dsim_error.h Dsim_decode.h

Dsim_misclib.o : Dsim_misclib.cc Dsim_misclib.h Dsim_global.h

Dsim_register.o : Dsim_register.cc Dsim_register.h

Dsim_instruction.o : Dsim_instruction.cc Dsim_types.h

.PHONY : clean
clean :
	-rm durvasa $(objects) 
