diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bbbf2ef01908bc4edc2cac574362245026f9f983
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,429 @@
+cmake_minimum_required(VERSION 2.8)
+project(niflib)
+
+include_directories("include")
+
+add_library(niflib SHARED
+src/RefObject.cpp
+src/kfm.cpp
+src/ComplexShape.cpp
+src/MatTexCollection.cpp
+src/ObjectRegistry.cpp
+src/nif_math.cpp
+src/gen/Polygon.cpp
+src/gen/RagdollDescriptor.cpp
+src/gen/ByteColor3.cpp
+src/gen/OblivionSubShape.cpp
+src/gen/ByteMatrix.cpp
+src/gen/ChannelData.cpp
+src/gen/Footer.cpp
+src/gen/HalfSpaceBV.cpp
+src/gen/ByteColor4.cpp
+src/gen/MipMap.cpp
+src/gen/ByteArray.cpp
+src/gen/BoxBV.cpp
+src/gen/SkinData.cpp
+src/gen/BSTreadTransfSubInfo.cpp
+src/gen/Particle.cpp
+src/gen/TBC.cpp
+src/gen/SkinShape.cpp
+src/gen/QuaternionXYZW.cpp
+src/gen/BoundingVolume.cpp
+src/gen/OldSkinData.cpp
+src/gen/TexDesc.cpp
+src/gen/Morph.cpp
+src/gen/SkinWeight.cpp
+src/gen/ExportInfo.cpp
+src/gen/ControllerLink.cpp
+src/gen/NodeGroup.cpp
+src/gen/SphereBV.cpp
+src/gen/ShaderTexDesc.cpp
+src/gen/FurniturePosition.cpp
+src/gen/UnknownMatrix1.cpp
+src/gen/BSTreadTransfInfo.cpp
+src/gen/MultiTextureElement.cpp
+src/gen/hkTriangle.cpp
+src/gen/LimitedHingeDescriptor.cpp
+src/gen/SkinShapeGroup.cpp
+src/gen/physXMaterialRef.cpp
+src/gen/BodyPartList.cpp
+src/gen/Header.cpp
+src/gen/StringPalette.cpp
+src/gen/BoundingBox.cpp
+src/gen/DecalVectorArray.cpp
+src/gen/OblivionColFilter.cpp
+src/gen/LODRange.cpp
+src/gen/register.cpp
+src/gen/BSSegmentedTriangle.cpp
+src/gen/AdditionalDataInfo.cpp
+src/gen/UnionBV.cpp
+src/gen/TexSource.cpp
+src/gen/ParticleDesc.cpp
+src/gen/MorphWeight.cpp
+src/gen/AVObject.cpp
+src/gen/SkinPartition.cpp
+src/gen/HingeDescriptor.cpp
+src/gen/enums.cpp
+src/gen/CapsuleBV.cpp
+src/gen/MatchGroup.cpp
+src/gen/AdditionalDataBlock.cpp
+src/gen/ArkTexture.cpp
+src/pch.cpp
+src/nifqhull.cpp
+src/Inertia.cpp
+src/Type.cpp
+src/niflib.cpp
+src/NIF_IO.cpp
+src/obj/NiBlendInterpolator.cpp
+src/obj/NiImage.cpp
+src/obj/BSShaderTextureSet.cpp
+src/obj/NiPSysPositionModifier.cpp
+src/obj/NiPSysModifierFloatCtlr.cpp
+src/obj/BSPSysMultiTargetEmitterCtlr.cpp
+src/obj/NiTextKeyExtraData.cpp
+src/obj/NiBSplineCompPoint3Interpolator.cpp
+src/obj/NiPointLight.cpp
+src/obj/NiAdditionalGeometryData.cpp
+src/obj/NiPSysGrowFadeModifier.cpp
+src/obj/NiPSysEmitterCtlrData.cpp
+src/obj/NiBSplineCompFloatInterpolator.cpp
+src/obj/NiParticles.cpp
+src/obj/NiParticleGrowFade.cpp
+src/obj/BSWindModifier.cpp
+src/obj/Ni3dsPathController.cpp
+src/obj/NiStringsExtraData.cpp
+src/obj/NiPSysSphereEmitter.cpp
+src/obj/NiBoolData.cpp
+src/obj/bhkWorldObject.cpp
+src/obj/NiParticleColorModifier.cpp
+src/obj/bhkRefObject.cpp
+src/obj/NiStencilProperty.cpp
+src/obj/BSXFlags.cpp
+src/obj/NiDynamicEffect.cpp
+src/obj/NiPSysBoundUpdateModifier.cpp
+src/obj/bhkSphereRepShape.cpp
+src/obj/NiPSysUpdateCtlr.cpp
+src/obj/BSMasterParticleSystem.cpp
+src/obj/bhkPrismaticConstraint.cpp
+src/obj/bhkCapsuleShape.cpp
+src/obj/BSMultiBoundData.cpp
+src/obj/NiTransparentProperty.cpp
+src/obj/NiPhysXTransformDest.cpp
+src/obj/FxWidget.cpp
+src/obj/NiSourceTexture.cpp
+src/obj/NiZBufferProperty.cpp
+src/obj/NiRawImageData.cpp
+src/obj/NiBoolTimelineInterpolator.cpp
+src/obj/NiFloatsExtraData.cpp
+src/obj/NiMultiTextureProperty.cpp
+src/obj/BSDismemberSkinInstance.cpp
+src/obj/NiIntegerExtraData.cpp
+src/obj/NiBSParticleNode.cpp
+src/obj/bhkConvexListShape.cpp
+src/obj/NiSingleInterpController.cpp
+src/obj/BSStripParticleSystem.cpp
+src/obj/bhkCollisionObject.cpp
+src/obj/bhkSphereShape.cpp
+src/obj/NiPSysCollider.cpp
+src/obj/NiRotatingParticles.cpp
+src/obj/NiPSysRotationModifier.cpp
+src/obj/BSDistantTreeShaderProperty.cpp
+src/obj/bhkShapePhantom.cpp
+src/obj/NiLightColorController.cpp
+src/obj/BSBound.cpp
+src/obj/NiPSysModifierBoolCtlr.cpp
+src/obj/WaterShaderProperty.cpp
+src/obj/NiPosData.cpp
+src/obj/bhkRagdollConstraint.cpp
+src/obj/NiBinaryVoxelExtraData.cpp
+src/obj/NiPSysEmitterDeclinationVarCtlr.cpp
+src/obj/NiAmbientLight.cpp
+src/obj/BSFurnitureMarker.cpp
+src/obj/NiBoolInterpController.cpp
+src/obj/NiPlanarCollider.cpp
+src/obj/NiMorphData.cpp
+src/obj/NiFloatData.cpp
+src/obj/NiBezierTriangle4.cpp
+src/obj/NiPSysVolumeEmitter.cpp
+src/obj/NiTextureProperty.cpp
+src/obj/NiParticlesData.cpp
+src/obj/NiCamera.cpp
+src/obj/NiVisController.cpp
+src/obj/NiPoint3Interpolator.cpp
+src/obj/NiBSAnimationNode.cpp
+src/obj/BSFadeNode.cpp
+src/obj/NiTriShapeSkinController.cpp
+src/obj/bhkNiTriStripsShape.cpp
+src/obj/NiNode.cpp
+src/obj/NiInterpController.cpp
+src/obj/NiAutoNormalParticles.cpp
+src/obj/NiFogProperty.cpp
+src/obj/BSParentVelocityModifier.cpp
+src/obj/NiPathInterpolator.cpp
+src/obj/BSDebrisNode.cpp
+src/obj/NiScreenElementsData.cpp
+src/obj/NiTriStripsData.cpp
+src/obj/NiSortAdjustNode.cpp
+src/obj/NiBinaryExtraData.cpp
+src/obj/bhkShape.cpp
+src/obj/NiPSysFieldModifier.cpp
+src/obj/NiPhysXMeshDesc.cpp
+src/obj/bhkConvexVerticesShape.cpp
+src/obj/BSMultiBoundAABB.cpp
+src/obj/NiPhysXBodyDesc.cpp
+src/obj/NiDefaultAVObjectPalette.cpp
+src/obj/NiPSysEmitterSpeedCtlr.cpp
+src/obj/NiAVObject.cpp
+src/obj/BSDamageStage.cpp
+src/obj/NiAVObjectPalette.cpp
+src/obj/NiPSysGravityStrengthCtlr.cpp
+src/obj/NiClod.cpp
+src/obj/NiPhysXProp.cpp
+src/obj/NiPhysXKinematicSrc.cpp
+src/obj/BSPSysSimpleColorModifier.cpp
+src/obj/NiPSysPlanarCollider.cpp
+src/obj/Ni3dsMorphShape.cpp
+src/obj/NiStringPalette.cpp
+src/obj/NiControllerSequence.cpp
+src/obj/NiRoom.cpp
+src/obj/NiClodData.cpp
+src/obj/bhkNiCollisionObject.cpp
+src/obj/NiDirectionalLight.cpp
+src/obj/BSFrustumFOVController.cpp
+src/obj/NiPhysXShapeDesc.cpp
+src/obj/NiTriStrips.cpp
+src/obj/FxRadioButton.cpp
+src/obj/BSRefractionStrengthController.cpp
+src/obj/bhkSPCollisionObject.cpp
+src/obj/bhkBlendController.cpp
+src/obj/NiPSysData.cpp
+src/obj/NiRoomGroup.cpp
+src/obj/NiPSysResetOnLoopCtlr.cpp
+src/obj/DistantLODShaderProperty.cpp
+src/obj/bhkOrientHingedBodyAction.cpp
+src/obj/NiGeometryData.cpp
+src/obj/HairShaderProperty.cpp
+src/obj/NiKeyframeData.cpp
+src/obj/BSShaderLightingProperty.cpp
+src/obj/NiMaterialColorController.cpp
+src/obj/NiPSysGravityFieldModifier.cpp
+src/obj/NiPSysSphericalCollider.cpp
+src/obj/RootCollisionNode.cpp
+src/obj/NiSpotLight.cpp
+src/obj/bhkRigidBodyT.cpp
+src/obj/NiPSysColorModifier.cpp
+src/obj/BSPSysArrayEmitter.cpp
+src/obj/BSRefractionFirePeriodController.cpp
+src/obj/NiLODData.cpp
+src/obj/NiSphericalCollider.cpp
+src/obj/NiSwitchNode.cpp
+src/obj/NiBezierMesh.cpp
+src/obj/NiBone.cpp
+src/obj/Ni3dsColorAnimator.cpp
+src/obj/TileShaderProperty.cpp
+src/obj/NiPoint3InterpController.cpp
+src/obj/BSMultiBoundNode.cpp
+src/obj/NiKeyBasedInterpolator.cpp
+src/obj/bhkLiquidAction.cpp
+src/obj/BSMultiBound.cpp
+src/obj/NiMeshPSysData.cpp
+src/obj/bhkBoxShape.cpp
+src/obj/NiPSysAgeDeathModifier.cpp
+src/obj/NiSkinData.cpp
+src/obj/NiMaterialProperty.cpp
+src/obj/BSPSysStripUpdateModifier.cpp
+src/obj/NiPSysBombModifier.cpp
+src/obj/NiLODNode.cpp
+src/obj/NiBlendBoolInterpolator.cpp
+src/obj/NiTexture.cpp
+src/obj/Ni3dsAnimationNode.cpp
+src/obj/BSValueNode.cpp
+src/obj/NiAlphaProperty.cpp
+src/obj/NiPSysTrailEmitter.cpp
+src/obj/NiColorExtraData.cpp
+src/obj/NiMultiTargetTransformController.cpp
+src/obj/NiSkinInstance.cpp
+src/obj/NiGeometry.cpp
+src/obj/BSShaderNoLightingProperty.cpp
+src/obj/NiPSysModifierCtlr.cpp
+src/obj/NiClodSkinInstance.cpp
+src/obj/NiTransformController.cpp
+src/obj/NiGravity.cpp
+src/obj/NiSpecularProperty.cpp
+src/obj/AvoidNode.cpp
+src/obj/bhkListShape.cpp
+src/obj/bhkPackedNiTriStripsShape.cpp
+src/obj/NiControllerManager.cpp
+src/obj/SkyShaderProperty.cpp
+src/obj/NiPSysMeshUpdateModifier.cpp
+src/obj/BSBlastNode.cpp
+src/obj/NiPhysXPropDesc.cpp
+src/obj/NiExtraDataController.cpp
+src/obj/NiSourceCubeMap.cpp
+src/obj/NiPSysEmitterLifeSpanCtlr.cpp
+src/obj/NiGeomMorpherController.cpp
+src/obj/NiBlendPoint3Interpolator.cpp
+src/obj/NiSkinPartition.cpp
+src/obj/NiPSysEmitterDeclinationCtlr.cpp
+src/obj/NiSequenceStreamHelper.cpp
+src/obj/NiPSysEmitter.cpp
+src/obj/NiPalette.cpp
+src/obj/NiCollisionObject.cpp
+src/obj/NiBSplineData.cpp
+src/obj/NiPSysBoxEmitter.cpp
+src/obj/NiBSplineCompTransformInterpolator.cpp
+src/obj/NiPhysXD6JointDesc.cpp
+src/obj/NiParticleRotation.cpp
+src/obj/NiBoneLODController.cpp
+src/obj/NiPersistentSrcTextureRendererData.cpp
+src/obj/bhkSimpleShapePhantom.cpp
+src/obj/NiEnvMappedTriShapeData.cpp
+src/obj/bhkPCollisionObject.cpp
+src/obj/Lighting30ShaderProperty.cpp
+src/obj/NiArkAnimationExtraData.cpp
+src/obj/bhkShapeCollection.cpp
+src/obj/bhkBreakableConstraint.cpp
+src/obj/BSShaderProperty.cpp
+src/obj/NiEnvMappedTriShape.cpp
+src/obj/NiScreenLODData.cpp
+src/obj/bhkRigidBody.cpp
+src/obj/NiAlphaController.cpp
+src/obj/NiKeyframeController.cpp
+src/obj/bhkTransformShape.cpp
+src/obj/NiBSplineInterpolator.cpp
+src/obj/NiBoolInterpolator.cpp
+src/obj/NiPortal.cpp
+src/obj/NiLookAtController.cpp
+src/obj/NiFloatInterpolator.cpp
+src/obj/NiTransformData.cpp
+src/obj/NiPathController.cpp
+src/obj/NiPSysSpawnModifier.cpp
+src/obj/NiInterpolator.cpp
+src/obj/NiVertWeightsExtraData.cpp
+src/obj/NiPSysVortexFieldModifier.cpp
+src/obj/NiRangeLODData.cpp
+src/obj/bhkBvTreeShape.cpp
+src/obj/NiLightIntensityController.cpp
+src/obj/NiPSysTurbulenceFieldModifier.cpp
+src/obj/NiObjectNET.cpp
+src/obj/bhkPhantom.cpp
+src/obj/NiSequence.cpp
+src/obj/hkPackedNiTriStripsData.cpp
+src/obj/NiAutoNormalParticlesData.cpp
+src/obj/NiFlipController.cpp
+src/obj/bhkConstraint.cpp
+src/obj/NiFloatInterpController.cpp
+src/obj/NiTriBasedGeom.cpp
+src/obj/NiBSPArrayController.cpp
+src/obj/NiObject.cpp
+src/obj/NiBooleanExtraData.cpp
+src/obj/NiTextureModeProperty.cpp
+src/obj/NiRotatingParticlesData.cpp
+src/obj/NiArkImporterExtraData.cpp
+src/obj/NiParticleMeshes.cpp
+src/obj/NiParticleMeshModifier.cpp
+src/obj/NiLinesData.cpp
+src/obj/NiPSysCylinderEmitter.cpp
+src/obj/NiLight.cpp
+src/obj/bhkHingeConstraint.cpp
+src/obj/NiTriShape.cpp
+src/obj/NiParticleBomb.cpp
+src/obj/NiParticleSystemController.cpp
+src/obj/NiPhysXActorDesc.cpp
+src/obj/NiPSysModifier.cpp
+src/obj/NiExtraData.cpp
+src/obj/FxButton.cpp
+src/obj/NiProperty.cpp
+src/obj/NiPSysMeshEmitter.cpp
+src/obj/VolumetricFogShaderProperty.cpp
+src/obj/BSStripPSysData.cpp
+src/obj/NiTextureTransformController.cpp
+src/obj/NiMorpherController.cpp
+src/obj/NiTimeController.cpp
+src/obj/NiBSplinePoint3Interpolator.cpp
+src/obj/NiFloatExtraData.cpp
+src/obj/NiFloatExtraDataController.cpp
+src/obj/NiPSysEmitterCtlr.cpp
+src/obj/NiTexturingProperty.cpp
+src/obj/NiMorphController.cpp
+src/obj/NiPSysAirFieldModifier.cpp
+src/obj/NiPSysGravityModifier.cpp
+src/obj/bhkConvexTransformShape.cpp
+src/obj/NiCollisionData.cpp
+src/obj/bhkConvexShape.cpp
+src/obj/NiTextureEffect.cpp
+src/obj/Ni3dsAlphaAnimator.cpp
+src/obj/bhkMalleableConstraint.cpp
+src/obj/NiColorData.cpp
+src/obj/NiTriBasedGeomData.cpp
+src/obj/bhkEntity.cpp
+src/obj/NiBlendFloatInterpolator.cpp
+src/obj/NiParticleModifier.cpp
+src/obj/NiWireframeProperty.cpp
+src/obj/NiBSBoneLODController.cpp
+src/obj/NiVectorExtraData.cpp
+src/obj/NiBSplineTransformInterpolator.cpp
+src/obj/NiPhysXMaterialDesc.cpp
+src/obj/bhkMultiSphereShape.cpp
+src/obj/NiLookAtInterpolator.cpp
+src/obj/NiLines.cpp
+src/obj/Ni3dsParticleSystem.cpp
+src/obj/bhkLimitedHingeConstraint.cpp
+src/obj/BSSegmentedTriShape.cpp
+src/obj/BSMaterialEmittanceMultController.cpp
+src/obj/BSWArray.cpp
+src/obj/NiArkTextureExtraData.cpp
+src/obj/BSTreadTransfInterpolator.cpp
+src/obj/NiBinaryVoxelData.cpp
+src/obj/bhkMoppBvTreeShape.cpp
+src/obj/NiPSysDragFieldModifier.cpp
+src/obj/NiBlendTransformInterpolator.cpp
+src/obj/bhkBlendCollisionObject.cpp
+src/obj/NiBSplineBasisData.cpp
+src/obj/BSKeyframeController.cpp
+src/obj/NiRollController.cpp
+src/obj/NiScreenElements.cpp
+src/obj/NiPSysDragModifier.cpp
+src/obj/TallGrassShaderProperty.cpp
+src/obj/NiArkShaderExtraData.cpp
+src/obj/NiVisData.cpp
+src/obj/NiPSysColliderManager.cpp
+src/obj/BSDecalPlacementVectorExtraData.cpp
+src/obj/bhkStiffSpringConstraint.cpp
+src/obj/NiTriShapeData.cpp
+src/obj/NiUVData.cpp
+src/obj/BSMultiBoundSphere.cpp
+src/obj/ATextureRenderData.cpp
+src/obj/NiParticleSystem.cpp
+src/obj/bhkAabbPhantom.cpp
+src/obj/bhkSerializable.cpp
+src/obj/NiVertexColorProperty.cpp
+src/obj/NiArkViewportInfoExtraData.cpp
+src/obj/NiPSysModifierActiveCtlr.cpp
+src/obj/NiIntegersExtraData.cpp
+src/obj/NiPSysEmitterInitialRadiusCtlr.cpp
+src/obj/NiPixelData.cpp
+src/obj/NiParticleMeshesData.cpp
+src/obj/NiLightDimmerController.cpp
+src/obj/BSShaderPPLightingProperty.cpp
+src/obj/NiShadeProperty.cpp
+src/obj/NiMeshParticleSystem.cpp
+src/obj/BSAnimNotes.cpp
+src/obj/BSOrderedNode.cpp
+src/obj/NiBSplineFloatInterpolator.cpp
+src/obj/NiTransformInterpolator.cpp
+src/obj/NiBillboardNode.cpp
+src/obj/NiDitherProperty.cpp
+src/obj/NiUVController.cpp
+src/obj/NiStringExtraData.cpp
+src/obj/NiPSysFieldMagnitudeCtlr.cpp
+NvTriStrip/VertexCache.cpp
+NvTriStrip/NvTriStripObjects.cpp
+NvTriStrip/NvTriStrip.cpp
+TriStripper/tri_stripper.cpp
+TriStripper/connectivity_graph.cpp
+TriStripper/policy.cpp
+)
+
+set_target_properties(niflib
+PROPERTIES DEFINE_SYMBOL BUILDING_NIFLIB_DLL)
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 7f86f0920cb04f700b74a77a4f79fc61f52f99c8..0000000000000000000000000000000000000000
--- a/Makefile
+++ /dev/null
@@ -1,487 +0,0 @@
-#
-# Simple Makefile for niflib
-# 
-# 
-# 
-#
-CC     		= gcc
-CXX 		= g++
-RM         = rm
-LINK       = ln
-
-# -g<1-3> (ex: -g3) for debugging extra's may or may not be compatible with the broad spectrum of gcc features included with the various 
-# -O series of options 
-#
-# Please Read: http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/Debugging-Options.html#Debugging-Options for more info on GCC debugging options
-DEBUGGING	=
-#
-# CFLAGS 		= -O2 -Wall -Wextra -fPIC -Wunreachable-code $(DEBUGGING)
-# -Wextra and -Wunreachable-code can be useful and can also be spammy... 
-#
-# IF you don't know what -02 is, read here: http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/Optimize-Options.html#Optimize-Options
-#
-# IF you want Processor enahncements for _YOUR_ processor compiled into the lib,
-# you can try -mtune OR the more aggressive -march. Keep in mind, that enhancing it for a pentium4 
-# will potentially cause it to break when run on non-pentium4's.
-# NOTE: -march inherits -mtune features.
-# Example: -march=k8 would generate enhancements for the k8 family (opterons and some athlons).or -march=pentium4 for a pentium4
-# For more info read this: http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/i386-and-x86_002d64-Options.html#i386-and-x86_002d64-Options
-#
-CFLAGS 		= -O2 -Wall $(DEBUGGING) -Iinclude -D BUILDING_NIFLIB_DLL -fPIC -ggdb
-CXXFLAGS	= $(CFLAGS)
-#IT should find the libs used, but if it doesn't specify here. Ex: -lm for libm.so.<whatever>
-LIBS		=
-L_FLAGS 	= -shared -Wl,-soname,libniflib.so.0
-VERSION		= 0.7
-VERSION_MIN	= 0.7
-TARGET  	= libniflib.so.0$(VERSION)
-
-TARGETA       = libniflib.a
-TARGETD       = libniflib.so.0$(VERSION)
-TARGET0       = libniflib.so
-TARGET1       = libniflib.so.0
-TARGET2       = libniflib.so.0.$(VERSION_MIN)
-
-
-OBJ_FILES = \
-            NvTriStrip/NvTriStrip.o \
-            NvTriStrip/NvTriStripObjects.o \
-            NvTriStrip/VertexCache.o \
-            src/ComplexShape.o \
-            src/Inertia.o \
-            src/kfm.o \
-            src/MatTexCollection.o \
-            src/niflib.o \
-            src/nifqhull.o \
-            src/NIF_IO.o \
-            src/nif_math.o \
-            src/ObjectRegistry.o \
-            src/pch.o \
-            src/RefObject.o \
-            src/Type.o \
-            src/gen/AdditionalDataBlock.o \
-            src/gen/AdditionalDataInfo.o \
-            src/gen/ArkTexture.o \
-            src/gen/AVObject.o \
-            src/gen/BodyPartList.o \
-            src/gen/BoundingBox.o \
-            src/gen/BoundingVolume.o \
-            src/gen/BoxBV.o \
-            src/gen/BSSegmentedTriangle.o \
-            src/gen/BSTreadTransfInfo.o \
-            src/gen/BSTreadTransfSubInfo.o \
-            src/gen/ByteArray.o \
-            src/gen/ByteColor3.o \
-            src/gen/ByteColor4.o \
-            src/gen/ByteMatrix.o \
-            src/gen/CapsuleBV.o \
-            src/gen/ChannelData.o \
-            src/gen/ControllerLink.o \
-            src/gen/DecalVectorArray.o \
-            src/gen/enums.o \
-            src/gen/ExportInfo.o \
-            src/gen/Footer.o \
-            src/gen/FurniturePosition.o \
-            src/gen/HalfSpaceBV.o \
-            src/gen/Header.o \
-            src/gen/HingeDescriptor.o \
-            src/gen/hkTriangle.o \
-            src/gen/LimitedHingeDescriptor.o \
-            src/gen/LODRange.o \
-            src/gen/MatchGroup.o \
-            src/gen/MipMap.o \
-            src/gen/Morph.o \
-            src/gen/MorphWeight.o \
-            src/gen/MultiTextureElement.o \
-            src/gen/NodeGroup.o \
-            src/gen/OblivionColFilter.o \
-            src/gen/OblivionSubShape.o \
-            src/gen/OldSkinData.o \
-            src/gen/Particle.o \
-            src/gen/ParticleDesc.o \
-            src/gen/physXMaterialRef.o \
-            src/gen/Polygon.o \
-            src/gen/QuaternionXYZW.o \
-            src/gen/RagdollDescriptor.o \
-            src/gen/register.o \
-            src/gen/ShaderTexDesc.o \
-            src/gen/SkinData.o \
-            src/gen/SkinPartition.o \
-            src/gen/SkinShape.o \
-            src/gen/SkinShapeGroup.o \
-            src/gen/SkinWeight.o \
-            src/gen/SphereBV.o \
-            src/gen/StringPalette.o \
-            src/gen/TBC.o \
-            src/gen/TexDesc.o \
-            src/gen/TexSource.o \
-            src/gen/UnionBV.o \
-            src/obj/ATextureRenderData.o \
-            src/obj/AvoidNode.o \
-            src/obj/bhkAabbPhantom.o \
-            src/obj/bhkBlendCollisionObject.o \
-            src/obj/bhkBlendController.o \
-            src/obj/bhkBoxShape.o \
-            src/obj/bhkBreakableConstraint.o \
-            src/obj/bhkBvTreeShape.o \
-            src/obj/bhkCapsuleShape.o \
-            src/obj/bhkCollisionObject.o \
-            src/obj/bhkConstraint.o \
-            src/obj/bhkConvexListShape.o \
-            src/obj/bhkConvexShape.o \
-            src/obj/bhkConvexTransformShape.o \
-            src/obj/bhkConvexVerticesShape.o \
-            src/obj/bhkEntity.o \
-            src/obj/bhkHingeConstraint.o \
-            src/obj/bhkLimitedHingeConstraint.o \
-            src/obj/bhkLiquidAction.o \
-            src/obj/bhkListShape.o \
-            src/obj/bhkMalleableConstraint.o \
-            src/obj/bhkMoppBvTreeShape.o \
-            src/obj/bhkMultiSphereShape.o \
-            src/obj/bhkNiCollisionObject.o \
-            src/obj/bhkNiTriStripsShape.o \
-            src/obj/bhkOrientHingedBodyAction.o \
-            src/obj/bhkPackedNiTriStripsShape.o \
-            src/obj/bhkPCollisionObject.o \
-            src/obj/bhkPhantom.o \
-            src/obj/bhkPrismaticConstraint.o \
-            src/obj/bhkRagdollConstraint.o \
-            src/obj/bhkRefObject.o \
-            src/obj/bhkRigidBody.o \
-            src/obj/bhkRigidBodyT.o \
-            src/obj/bhkSerializable.o \
-            src/obj/bhkShape.o \
-            src/obj/bhkShapeCollection.o \
-            src/obj/bhkShapePhantom.o \
-            src/obj/bhkSimpleShapePhantom.o \
-            src/obj/bhkSPCollisionObject.o \
-            src/obj/bhkSphereRepShape.o \
-            src/obj/bhkSphereShape.o \
-            src/obj/bhkStiffSpringConstraint.o \
-            src/obj/bhkTransformShape.o \
-            src/obj/bhkWorldObject.o \
-            src/obj/BSAnimNotes.o \
-            src/obj/BSBlastNode.o \
-            src/obj/BSBound.o \
-            src/obj/BSDamageStage.o \
-            src/obj/BSDebrisNode.o \
-            src/obj/BSDecalPlacementVectorExtraData.o \
-            src/obj/BSDismemberSkinInstance.o \
-            src/obj/BSDistantTreeShaderProperty.o \
-            src/obj/BSFadeNode.o \
-            src/obj/BSFrustumFOVController.o \
-            src/obj/BSFurnitureMarker.o \
-            src/obj/BSKeyframeController.o \
-            src/obj/BSMasterParticleSystem.o \
-            src/obj/BSMaterialEmittanceMultController.o \
-            src/obj/BSMultiBound.o \
-            src/obj/BSMultiBoundAABB.o \
-            src/obj/BSMultiBoundData.o \
-            src/obj/BSMultiBoundNode.o \
-            src/obj/BSMultiBoundSphere.o \
-            src/obj/BSOrderedNode.o \
-            src/obj/BSParentVelocityModifier.o \
-            src/obj/BSPSysArrayEmitter.o \
-            src/obj/BSPSysMultiTargetEmitterCtlr.o \
-            src/obj/BSPSysSimpleColorModifier.o \
-            src/obj/BSPSysStripUpdateModifier.o \
-            src/obj/BSRefractionFirePeriodController.o \
-            src/obj/BSRefractionStrengthController.o \
-            src/obj/BSSegmentedTriShape.o \
-            src/obj/BSShaderLightingProperty.o \
-            src/obj/BSShaderNoLightingProperty.o \
-            src/obj/BSShaderPPLightingProperty.o \
-            src/obj/BSShaderProperty.o \
-            src/obj/BSShaderTextureSet.o \
-            src/obj/BSStripParticleSystem.o \
-            src/obj/BSStripPSysData.o \
-            src/obj/BSTreadTransfInterpolator.o \
-            src/obj/BSValueNode.o \
-            src/obj/BSWArray.o \
-            src/obj/BSWindModifier.o \
-            src/obj/BSXFlags.o \
-            src/obj/DistantLODShaderProperty.o \
-            src/obj/FxButton.o \
-            src/obj/FxRadioButton.o \
-            src/obj/FxWidget.o \
-            src/obj/HairShaderProperty.o \
-            src/obj/hkPackedNiTriStripsData.o \
-            src/obj/Lighting30ShaderProperty.o \
-            src/obj/Ni3dsAlphaAnimator.o \
-            src/obj/Ni3dsAnimationNode.o \
-            src/obj/Ni3dsColorAnimator.o \
-            src/obj/Ni3dsMorphShape.o \
-            src/obj/Ni3dsParticleSystem.o \
-            src/obj/Ni3dsPathController.o \
-            src/obj/NiAdditionalGeometryData.o \
-            src/obj/NiAlphaController.o \
-            src/obj/NiAlphaProperty.o \
-            src/obj/NiAmbientLight.o \
-            src/obj/NiArkAnimationExtraData.o \
-            src/obj/NiArkImporterExtraData.o \
-            src/obj/NiArkShaderExtraData.o \
-            src/obj/NiArkTextureExtraData.o \
-            src/obj/NiArkViewportInfoExtraData.o \
-            src/obj/NiAutoNormalParticles.o \
-            src/obj/NiAutoNormalParticlesData.o \
-            src/obj/NiAVObject.o \
-            src/obj/NiAVObjectPalette.o \
-            src/obj/NiBezierMesh.o \
-            src/obj/NiBezierTriangle4.o \
-            src/obj/NiBillboardNode.o \
-            src/obj/NiBinaryExtraData.o \
-            src/obj/NiBinaryVoxelData.o \
-            src/obj/NiBinaryVoxelExtraData.o \
-            src/obj/NiBlendBoolInterpolator.o \
-            src/obj/NiBlendFloatInterpolator.o \
-            src/obj/NiBlendInterpolator.o \
-            src/obj/NiBlendPoint3Interpolator.o \
-            src/obj/NiBlendTransformInterpolator.o \
-            src/obj/NiBone.o \
-            src/obj/NiBoneLODController.o \
-            src/obj/NiBoolData.o \
-            src/obj/NiBooleanExtraData.o \
-            src/obj/NiBoolInterpController.o \
-            src/obj/NiBoolInterpolator.o \
-            src/obj/NiBoolTimelineInterpolator.o \
-            src/obj/NiBSAnimationNode.o \
-            src/obj/NiBSBoneLODController.o \
-            src/obj/NiBSPArrayController.o \
-            src/obj/NiBSParticleNode.o \
-            src/obj/NiBSplineBasisData.o \
-            src/obj/NiBSplineCompFloatInterpolator.o \
-            src/obj/NiBSplineCompPoint3Interpolator.o \
-            src/obj/NiBSplineCompTransformInterpolator.o \
-            src/obj/NiBSplineData.o \
-            src/obj/NiBSplineFloatInterpolator.o \
-            src/obj/NiBSplineInterpolator.o \
-            src/obj/NiBSplinePoint3Interpolator.o \
-            src/obj/NiBSplineTransformInterpolator.o \
-            src/obj/NiCamera.o \
-            src/obj/NiClod.o \
-            src/obj/NiClodData.o \
-            src/obj/NiClodSkinInstance.o \
-            src/obj/NiCollisionData.o \
-            src/obj/NiCollisionObject.o \
-            src/obj/NiColorData.o \
-            src/obj/NiColorExtraData.o \
-            src/obj/NiControllerManager.o \
-            src/obj/NiControllerSequence.o \
-            src/obj/NiDefaultAVObjectPalette.o \
-            src/obj/NiDirectionalLight.o \
-            src/obj/NiDitherProperty.o \
-            src/obj/NiDynamicEffect.o \
-            src/obj/NiEnvMappedTriShape.o \
-            src/obj/NiEnvMappedTriShapeData.o \
-            src/obj/NiExtraData.o \
-            src/obj/NiExtraDataController.o \
-            src/obj/NiFlipController.o \
-            src/obj/NiFloatData.o \
-            src/obj/NiFloatExtraData.o \
-            src/obj/NiFloatExtraDataController.o \
-            src/obj/NiFloatInterpController.o \
-            src/obj/NiFloatInterpolator.o \
-            src/obj/NiFloatsExtraData.o \
-            src/obj/NiFogProperty.o \
-            src/obj/NiGeometry.o \
-            src/obj/NiGeometryData.o \
-            src/obj/NiGeomMorpherController.o \
-            src/obj/NiGravity.o \
-            src/obj/NiImage.o \
-            src/obj/NiIntegerExtraData.o \
-            src/obj/NiIntegersExtraData.o \
-            src/obj/NiInterpController.o \
-            src/obj/NiInterpolator.o \
-            src/obj/NiKeyBasedInterpolator.o \
-            src/obj/NiKeyframeController.o \
-            src/obj/NiKeyframeData.o \
-            src/obj/NiLight.o \
-            src/obj/NiLightColorController.o \
-            src/obj/NiLightDimmerController.o \
-            src/obj/NiLightIntensityController.o \
-            src/obj/NiLines.o \
-            src/obj/NiLinesData.o \
-            src/obj/NiLODData.o \
-            src/obj/NiLODNode.o \
-            src/obj/NiLookAtController.o \
-            src/obj/NiLookAtInterpolator.o \
-            src/obj/NiMaterialColorController.o \
-            src/obj/NiMaterialProperty.o \
-            src/obj/NiMeshParticleSystem.o \
-            src/obj/NiMeshPSysData.o \
-            src/obj/NiMorphController.o \
-            src/obj/NiMorphData.o \
-            src/obj/NiMorpherController.o \
-            src/obj/NiMultiTargetTransformController.o \
-            src/obj/NiMultiTextureProperty.o \
-            src/obj/NiNode.o \
-            src/obj/NiObject.o \
-            src/obj/NiObjectNET.o \
-            src/obj/NiPalette.o \
-            src/obj/NiParticleBomb.o \
-            src/obj/NiParticleColorModifier.o \
-            src/obj/NiParticleGrowFade.o \
-            src/obj/NiParticleMeshes.o \
-            src/obj/NiParticleMeshesData.o \
-            src/obj/NiParticleMeshModifier.o \
-            src/obj/NiParticleModifier.o \
-            src/obj/NiParticleRotation.o \
-            src/obj/NiParticles.o \
-            src/obj/NiParticlesData.o \
-            src/obj/NiParticleSystem.o \
-            src/obj/NiParticleSystemController.o \
-            src/obj/NiPathController.o \
-            src/obj/NiPathInterpolator.o \
-            src/obj/NiPersistentSrcTextureRendererData.o \
-            src/obj/NiPhysXActorDesc.o \
-            src/obj/NiPhysXBodyDesc.o \
-            src/obj/NiPhysXD6JointDesc.o \
-            src/obj/NiPhysXKinematicSrc.o \
-            src/obj/NiPhysXMaterialDesc.o \
-            src/obj/NiPhysXMeshDesc.o \
-            src/obj/NiPhysXProp.o \
-            src/obj/NiPhysXPropDesc.o \
-            src/obj/NiPhysXShapeDesc.o \
-            src/obj/NiPhysXTransformDest.o \
-            src/obj/NiPixelData.o \
-            src/obj/NiPlanarCollider.o \
-            src/obj/NiPoint3InterpController.o \
-            src/obj/NiPoint3Interpolator.o \
-            src/obj/NiPointLight.o \
-            src/obj/NiPortal.o \
-            src/obj/NiPosData.o \
-            src/obj/NiProperty.o \
-            src/obj/NiPSysAgeDeathModifier.o \
-            src/obj/NiPSysAirFieldModifier.o \
-            src/obj/NiPSysBombModifier.o \
-            src/obj/NiPSysBoundUpdateModifier.o \
-            src/obj/NiPSysBoxEmitter.o \
-            src/obj/NiPSysCollider.o \
-            src/obj/NiPSysColliderManager.o \
-            src/obj/NiPSysColorModifier.o \
-            src/obj/NiPSysCylinderEmitter.o \
-            src/obj/NiPSysData.o \
-            src/obj/NiPSysDragFieldModifier.o \
-            src/obj/NiPSysDragModifier.o \
-            src/obj/NiPSysEmitter.o \
-            src/obj/NiPSysEmitterCtlr.o \
-            src/obj/NiPSysEmitterCtlrData.o \
-            src/obj/NiPSysEmitterDeclinationCtlr.o \
-            src/obj/NiPSysEmitterDeclinationVarCtlr.o \
-            src/obj/NiPSysEmitterInitialRadiusCtlr.o \
-            src/obj/NiPSysEmitterLifeSpanCtlr.o \
-            src/obj/NiPSysEmitterSpeedCtlr.o \
-            src/obj/NiPSysFieldMagnitudeCtlr.o \
-            src/obj/NiPSysFieldModifier.o \
-            src/obj/NiPSysGravityFieldModifier.o \
-            src/obj/NiPSysGravityModifier.o \
-            src/obj/NiPSysGravityStrengthCtlr.o \
-            src/obj/NiPSysGrowFadeModifier.o \
-            src/obj/NiPSysMeshEmitter.o \
-            src/obj/NiPSysMeshUpdateModifier.o \
-            src/obj/NiPSysModifier.o \
-            src/obj/NiPSysModifierActiveCtlr.o \
-            src/obj/NiPSysModifierBoolCtlr.o \
-            src/obj/NiPSysModifierCtlr.o \
-            src/obj/NiPSysModifierFloatCtlr.o \
-            src/obj/NiPSysPlanarCollider.o \
-            src/obj/NiPSysPositionModifier.o \
-            src/obj/NiPSysResetOnLoopCtlr.o \
-            src/obj/NiPSysRotationModifier.o \
-            src/obj/NiPSysSpawnModifier.o \
-            src/obj/NiPSysSphereEmitter.o \
-            src/obj/NiPSysSphericalCollider.o \
-            src/obj/NiPSysTrailEmitter.o \
-            src/obj/NiPSysTurbulenceFieldModifier.o \
-            src/obj/NiPSysUpdateCtlr.o \
-            src/obj/NiPSysVolumeEmitter.o \
-            src/obj/NiPSysVortexFieldModifier.o \
-            src/obj/NiRangeLODData.o \
-            src/obj/NiRawImageData.o \
-            src/obj/NiRollController.o \
-            src/obj/NiRoom.o \
-            src/obj/NiRoomGroup.o \
-            src/obj/NiRotatingParticles.o \
-            src/obj/NiRotatingParticlesData.o \
-            src/obj/NiScreenElements.o \
-            src/obj/NiScreenElementsData.o \
-            src/obj/NiScreenLODData.o \
-            src/obj/NiSequence.o \
-            src/obj/NiSequenceStreamHelper.o \
-            src/obj/NiShadeProperty.o \
-            src/obj/NiSingleInterpController.o \
-            src/obj/NiSkinData.o \
-            src/obj/NiSkinInstance.o \
-            src/obj/NiSkinPartition.o \
-            src/obj/NiSortAdjustNode.o \
-            src/obj/NiSourceCubeMap.o \
-            src/obj/NiSourceTexture.o \
-            src/obj/NiSpecularProperty.o \
-            src/obj/NiSphericalCollider.o \
-            src/obj/NiSpotLight.o \
-            src/obj/NiStencilProperty.o \
-            src/obj/NiStringExtraData.o \
-            src/obj/NiStringPalette.o \
-            src/obj/NiStringsExtraData.o \
-            src/obj/NiSwitchNode.o \
-            src/obj/NiTextKeyExtraData.o \
-            src/obj/NiTexture.o \
-            src/obj/NiTextureEffect.o \
-            src/obj/NiTextureModeProperty.o \
-            src/obj/NiTextureProperty.o \
-            src/obj/NiTextureTransformController.o \
-            src/obj/NiTexturingProperty.o \
-            src/obj/NiTimeController.o \
-            src/obj/NiTransformController.o \
-            src/obj/NiTransformData.o \
-            src/obj/NiTransformInterpolator.o \
-            src/obj/NiTransparentProperty.o \
-            src/obj/NiTriBasedGeom.o \
-            src/obj/NiTriBasedGeomData.o \
-            src/obj/NiTriShape.o \
-            src/obj/NiTriShapeData.o \
-            src/obj/NiTriShapeSkinController.o \
-            src/obj/NiTriStrips.o \
-            src/obj/NiTriStripsData.o \
-            src/obj/NiUVController.o \
-            src/obj/NiUVData.o \
-            src/obj/NiVectorExtraData.o \
-            src/obj/NiVertexColorProperty.o \
-            src/obj/NiVertWeightsExtraData.o \
-            src/obj/NiVisController.o \
-            src/obj/NiVisData.o \
-            src/obj/NiWireframeProperty.o \
-            src/obj/NiZBufferProperty.o \
-            src/obj/RootCollisionNode.o \
-            src/obj/SkyShaderProperty.o \
-            src/obj/TallGrassShaderProperty.o \
-            src/obj/TileShaderProperty.o \
-            src/obj/VolumetricFogShaderProperty.o \
-            src/obj/WaterShaderProperty.o \
-            TriStripper/connectivity_graph.o \
-            TriStripper/policy.o \
-            TriStripper/tri_stripper.o \
-
-
-all: Makefile  $(TARGET)
-
-$(TARGET):  $(OBJ_FILES)
-	-$(RM) -f $(TARGET)
-	$(CXX) $(L_FLAGS) -o $(TARGET) $(OBJ_FILES) $(LIBS)
-	-$(LINK) -s $(TARGET) $(TARGET0)
-	-$(LINK) -s $(TARGET) $(TARGET1)
-	-$(LINK) -s $(TARGET) $(TARGET2)
-
-clean: clean
-	-$(RM) -f $(TARGET)
-	-$(RM) -f src/*.o
-	-$(RM) -f src/gen/*.o
-	-$(RM) -f src/obj/*.o	
-	-$(RM) -f NvTriStrip/*.o	
-	-$(RM) -f TriStripper/*.o	
-	-$(RM) -f $(TARGETA)
-	-$(RM) -f $(TARGETD)
-	-$(RM) -f $(TARGET0)
-	-$(RM) -f $(TARGET1)
-	-$(RM) -f $(TARGET2)