<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="CvGameCoreDLL"
ProjectGUID="{29299FB8-F6C4-4054-A054-470F4E36D57B}"
Keyword="MakeFileProj"
TargetFrameworkVersion="196613"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="0"
>
<Tool
Name="VCNMakeTool"
BuildCommandLine="nmake Debug"
ReBuildCommandLine="nmake Debug_clean
nmake Debug"
CleanCommandLine="nmake Debug_clean"
Output=""
PreprocessorDefinitions="WIN32;_DEBUG;_USRDLL;KMOD_PATH_FINDER;FASSERT_ENABLE"
IncludeSearchPath=""
ForcedIncludes=""
AssemblySearchPath=""
ForcedUsingAssemblies=""
CompileAsManaged=""
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="0"
>
<Tool
Name="VCNMakeTool"
BuildCommandLine="nmake Release"
ReBuildCommandLine="nmake Release_clean
nmake Release"
CleanCommandLine="nmake Release_clean"
Output=""
PreprocessorDefinitions="WIN32;NDEBUG;_USRDLL;KMOD_PATH_FINDER"
IncludeSearchPath=""
ForcedIncludes=""
AssemblySearchPath=""
ForcedUsingAssemblies=""
CompileAsManaged=""
/>
</Configuration>
<Configuration
Name="Profile|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="0"
>
<Tool
Name="VCNMakeTool"
BuildCommandLine="nmake Profile"
ReBuildCommandLine="nmake Profile_clean
nmake Profile"
CleanCommandLine="nmake Profile_clean"
Output=""
PreprocessorDefinitions="WIN32;NDEBUG;_USRDLL;FP_PROFILE_ENABLE;USE_INTERNAL_PROFILER;KMOD_PATH_FINDER"
IncludeSearchPath=""
ForcedIncludes=""
AssemblySearchPath=""
ForcedUsingAssemblies=""
CompileAsManaged=""
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath=".\_precompile.cpp"
>
</File>
<File
RelativePath=".\BetterBTSAI.cpp"
>
</File>
<File
RelativePath=".\CvArea.cpp"
>
</File>
<File
RelativePath=".\CvArtFileMgr.cpp"
>
</File>
<File
RelativePath=".\CvBugOptions.cpp"
>
</File>
<File
RelativePath=".\CvCity.cpp"
>
</File>
<File
RelativePath=".\CvCityAI.cpp"
>
</File>
<File
RelativePath=".\CvDeal.cpp"
>
</File>
<File
RelativePath=".\CvDiploParameters.cpp"
>
</File>
<File
RelativePath=".\CvDLLButtonPopup.cpp"
>
</File>
<File
RelativePath=".\CvDLLEntity.cpp"
>
</File>
<File
RelativePath=".\CvDLLPython.cpp"
>
</File>
<File
RelativePath=".\CvDllPythonEvents.cpp"
>
</File>
<File
RelativePath=".\CvDllTranslator.cpp"
>
</File>
<File
RelativePath=".\CvDLLWidgetData.cpp"
>
</File>
<File
RelativePath=".\CvEventReporter.cpp"
>
</File>
<File
RelativePath=".\CvFractal.cpp"
>
</File>
<File
RelativePath=".\CvGame.cpp"
>
</File>
<File
RelativePath=".\CvGameAI.cpp"
>
</File>
<File
RelativePath=".\CvGameCoreDLL.cpp"
>
</File>
<File
RelativePath=".\CvGameCoreUtils.cpp"
>
</File>
<File
RelativePath=".\CvGameInterface.cpp"
>
</File>
<File
RelativePath=".\CvGameTextMgr.cpp"
>
</File>
<File
RelativePath=".\CvTextScreen.cpp"
>
</File>
<File
RelativePath=".\CvGlobals.cpp"
>
</File>
<File
RelativePath=".\CvHallOfFameInfo.cpp"
>
</File>
<File
RelativePath=".\CvInfos.cpp"
>
</File>
<File
RelativePath=".\CvInfoWater.cpp"
>
</File>
<File
RelativePath=".\CvInitCore.cpp"
>
</File>
<File
RelativePath=".\CvMap.cpp"
>
</File>
<File
RelativePath=".\CvMapGenerator.cpp"
>
</File>
<File
RelativePath=".\CvMessageControl.cpp"
>
</File>
<File
RelativePath=".\CvMessageData.cpp"
>
</File>
<File
RelativePath=".\CvPlayer.cpp"
>
</File>
<File
RelativePath=".\CvPlayerAI.cpp"
>
</File>
<File
RelativePath=".\CvPlot.cpp"
>
</File>
<File
RelativePath=".\CvPlotGroup.cpp"
>
</File>
<File
RelativePath=".\CvPopupInfo.cpp"
>
</File>
<File
RelativePath=".\CvPopupReturn.cpp"
>
</File>
<File
RelativePath=".\CvRandom.cpp"
>
</File>
<File
RelativePath=".\CvReplayInfo.cpp"
>
</File>
<File
RelativePath=".\CvReplayMessage.cpp"
>
</File>
<File
RelativePath=".\CvSelectionGroup.cpp"
>
</File>
<File
RelativePath=".\CvSelectionGroupAI.cpp"
>
</File>
<File
RelativePath=".\CvStatistics.cpp"
>
</File>
<File
RelativePath=".\CvStructs.cpp"
>
</File>
<File
RelativePath=".\CvTalkingHeadMessage.cpp"
>
</File>
<File
RelativePath=".\CvTeam.cpp"
>
</File>
<File
RelativePath=".\CvTeamAI.cpp"
>
</File>
<File
RelativePath=".\CvTextScreens.cpp"
>
</File>
<File
RelativePath=".\CvUnit.cpp"
>
</File>
<File
RelativePath=".\CvUnitAI.cpp"
>
</File>
<File
RelativePath=".\CvXMLLoadUtility.cpp"
>
</File>
<File
RelativePath=".\CvXMLLoadUtilityGet.cpp"
>
</File>
<File
RelativePath=".\CvXMLLoadUtilityInit.cpp"
>
</File>
<File
RelativePath=".\CvXMLLoadUtilitySet.cpp"
>
</File>
<File
RelativePath=".\CyArea.cpp"
>
</File>
<File
RelativePath=".\CyAreaInterface.cpp"
>
</File>
<File
RelativePath=".\CyArgsList.cpp"
>
</File>
<File
RelativePath=".\CyArtFileMgr.cpp"
>
</File>
<File
RelativePath=".\CyArtFileMgrInterface.cpp"
>
</File>
<File
RelativePath=".\CyCity.cpp"
>
</File>
<File
RelativePath=".\CyCityInterface1.cpp"
>
</File>
<File
RelativePath=".\CyDeal.cpp"
>
</File>
<File
RelativePath=".\CyEnumsInterface.cpp"
>
</File>
<File
RelativePath=".\CyGame.cpp"
>
</File>
<File
RelativePath=".\CyGameCoreUtils.cpp"
>
</File>
<File
RelativePath=".\CyGameCoreUtilsInterface.cpp"
>
</File>
<File
RelativePath=".\CyGameInterface.cpp"
>
</File>
<File
RelativePath=".\CyGameTextMgr.cpp"
>
</File>
<File
RelativePath=".\CyGameTextMgrInterface.cpp"
>
</File>
<File
RelativePath=".\CyGlobalContext.cpp"
>
</File>
<File
RelativePath=".\CyGlobalContextInterface1.cpp"
>
</File>
<File
RelativePath=".\CyGlobalContextInterface2.cpp"
>
</File>
<File
RelativePath=".\CyGlobalContextInterface3.cpp"
>
</File>
<File
RelativePath=".\CyGlobalContextInterface4.cpp"
>
</File>
<File
RelativePath=".\CyHallOfFameInfo.cpp"
>
</File>
<File
RelativePath=".\CyHallOfFameInterface.cpp"
>
</File>
<File
RelativePath=".\CyInfoInterface1.cpp"
>
</File>
<File
RelativePath=".\CyInfoInterface2.cpp"
>
</File>
<File
RelativePath=".\CyInfoInterface3.cpp"
>
</File>
<File
RelativePath=".\CyMap.cpp"
>
</File>
<File
RelativePath=".\CyMapGenerator.cpp"
>
</File>
<File
RelativePath=".\CyMapGeneratorInterface.cpp"
>
</File>
<File
RelativePath=".\CyMapInterface.cpp"
>
</File>
<File
RelativePath=".\CyMessageControl.cpp"
>
</File>
<File
RelativePath=".\CyMessageControlInterface.cpp"
>
</File>
<File
RelativePath=".\CyPlayer.cpp"
>
</File>
<File
RelativePath=".\CyPlayerInterface1.cpp"
>
</File>
<File
RelativePath=".\CyPlayerInterface2.cpp"
>
</File>
<File
RelativePath=".\CyPlot.cpp"
>
</File>
<File
RelativePath=".\CyPlotInterface1.cpp"
>
</File>
<File
RelativePath=".\CyRandomInterface.cpp"
>
</File>
<File
RelativePath=".\CyReplayInfo.cpp"
>
</File>
<File
RelativePath=".\CySelectionGroup.cpp"
>
</File>
<File
RelativePath=".\CySelectionGroupInterface.cpp"
>
</File>
<File
RelativePath=".\CyStructsInterface1.cpp"
>
</File>
<File
RelativePath=".\CyTeam.cpp"
>
</File>
<File
RelativePath=".\CyTeamInterface.cpp"
>
</File>
<File
RelativePath=".\CyUnit.cpp"
>
</File>
<File
RelativePath=".\CyUnitInterface1.cpp"
>
</File>
<File
RelativePath=".\FAssert.cpp"
>
</File>
<File
RelativePath=".\FDialogTemplate.cpp"
>
</File>
<File
RelativePath=".\KmodPathFinder.cpp"
>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
<File
RelativePath=".\AI_Defines.h"
>
</File>
<File
RelativePath=".\BetterBTSAI.h"
>
</File>
<File
RelativePath=".\CvArea.h"
>
</File>
<File
RelativePath=".\CvArtFileMgr.h"
>
</File>
<File
RelativePath=".\CvBugOptions.h"
>
</File>
<File
RelativePath=".\CvCity.h"
>
</File>
<File
RelativePath=".\CvCityAI.h"
>
</File>
<File
RelativePath=".\CvDeal.h"
>
</File>
<File
RelativePath=".\CvDefines.h"
>
</File>
<File
RelativePath=".\CvDefinesTGA.h"
>
</File>
<File
RelativePath=".\CvDiploParameters.h"
>
</File>
<File
RelativePath=".\CvDLLButtonPopup.h"
>
</File>
<File
RelativePath=".\CvDLLDataStreamIFaceBase.h"
>
</File>
<File
RelativePath=".\CvDLLEngineIFaceBase.h"
>
</File>
<File
RelativePath=".\CvDLLEntity.h"
>
</File>
<File
RelativePath=".\CvDLLEntityIFaceBase.h"
>
</File>
<File
RelativePath=".\CvDLLEventReporterIFaceBase.h"
>
</File>
<File
RelativePath=".\CvDLLFAStarIFaceBase.h"
>
</File>
<File
RelativePath=".\CvDLLFlagEntityIFaceBase.h"
>
</File>
<File
RelativePath=".\CvDLLIniParserIFaceBase.h"
>
</File>
<File
RelativePath=".\CvDLLInterfaceIFaceBase.h"
>
</File>
<File
RelativePath=".\CvDLLPlotBuilderIFaceBase.h"
>
</File>
<File
RelativePath=".\CvDllPythonEvents.h"
>
</File>
<File
RelativePath=".\CvDLLPythonIFaceBase.h"
>
</File>
<File
RelativePath=".\CvDLLSymbolIFaceBase.h"
>
</File>
<File
RelativePath=".\CvDllTranslator.h"
>
</File>
<File
RelativePath=".\CvDLLUtilityIFaceBase.h"
>
</File>
<File
RelativePath=".\CvDLLWidgetData.h"
>
</File>
<File
RelativePath=".\CvDLLXMLIFaceBase.h"
>
</File>
<File
RelativePath=".\CvEnums.h"
>
</File>
<File
RelativePath=".\CvEventReporter.h"
>
</File>
<File
RelativePath=".\CvFractal.h"
>
</File>
<File
RelativePath=".\CvGame.h"
>
</File>
<File
RelativePath=".\CvGameAI.h"
>
</File>
<File
RelativePath=".\CvGameCoreDLL.h"
>
</File>
<File
RelativePath=".\CvGameCoreDLLDefNew.h"
>
</File>
<File
RelativePath=".\CvGameCoreDLLUndefNew.h"
>
</File>
<File
RelativePath=".\CvGameCoreUtils.h"
>
</File>
<File
RelativePath=".\CvGameTextMgr.h"
>
</File>
<File
RelativePath=".\CvGlobals.h"
>
</File>
<File
RelativePath=".\CvHallOfFameInfo.h"
>
</File>
<File
RelativePath=".\CvInfos.h"
>
</File>
<File
RelativePath=".\CvInfoWater.h"
>
</File>
<File
RelativePath=".\CvInitCore.h"
>
</File>
<File
RelativePath=".\CvMap.h"
>
</File>
<File
RelativePath=".\CvMapGenerator.h"
>
</File>
<File
RelativePath=".\CvMessageControl.h"
>
</File>
<File
RelativePath=".\CvMessageData.h"
>
</File>
<File
RelativePath=".\CvPlayer.h"
>
</File>
<File
RelativePath=".\CvPlayerAI.h"
>
</File>
<File
RelativePath=".\CvPlot.h"
>
</File>
<File
RelativePath=".\CvPlotGroup.h"
>
</File>
<File
RelativePath=".\CvPopupInfo.h"
>
</File>
<File
RelativePath=".\CvPopupReturn.h"
>
</File>
<File
RelativePath=".\CvRandom.h"
>
</File>
<File
RelativePath=".\CvReplayInfo.h"
>
</File>
<File
RelativePath=".\CvReplayMessage.h"
>
</File>
<File
RelativePath=".\CvSelectionGroup.h"
>
</File>
<File
RelativePath=".\CvSelectionGroupAI.h"
>
</File>
<File
RelativePath=".\CvStatistics.h"
>
</File>
<File
RelativePath=".\CvString.h"
>
</File>
<File
RelativePath=".\CvStructs.h"
>
</File>
<File
RelativePath=".\CvTalkingHeadMessage.h"
>
</File>
<File
RelativePath=".\CvTeam.h"
>
</File>
<File
RelativePath=".\CvTeamAI.h"
>
</File>
<File
RelativePath=".\CvUnit.h"
>
</File>
<File
RelativePath=".\CvUnitAI.h"
>
</File>
<File
RelativePath=".\CvXMLLoadUtility.h"
>
</File>
<File
RelativePath=".\CyArea.h"
>
</File>
<File
RelativePath=".\CyArgsList.h"
>
</File>
<File
RelativePath=".\CyArtFileMgr.h"
>
</File>
<File
RelativePath=".\CyCity.h"
>
</File>
<File
RelativePath=".\CyDeal.h"
>
</File>
<File
RelativePath=".\CyGame.h"
>
</File>
<File
RelativePath=".\CyGameCoreUtils.h"
>
</File>
<File
RelativePath=".\CyGameTextMgr.h"
>
</File>
<File
RelativePath=".\CyGlobalContext.h"
>
</File>
<File
RelativePath=".\CyHallOfFameInfo.h"
>
</File>
<File
RelativePath=".\CyMap.h"
>
</File>
<File
RelativePath=".\CyMapGenerator.h"
>
</File>
<File
RelativePath=".\CyMessageControl.h"
>
</File>
<File
RelativePath=".\CyPlayer.h"
>
</File>
<File
RelativePath=".\CyPlot.h"
>
</File>
<File
RelativePath=".\CyReplayInfo.h"
>
</File>
<File
RelativePath=".\CySelectionGroup.h"
>
</File>
<File
RelativePath=".\CyTeam.h"
>
</File>
<File
RelativePath=".\CyUnit.h"
>
</File>
<File
RelativePath=".\FAssert.h"
>
</File>
<File
RelativePath=".\FAStarNode.h"
>
</File>
<File
RelativePath=".\FDataStreamBase.h"
>
</File>
<File
RelativePath=".\FDialogTemplate.h"
>
</File>
<File
RelativePath=".\FFreeListArray.h"
>
</File>
<File
RelativePath=".\FFreeListArrayBase.h"
>
</File>
<File
RelativePath=".\FFreeListTrashArray.h"
>
</File>
<File
RelativePath=".\FInputDevice.h"
>
</File>
<File
RelativePath=".\FProfiler.h"
>
</File>
<File
RelativePath=".\FVariableSystem.h"
>
</File>
<File
RelativePath=".\FVariableSystem.inl"
>
</File>
<File
RelativePath=".\interfaceDirtyBits.inl"
>
</File>
<File
RelativePath=".\KmodPathFinder.h"
>
</File>
<File
RelativePath=".\LinkedList.h"
>
</File>
<File
RelativePath=".\resource.h"
>
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
<File
RelativePath=".\CvGameCoreDLL.rc"
>
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>
#### Civilization 4 SDK Makefile 1.0 ####
#### Copyright 2010 Danny Daemonic ####
#########################################
#### Paths ####
TOOLKIT=C:\compile stuff\Microsoft Visual C++ Toolkit 2003
PSDK=C:\compile stuff\WindowsSDK
CIVINSTALL=D:\games\Civilization IV\Beyond the Sword
GLOBALBOOST=$(CIVINSTALL)\CvGameCoreDLL\Boost-1.32.0
GLOBALPYTHON=$(CIVINSTALL)\CvGameCoreDLL\Python24
## Uncomment to have newly compiled dlls copied to your mod's Assets directory
#YOURMOD=C:\Users\Danny\Documents\My Games\beyond the sword\MODS\MyMod
#### Tools ####
CC="$(TOOLKIT)\bin\cl.exe"
CPP="$(TOOLKIT)\bin\cl.exe"
LD="$(TOOLKIT)\bin\link.exe"
RC="$(PSDK)\bin\rc.exe"
## Uncomment to build dependencies using fastdep
FD="$(MAKEDIR)\bin\fastdep.exe"
#### BLACKLIST ####
## Uncomment to block CvTextScreen (accidentally included by Firaxis)
BLACKLIST=CvTextScreens
#### You shouldn't need to modify anything beyond this point ####
#################################################################
#### Target Files ####
Debug_BIN=Debug\CvGameCoreDLL.dll
Release_BIN=Release\CvGameCoreDLL.dll
Profile_BIN=Profile\CvGameCoreDLL.dll
!IF [IF NOT EXIST CvGameCoreDLL.rc EXIT 1] == 0
Debug_RESOURCE=Debug\CvGameCoreDLL.res
Release_RESOURCE=Release\CvGameCoreDLL.res
Profile_RESOURCE=Profile\CvGameCoreDLL.res
!ENDIF
Debug_STATICLIB=Debug\CvGameCoreDLL.lib
Release_STATICLIB=Release\CvGameCoreDLL.lib
Profile_STATICLIB=Profile\CvGameCoreDLL.lib
Debug_LIBDEF=Debug\CvGameCoreDLL.def
Release_LIBDEF=Release\CvGameCoreDLL.def
Profile_LIBDEF=Profile\CvGameCoreDLL.def
Debug_PCH=Debug\CvGameCoreDLL.pch
Release_PCH=Release\CvGameCoreDLL.pch
Profile_PCH=Profile\CvGameCoreDLL.pch
Debug_PDB=Debug\CvGameCoreDLL.pdb
Release_PDB=Release\CvGameCoreDLL.pdb
Profile_PDB=Profile\CvGameCoreDLL.pdb
Debug_OTHER=Debug\CvGameCoreDLL.exp Debug\CvGameCoreDLL.ilk
Release_OTHER=Release\CvGameCoreDLL.exp
Profile_OTHER=Profile\CvGameCoreDLL.exp
#### CFLAGS ####
GLOBAL_CFLAGS=/GR /Gy /W3 /EHsc /Gd /Gm- /DWIN32 /D_WINDOWS /D_USRDLL /DCVGAMECOREDLL_EXPORTS /Yu"CvGameCoreDLL.h"
Debug_CFLAGS=/MD /Zi /Od /D_DEBUG /DLOG_AI /RTC1 /Fp"$(Debug_PCH)" $(GLOBAL_CFLAGS)
Release_CFLAGS=/MD /O2 /Oy /Oi /Og /G7 /DNDEBUG /DFINAL_RELEASE /Fp"$(Release_PCH)" $(GLOBAL_CFLAGS)
Profile_CFLAGS=/MD /O2 /Oy /Oi /Og /G7 /DNDEBUG /DFP_PROFILE_ENABLE /DUSE_INTERNAL_PROFILER /Fp"$(Profile_PCH)" $(GLOBAL_CFLAGS)
#### LDFLAGS ####
GLOBAL_LDFLAGS=/DLL /NOLOGO /SUBSYSTEM:WINDOWS /LARGEADDRESSAWARE /TLBID:1
Debug_LDFLAGS=/INCREMENTAL /DEBUG /PDB:"$(Debug_PDB)" /IMPLIB:"$(Debug_STATICLIB)" $(GLOBAL_LDFLAGS)
Release_LDFLAGS=/INCREMENTAL:NO /OPT:REF /OPT:ICF /PDB:"$(Release_PDB)" $(GLOBAL_LDFLAGS)
Profile_LDFLAGS=/INCREMENTAL:NO /OPT:REF /OPT:ICF /PDB:"$(Profile_PDB)" $(GLOBAL_LDFLAGS)
#### INCLUDES ####
GLOBAL_INCS=/I"$(TOOLKIT)/include" /I"$(PSDK)/Include" /I"$(PSDK)/Include/mfc"
PROJECT_INCS=/IBoost-1.32.0/include /IPython24/include
Debug_INCS=$(PROJECT_INCS) $(GLOBAL_INCS)
Release_INCS=$(PROJECT_INCS) $(GLOBAL_INCS)
Profile_INCS=$(PROJECT_INCS) $(GLOBAL_INCS)
#### LIBS ####
GLOBAL_LIBS=/LIBPATH:"$(TOOLKIT)/lib" /LIBPATH:"$(PSDK)/Lib" winmm.lib user32.lib
PROJECT_LIBS=/LIBPATH:Python24/libs /LIBPATH:boost-1.32.0/libs/ boost_python-vc71-mt-1_32.lib
Debug_LIBS=$(PROJECT_LIBS) $(GLOBAL_LIBS) msvcprt.lib
Release_LIBS=$(PROJECT_LIBS) $(GLOBAL_LIBS)
Profile_LIBS=$(PROJECT_LIBS) $(GLOBAL_LIBS)
#### Objects ####
Debug_LINKOBJS=$(Debug_OBJS)
Release_LINKOBJS=$(Release_OBJS)
Profile_LINKOBJS=$(Profile_OBJS)
#### Auto SOURCES/OBJS ####
!IF [ECHO SOURCES= \> sources.mk] == 0 && \
[FOR %i IN (*.cpp) DO @ECHO. "%i" \>> sources.mk] == 0 && \
[ECHO.>> sources.mk] == 0 && \
[ECHO Debug_OBJS= \>> sources.mk] == 0 && \
[FOR /F "delims=." %i IN ('dir /b *.cpp') DO @ECHO. Debug\%i.obj \>> sources.mk] == 0 && \
[ECHO.>> sources.mk] == 0 && \
[ECHO Release_OBJS= \>> sources.mk] == 0 && \
[FOR /F "delims=." %i IN ('dir /b *.cpp') DO @ECHO. Release\%i.obj \>> sources.mk] == 0 && \
[ECHO.>> sources.mk] == 0 && \
[ECHO Profile_OBJS= \>> sources.mk] == 0 && \
[FOR /F "delims=." %i IN ('dir /b *.cpp') DO @ECHO. Profile\%i.obj \>> sources.mk] == 0 && \
[ECHO.>> sources.mk] == 0
!INCLUDE sources.mk
!IF [DEL sources.mk]
!ENDIF
!ENDIF
#### Targets ####
#################
.PHONY: all clean Debug_clean Release_clean Profile_clean Debug Release Profile
all: Debug Release
clean: Debug_clean Release_clean Profile_clean
Debug_clean:
@FOR %i IN ($(Debug_BIN) $(Debug_STATICLIB) $(Debug_LIBDEF) \
Debug\*.obj Debug\*.@ $(Debug_RESOURCE) \
$(Debug_PCH) $(Debug_PDB) $(Debug_OTHER)) DO @IF EXIST "%i" DEL "%i"
Release_clean:
@FOR %i IN ($(Release_BIN) $(Release_STATICLIB) $(Release_LIBDEF) \
Release\*.obj Release\*.@ $(Release_RESOURCE) \
$(Release_PCH) $(Release_PDB) $(Release_OTHER)) DO @IF EXIST "%i" DEL "%i"
Profile_clean:
@FOR %i IN ($(Profile_BIN) $(Profile_STATICLIB) $(Profile_LIBDEF) \
Profile\*.obj Profile\*.@ $(Profile_RESOURCE) \
$(Profile_PCH) $(Profile_PDB) $(Profile_OTHER)) DO @IF EXIST "%i" DEL "%i"
Debug: Debug_DIR Debug_unfinished $(Debug_PCH) $(Debug_BIN)
!IFDEF YOURMOD
-COPY "$(Debug_BIN)" "$(YOURMOD)\Assets\."
!ENDIF
Release: Release_DIR Release_unfinished $(Release_PCH) $(Release_BIN)
!IFDEF YOURMOD
-COPY "$(Release_BIN)" "$(YOURMOD)\Assets\."
!ENDIF
Profile: Profile_DIR Profile_unfinished $(Profile_PCH) $(Profile_BIN)
!IFDEF YOURMOD
-COPY "$(Profile_BIN)" "$(YOURMOD)\Assets\."
!ENDIF
Debug_DIR:
-@IF NOT EXIST "Debug\." MKDIR "Debug"
Release_DIR:
-@IF NOT EXIST "Release\." MKDIR "Release"
Profile_DIR:
-@IF NOT EXIST "Profile\." MKDIR "Profile"
Debug_unfinished:
@ECHO.>Debug\unfinished.@
@FOR /F "delims=@" %i IN ('dir /b Debug\*.@') DO \
@IF EXIST "Debug\%i" DEL "Debug\%i"
@FOR /F %i IN ('dir /b Debug\*.@') DO \
@IF EXIST "Debug\%i" DEL "Debug\%i"
Release_unfinished:
@ECHO.>Release\unfinished.@
@FOR /F "delims=@" %i IN ('dir /b Release\*.@') DO \
@IF EXIST "Release\%i" DEL "Release\%i"
@FOR /F %i IN ('dir /b Release\*.@') DO \
@IF EXIST "Release\%i" DEL "Release\%i"
Profile_unfinished:
@ECHO.>Profile\unfinished.@
@FOR /F "delims=@" %i IN ('dir /b Profile\*.@') DO \
@IF EXIST "Profile\%i" DEL "Profile\%i"
@FOR /F %i IN ('dir /b Profile\*.@') DO \
@IF EXIST "Profile\%i" DEL "Profile\%i"
$(Debug_BIN): $(Debug_LINKOBJS) $(Debug_RESOURCE)
$(LD) /out:$(Debug_BIN) $(Debug_LDFLAGS) $(Debug_LIBS) $(Debug_LINKOBJS) $(Debug_RESOURCE)
$(Release_BIN): $(Release_LINKOBJS) $(Release_RESOURCE)
$(LD) /out:$(Release_BIN) $(Release_LDFLAGS) $(Release_LIBS) $(Release_LINKOBJS) $(Release_RESOURCE)
$(Profile_BIN): $(Profile_LINKOBJS) $(Profile_RESOURCE)
$(LD) /out:$(Profile_BIN) $(Profile_LDFLAGS) $(Profile_LIBS) $(Profile_LINKOBJS) $(Profile_RESOURCE)
.cpp{Debug}.obj:
@ECHO.>"$*.obj.@"
$(CPP) /nologo $(Debug_CFLAGS) $(Debug_INCS) /Fo$*.obj /c $<
@DEL "$*.obj.@"
.cpp{Release}.obj:
@ECHO.>"$*.obj.@"
$(CPP) /nologo $(Release_CFLAGS) $(Release_INCS) /Fo$*.obj /c $<
@DEL "$*.obj.@"
.cpp{Profile}.obj:
@ECHO.>"$*.obj.@"
$(CPP) /nologo $(Profile_CFLAGS) $(Profile_INCS) /Fo$*.obj /c $<
@DEL "$*.obj.@"
$(Debug_PCH) Debug\_precompile.obj:
@ECHO.>"$(Debug_PCH).@"
@ECHO.>"Debug\_precompile.obj.@"
$(CPP) /nologo $(Debug_CFLAGS) $(Debug_INCS) /YcCvGameCoreDLL.h /Fo"Debug\_precompile.obj" /c _precompile.cpp
@DEL "$(Debug_PCH).@"
@DEL "Debug\_precompile.obj.@"
$(Release_PCH) Release\_precompile.obj:
@ECHO.>"$(Release_PCH).@"
@ECHO.>"Release\_precompile.obj.@"
$(CPP) /nologo $(Release_CFLAGS) $(Release_INCS) /YcCvGameCoreDLL.h /Fo"Release\_precompile.obj" /c _precompile.cpp
@DEL "$(Release_PCH).@"
@DEL "Release\_precompile.obj.@"
$(Profile_PCH) Profile\_precompile.obj:
@ECHO.>"$(Profile_PCH).@"
@ECHO.>"Profile\_precompile.obj.@"
$(CPP) /nologo $(Profile_CFLAGS) $(Profile_INCS) /YcCvGameCoreDLL.h /Fo"Profile\_precompile.obj" /c _precompile.cpp
@DEL "$(Profile_PCH).@"
@DEL "Profile\_precompile.obj.@"
.rc{Debug}.res:
@ECHO.>"$*.res.@"
$(RC) /Fo$@ $(Debug_INCS) $<
@DEL "$*.res.@"
.rc{Release}.res:
@ECHO.>"$*.res.@"
$(RC) /Fo$@ $(Release_INCS) $<
@DEL "$*.res.@"
.rc{Profile}.res:
@ECHO.>"$*.res.@"
$(RC) /Fo$@ $(Profile_INCS) $<
@DEL "$*.res.@"
!IFDEF BLACKLIST
Debug\$(BLACKLIST).obj: $(BLACKLIST).cpp
@ECHO.>"$*.obj.@"
@ECHO.>"$*-dummy.cpp"
$(CPP) /nologo $(Debug_CFLAGS) $(Debug_INCS) /Y- /Fo$@ /c "$*-dummy.cpp"
@DEL "$*-dummy.cpp"
@DEL "$*.obj.@"
Release\$(BLACKLIST).obj: $(BLACKLIST).cpp
@ECHO.>"$*.obj.@"
@ECHO.>"$*-dummy.cpp"
$(CPP) /nologo $(Release_CFLAGS) $(Release_INCS) /Y- /Fo$@ /c "$*-dummy.cpp"
@DEL "$*-dummy.cpp"
@DEL "$*.obj.@"
Profile\$(BLACKLIST).obj: $(BLACKLIST).cpp
@ECHO.>"$*.obj.@"
@ECHO.>"$*-dummy.cpp"
$(CPP) /nologo $(Profile_CFLAGS) $(Profile_INCS) /Y- /Fo$@ /c "$*-dummy.cpp"
@DEL "$*-dummy.cpp"
@DEL "$*.obj.@"
!ENDIF
!IFDEF FD
!IF [IF NOT EXIST $(FD) EXIT 1] == 0
!IF [$(FD) --objectextension=pch -q -O Debug CvGameCoreDLL.cpp > depends] != 0 || \
[$(FD) --objectextension=obj -q -O Debug $(SOURCES) >> depends] != 0 || \
[$(FD) --objectextension=pch -q -O Release CvGameCoreDLL.cpp >> depends] != 0 || \
[$(FD) --objectextension=obj -q -O Release $(SOURCES) >> depends] != 0 || \
[$(FD) --objectextension=pch -q -O Profile CvGameCoreDLL.cpp >> depends] != 0 || \
[$(FD) --objectextension=obj -q -O Profile $(SOURCES) >> depends] != 0
!MESSAGE Error running fastdep.
!ENDIF
!ELSE
!IF [ECHO "fastdep.exe" NOT FOUND! && \
ECHO Please edit Makefile to reflect the correct path of fastdep. && \
ECHO. ]
!ENDIF
!ENDIF
!ENDIF
!IF EXIST(depends)
!INCLUDE depends
!ENDIF
set TARGET=Profile
nmake dll
Two people have asked me this today (two different mods). I think I will have to write a wiki page about it or something because it's likely not the last time a mod freezes and I don't feel like explaining it every single time.how do i use the profile dll to find the error?
Thanks, this led me to the point where the problem occurs.The idea is to locate the function, which spends a lot more time than expected. The inclusive and exclusive columns are time spend there in/ex the functions that function calls. I would propose sorting by inclusive.
Scroll down to the first function which you didn't expect to spend that much time in and look for the telltale sign of a loop, which doesn't exit. It might be in the calling function.