DEBUG_OBJECTS = Debug/EntropyBase.o Debug/EntropyPackets.o Debug/EntropyRoom.o
RELEASE_OBJECTS = Release/EntropyBase.o Release/EntropyPackets.o Release/EntropyRoom.o
DEBUG_OUTPUT = Debug/Entropy.so
RELEASE_OUTPUT = Release/Entropy.so
INCLUDES = -I../../include
LIBRARY = /usr/lib/dmfc.so -lm
DEFINES = -D__LINUX__ -Imacros.h
CC = gcc
DCFLAGS = -fPIC -g
RCFLAGS = -fPIC -O

debug : debug_objects
	$(CC) -shared -ldl -g -o $(DEBUG_OUTPUT) $(DEBUG_OBJECTS) $(LIBRARY)

release : release_objects
	$(CC) -shared -ldl -O -o $(RELEASE_OUTPUT) $(RELEASE_OBJECTS) $(LIBRARY)

clean :
	rm *.o *~ Debug/*.o Debug/*~ Debug/*.so Release/*.o Release/*~ Release/*.so

debug_objects :
	$(CC) $(DCFLAGS) -c EntropyBase.cpp -o Debug/EntropyBase.o $(INCLUDES) $(DEFINES)
	$(CC) $(DCFLAGS) -c EntropyPackets.cpp -o Debug/EntropyPackets.o $(INCLUDES) $(DEFINES)
	$(CC) $(DCFLAGS) -c EntropyRoom.cpp -o Debug/EntropyRoom.o $(INCLUDES) $(DEFINES)

release_objects :
	$(CC) $(RCFLAGS) -c EntropyBase.cpp -o Release/EntropyBase.o $(INCLUDES) $(DEFINES)
	$(CC) $(RCFLAGS) -c EntropyPackets.cpp -o Release/EntropyPackets.o $(INCLUDES) $(DEFINES)
	$(CC) $(RCFLAGS) -c EntropyRoom.cpp -o Release/EntropyRoom.o $(INCLUDES) $(DEFINES)
