CXX=g++
CC=gcc
CXXFLAGS=$(INCLUDES) $(DEFINES)
CFLAGS=$(INCLUDES) $(DEFINES)
OUTPUT_FILE=./binaries/Destiny3Dms.dll
DEFINES=-D NDEBUG -D _WIN32 -D DESTINY3D_DLL_EXPORTS -D DESTINY3D_EXPORT_ALL
LIB_DIR=./deGlobals/lib/
INCLUDES=-I ./ -I ./deGlobals/Include/ -I ./dePlugins/Compression/zlib/ -I ./deBitmap/libpng/ \
-I ./deSound/include/ -I . -I D:\programming\DX8SDK\include
			
OBJS=./de2D/de2D.o ./de2D/deFont.o \
./deAnimatedMesh/deAnimatedMesh.o \
./deBitmap/deBitmap.o ./deBitmap/deBitmap_DXTC.o ./deBitmap/deBitmapLoad.o \
./deBitmap/libpng/png.o ./deBitmap/libpng/pngerror.o ./deBitmap/libpng/pngget.o ./deBitmap/libpng/pngmem.o \
./deBitmap/libpng/pngpread.o ./deBitmap/libpng/pngread.o ./deBitmap/libpng/pngrio.o ./deBitmap/libpng/pngrtran.o \
./deBitmap/libpng/pngrutil.o ./deBitmap/libpng/pngset.o ./deBitmap/libpng/pngtrans.o ./deBitmap/libpng/pngwio.o \
./deBitmap/libpng/pngwrite.o ./deBitmap/libpng/pngwtran.o ./deBitmap/libpng/pngwutil.o \
./deBrush/BezierBrush.o ./deBrush/BlockBrush.o ./deBrush/CylinderBrush.o ./deBrush/ExtrudedBrush.o \
./deBrush/GroupBrush.o ./deBrush/LargeStaticBrush.o ./deBrush/LathedBrush.o ./deBrush/LineBrush.o \
./deBrush/PrismBrush.o ./deBrush/StaticBrush.o ./deBrush/deBrush.o \
./deBrush/deLine.o ./deBrush/deMesh.o ./deBrush/deMeshOpt.o ./deBrush/deQ3Loader.o \
./deBrush/TriStripper/tri_stripper.o \
./deDriver/deSurface.o ./deDriver/Driver.o ./deDriver/DriverLoad.o ./deDriver/VertexBuffer.o ./deDriver/Shader.o \
./deDriver/RenderStates/RenderLight.o ./deDriver/RenderStates/RenderMaterial.o \
./deDriver/RenderStates/RenderState.o ./deDriver/RenderStates/RenderTexture.o \
./deFile/deFileSystem.o ./deFile/deFSReal.o ./deFile/deFSVirtual.o ./deFile/deFile.o \
./deFile/deFileMemory.o ./deFile/deFilePlugin.o ./deFile/deFileReal.o ./deFile/deFileVirtual.o \
./deLog/deLog.o ./deLog/deLogDestiny.o \
./deMemory/deMemory-StdC.o \
./dePlugins/dePluginRijndael.o ./dePlugins/IdePlugin.o ./dePlugins/dePluginZLib.o ./dePlugins/dePluginTwofish.o \
./dePlugins/Encryption/Twofish/TwoFish.o \
./dePlugins/Encryption/Rijndael/aescrypt.o ./dePlugins/Encryption/Rijndael/aeskey.o ./dePlugins/Encryption/Rijndael/aestab.o \
./dePlugins/Compression/zlib/adler32.o ./dePlugins/Compression/zlib/deflate.o ./dePlugins/Compression/zlib/infblock.o \
./dePlugins/Compression/zlib/infcodes.o ./dePlugins/Compression/zlib/inffast.o ./dePlugins/Compression/zlib/inflate.o \
./dePlugins/Compression/zlib/inftrees.o ./dePlugins/Compression/zlib/infutil.o ./dePlugins/Compression/zlib/trees.o \
./dePlugins/Compression/zlib/zutil.o ./dePlugins/Compression/zlib/crc32.o \
./deRender/deRender.o ./deRender/RenderCode.o \
./deResource/deResource.o ./deResource/deResourceManager.o \
./deScene/deBoundingVolumes.o ./deScene/deCamera.o ./deScene/deFrustum.o ./deScene/deObjectTree.o \
./deScene/deOctree.o ./deScene/dePolyABT.o ./deScene/dePortal.o ./deScene/deOccludeRaster.o \
./deScene/deScene.o ./deScene/deSceneNode.o ./deScene/deSolidObject.o  ./deScene/deTerrain.o \
./deShared/deConfigFile.o ./deShared/deDynamicArray.o ./deShared/deDynamicList.o ./deShared/deRegistry.o \
./deShared/deWinFile.o \
./deSound/deOGG.o ./deSound/deWAV.o ./deSound/DirectSound.o ./deSound/resfuncs.o ./deSound/SoundFactory.o ./deSound/SoundFXManager.o \
./deUtil/deConsole.o ./deUtil/deIDServer.o ./deUtil/deProfile.o ./deUtil/deString.o \
./deWorld/deWorld.o \
./Destiny3D/Destiny3D.o

all: $(OBJS)
	$(CXX) --shared $(OBJS) -o $(OUTPUT_FILE) -L $(LIB_DIR) ./deSound/lib/vorbis.lib ./deSound/lib/ogg.lib -l ole32 -l gdi32 -l winmm -l deMathm -Wl,--out-implib,$(LIB_DIR)libDestiny3Dms.a

clean:
	del .\deAnimatedMesh\*.o
	del .\deBitmap\*.o 
	del .\deBitmap\libpng\*.o 
	del .\deBrush\*.o 
	del .\deBrush\TriStripper\*.o 
	del .\deDriver\*.o
	del .\deDriver\RenderStates\*.o 
	del .\deFile\*.o
	del .\deLog\*.o 
	del .\deMemory\*.o 
	del .\dePlugins\*.o
	del .\dePlugins\Encryption\Twofish\*TwoFish.o 
	del .\dePlugins\Encryption\Rijndael\*.o
	del .\dePlugins\Compression\zlib\*.o
	del .\deRender\*.o
	del .\deResource\*.o
	del .\deScene\*.o
	del .\deShared\*.o
	del .\deSound\*.o
	del .\deUtil\*.o
	del .\deWorld\*.o
	del .\*.o