# DPRSim/CodeModules
CC = g++
CFLAGS = -g -Wall -I . -I/usr/local/include -I /usr0/local/include -I .. -I ../ode-0.5/include -I../sqlite/ -L /usr/local/lib -L ../ode-0.5/lib -L ../sqlite/ -I ./Debugging -DDISABLE_DEBUGGING
LIB = -lpthread -lsqlite

GHEADERS = ../GlobalConstants.hxx

COMOSRCS = TestMessaging.cxx Hierarchy.cxx \
           DPRHierarchy.cxx GradientHierarchy.cxx \
           Flicker.cxx \
	   RemoteFeatureTest.cxx \
	   TestAggregation.cxx \
	   Life.cxx Color.cxx \
	   HexRotate.cxx Ellipsis.cxx \
	   CatomStick.cxx \
	   XYMelt.cxx Sculpture.cxx \
	   BoundingBox.cxx \
	   SandCast.cxx Brownian.cxx \
	   Sprinkle.cxx Snowflake.cxx MagicMoveTest.cxx \
	   CatomCamera.cxx TestDPRLine.cxx \
	   RandomValue.cxx GradientField.cxx LeaderElection.cxx
# 	   SpanningTree.cxx STree.cxx LockInfo.cxx HoleMotion.cxx \
# 	   DConsensus.cxx ShapeMotion.cxx SoftwareTimer.cxx

HSRCS = $(COMOSRCS) $(COMOHELP)
SRCS  = $(HSRCS) $(UNSRCS)

OBJS =  $(SRCS:cxx=o)

HDRS =  $(HSRCS:cxx=hxx)

all: codemodules

codemodules: $(OBJS) $(HDRS) $(GHEADERS)
	(cd Debugging; make)
	@echo "compiled"

%.o : %.cxx %.hxx
	@rm -f $*.o
	./Debugging/InstrumentCXX.rb $*.cxx $*-Instrumented.cxx
	$(CC) $(CFLAGS) -c -g $*-Instrumented.cxx -o $*.o
#	@rm -f $*-Instrumented.cxx

clean:
	(cd Debugging; make clean)
	rm -f *.o  *~ *.dat *.idx *.a a.out

depend:	$(SRCS)
	$(CC) $(CFLAGS) -M $(SRCS) > Makefile.deps

Makefile.deps:	depend
include Makefile.deps
