C++ = /apps/Linux/gcc322/bin/g++322

NO_TRANS_LINK = 

CFLAGS		= -O3 -pipe -mcpu=pentiumpro -D_BOOL -DLINUX -Wno-deprecated -Wno-non-template-friend
C++FLAGS	= $(CFLAGS) $(WARNFLAGS)
INCLUDES	= -I. -I.. -I$(MAYA_LOCATION)/include \
                       -I/usr/X11R6/include
LD			= $(C++) -shared $(NO_TRANS_LINK) $(C++FLAGS)
LIBS		= -L$(MAYA_LOCATION)/lib -lOpenMaya -lglut

.SUFFIXES: .cpp .cc .o .so.c

all:mayaFlockingAdvanced.so
#all:test

mayaFlockingAdvanced.so: pluginMain.o updateFlockingSystemCmd.o addObjectCmd.o FlockingSystemNode.o FlockNode.o FlockEmitterNode.o FPlane.o FBoundingBox.o FFrustum.o stdafx.o FOctree.o FOctreeCube.o FObject.o FAgent.o FAgentGroup.o Sort.o MigratoryUrgeNode.o StopWatch.o
	$(LD) -o $@ pluginMain.o updateFlockingSystemCmd.o addObjectCmd.o FlockingSystemNode.o FlockNode.o FlockEmitterNode.o FPlane.o FBoundingBox.o FFrustum.o stdafx.o FOctree.o FOctreeCube.o FObject.o FAgent.o FAgentGroup.o Sort.o MigratoryUrgeNode.o StopWatch.o $(LIBS)

test: test.o StopWatch.o
	/apps/Linux/gcc322/bin/g++322 test.o StopWatch.o -l c

FPlane.o: FPlane.h FPlane.cpp
	$(C++) -c FPlane.cpp $(INCLUDES) $(C++FLAGS)
	
FBoundingBox.o: FBoundingBox.h FBoundingBox.cpp FPlane.h Sort.h
	$(C++) -c FBoundingBox.cpp $(INCLUDES) $(C++FLAGS)
	
FFrustum.o: FFrustum.h FFrustum.cpp FBoundingBox.h
	$(C++) -c FFrustum.cpp $(INCLUDES) $(C++FLAGS)
	
stdafx.o: stdafx.h stdafx.cpp
	$(C++) -c stdafx.cpp $(INCLUDES) $(C++FLAGS)
	
FOctree.o: FOctree.h FOctree.cpp FastList.h FastList.cpp BlockAllocator.h BlockAllocator.cpp FOctreeCube.h FObject.h FAgent.h FFrustum.h
	$(C++) -c FOctree.cpp $(INCLUDES) $(C++FLAGS)
	
FOctreeCube.o: FOctreeCube.h FOctreeCube.cpp FObject.h
	$(C++) -c FOctreeCube.cpp $(INCLUDES) $(C++FLAGS)
	
FObject.o: FObject.h FObject.cpp FBoundingBox.h FFrustum.h List.h List.cpp
	$(C++) -c FObject.cpp $(INCLUDES) $(C++FLAGS)
	
FAgent.o: FAgent.h FAgent.cpp FObject.h
	$(C++) -c FAgent.cpp $(INCLUDES) $(C++FLAGS)
	
FAgentGroup.o: FAgentGroup.h FAgentGroup.cpp List.h List.cpp OrderedList.h OrderedList.cpp FAgent.h
	$(C++) -c FAgentGroup.cpp $(INCLUDES) $(C++FLAGS)

Sort.o: Sort.h Sort.cpp
	$(C++) -c Sort.cpp $(INCLUDES) $(C++FLAGS)
	
MigratoryUrgeNode.o: MigratoryUrgeNode.h MigratoryUrgeNode.cpp
	$(C++) -c MigratoryUrgeNode.cpp $(INCLUDES) $(C++FLAGS)

FlockEmitterNode.o: FlockEmitterNode.h FlockEmitterNode.cpp
	$(C++) -c FlockEmitterNode.cpp $(INCLUDES) $(C++FLAGS)
	
FlockNode.o: FlockNode.h FlockNode.cpp
	$(C++) -c FlockNode.cpp $(INCLUDES) $(C++FLAGS)
	
FlockingSystemNode.o: FlockingSystemNode.h FlockingSystemNode.cpp stdafx.h FOctree.h FAgentGroup.h
	$(C++) -c  FlockingSystemNode.cpp $(INCLUDES) $(C++FLAGS)
	
addObjectCmd.o: addObjectCmd.h addObjectCmd.cpp stdafx.h FlockingSystemNode.h
	$(C++) -c addObjectCmd.cpp $(INCLUDES) $(C++FLAGS)
	
updateFlockingSystemCmd.o: updateFlockingSystemCmd.h updateFlockingSystemCmd.cpp stdafx.h FlockingSystemNode.h
	$(C++) -c updateFlockingSystemCmd.cpp $(INCLUDES) $(C++FLAGS)
	
StopWatch.o: StopWatch.h StopWatch.cpp
	$(C++) -c StopWatch.cpp $(INCLUDES) $(C++FLAGS)
	
pluginMain.o: pluginMain.cpp stdafx.h FlockEmitterNode.h FlockingSystemNode.h FlockNode.h MigratoryUrgeNode.h addObjectCmd.h updateFlockingSystemCmd.h
	$(C++) -c pluginMain.cpp $(INCLUDES) $(C++FLAGS)

test.o: test.cpp FastList.h List.h List.cpp FastList.cpp StopWatch.h BlockAllocator.h
	$(C++) -c test.cpp $(INCLUDES) $(C++FLAGS)

clean:
	-rm -f *.o *.so
