# - Microsoft Visual C++ 2008 Express Edition Conf -
# --- general --------------------------------------
# $P  - project name
# $Pp - path to project directory
# $Pn - project name
# --- compile --------------------------------------
# $I  - input full name
# $Ip - input path
# $In - input name
# $Ie - input extension
# $O  - output file
# $Op - path to output file
# $On - output filename (without path)
# $Oe - output extension
# $R  - release/debug setting for compiler
# --- build ----------------------------------------
# $T  - target full name
# $Tp - target path
# $Tn - target name
# $O  - output file
# $Op - path to output file
# $On - output filename (without path)
# $Oe - output extension
# $R  - release/debug setting for linker

[Settings]

Target = 
Working Directory =.
Command Line Arguments = 

Category&00 = C/C++\general
Debug Information Format = Program Database for Edit & Continue|C7 Compatible|Line Numbers Only|Program Database|Disabled
Suppress Startup Banner = Yes|No
Warning Level = 3|Off|1|2|4
Detect 64bit Issues = No|Yes
Treat Warnings As Errors = No|Yes

Category&01 = C/C++\Optimization (Release Mode)
Optimization = Maximize Speed|Minimize Size|Full Optimization|Disabled
Inline Function Expansion = Default|Only __inline|Any Suitable
Enable Intrinsic Functions = No|Yes
Favor Size or Speed = Fast Code|Small Code
Omit Frame Pointers = No|Yes
Enable Fiber-safe Optimizations = No|Yes
Whole Program Optimization = No|Yes

Category&02 = C/C++\Preprocessor
Definitions (Debug) = WIN32; _DEBUG; _LIB
Definitions (Release) = WIN32; NDEBUG; _LIB
Ignore Standard Include Paths = No|Yes
Generate Preprocessed File = No|With Line Numbers|Without Line Numbers
Keep Comments = No|Yes

Category&03 = C/C++\Code Generation
Enable String Pooling = No|Yes
Enable Minimal Rebuild = No|Yes
Enable C++ Excentions = No|Yes|With SEH Exceptions
Smaller Type Check = No|Yes
Basic Runtime Checks = Default|Stack Frames|Uninitialized Variables|Both
Runtime Library = MT DLL|MT|MT Debug|MT Debug DLL
Struct Member Alignment = Default|1|2|4|8|16
Buffer Security Check = Yes|No
Enable Function-level Linking = No|Yes
Enable Enhanced Instruction Set = No|SSE|SSE2
Floating Point Model = Precise|Strict|Fast
Enable Floating Point Exceptions = No|Yes

Category&04 = C/C++\Language
Disable Language Extensions = No|Yes
Default Char Unsigned = No|Yes
Treat wchar_t as Built-in Type = Yes|No
Force Conformance In For Loop Scope = Yes|No
Enable Run-Time Type Info = No|Yes
OpenMP Support = No|Yes

Category&05 = C/C++\Precompiled Headers
Use/Create Precompiled Header = Not Using|Use|Create
Use/Create PCH Through File = StdAfx.h

Category&06 = C/C++\Output Files
Expand Attributed Source = No|Yes
Assembler Output = No|Assembly Only|Assembly Machine Code and Source|Assembly With Machine Code|Assembly With Source Code
Create XML Documentation = No|Yes

Category&07 = C/C++\Advanced
Calling Convention = __cdecl|__fastcall|__stdcall
Compile As = C++ Code|C Code|Default
Show Includes = No|Yes
Undefine All Preprocessor Definitions = No|Yes
Enable Code Analyse = No|Yes
Omit Default Library Names = No|Yes

Category&08 = C/C++\Additional
Additional Compiler Options =
Additional Include Directories = 

Category&10 = Librarian\General

Libraries = 
Additional Librarian Options = 

Category&11 = Others

Excluded Files = Excludes
External Dependencies=yes|no
MSSDK = 8F9E5EF3-A9A5-491B-A889-C58EFFECE8B3

[SettingsInfo]

MSSDK = Specify MSSDK version you have installed.
Target = Provides a space for you to specify an output file and location of the program that the linker creates.
Working Directory = Provides a space for you to specify the directory in which executing occurs. If you do not specify a directory, executing occurs in the directory where the executable is located.
Command Line Arguments = Provides a space for you to specify command-line arguments you want to pass to the program at startup.
Libraries = Provides a space for you to specify an object file or standard library (either static or import) to pass to the linker. Separate file names with a space.
Definitions (Debug) = Shows the switches the tool will use to build. You can to add or remove switches. Delimite them with semi-colon.
Definitions (Release) = Shows the switches the tool will use to build. You can to add or remove switches. Delimite them with semi-colon.
Excluded Files = This will exclude the file(s) included in this UE project group from the build.
Additional Compiler Options = Provides a space for you to specify an additional compiler options.
Additional Librarian Options = Provides a space for you to specify an additional linker options.
Debugger = Provides a space for you to set the debugger you want to use to debug application.
Additional Include Directories = Provides a place for you to add one or more directories to the list of directories searched for include files. Separate directory names with a semicolon.
External Dependencies = If you select "yes" option, UE Studio will generate in project group "External Dependencies" from included files.
Debug Information Format = Specifies the type of debugging information generated by the compiler.
Suppress Startup Banner = Suppress the display of the startup banner and information message.
Warning Level = Select how strict you want the compiler to be about checking for potentially suspect constructs.
Detect 64bit Issues = Tells the compiler to check for 64bit portability issues.
Treat Warnings As Errors = Enables the compiler to treat all warnings as errors.
Optimization = Select options for code optimization.
Inline Function Expansion = Select the level of inline function expansion for the build.
Enable Intrinsic Functions = Using intrinsic functions generates faster but larger code. 
Favor Size or Speed = Choose whether to favor code speed or code size.
Omit Frame Pointers = Suppresses frame pointers.
Enable Fiber-safe Optimizations = Enable memory space optimization when using fibers and thread local storage access.
Whole Program Optimization = Enables cross-module optimizations by delaying code generation to link time.
Ignore Standard Include Paths = Ignore standard include paths.
Generate Preprocessed File = Specifies the preprocessing option.
Keep Comments = Suppresses comment strip from source code.
Enable String Pooling = Enable readonly string pooling for generating smaller compiled code.
Enable Minimal Rebuild = Detect changes to C++ class definitions and recompile only affected source files.
Enable C++ Excentions = Calls destructors for automatic objects durring a stack unwind caused by an exception being thrown.
Smaller Type Check = Enable checking for conversion to smaller types. Incompatible with any optimization type other than debug.
Basic Runtime Checks = Perform basic runtime error checks. Incompatible with any other optimization type other than debug.
Runtime Library = Specify runtime library for linking.
Struct Member Alignment = Specify boundaries for struct member alignment.
Buffer Security Check = Check for buffer overruns. Useful for closing hackable loopholes on internet servers. Ignored for projects using CLR support.
Enable Function-level Linking = Enable function-level linking. Required for edit and continue to work.
Enable Enhanced Instruction Set = Enable use of instructions found on processors that support enhanced instructions sets.
Floating Point Model = Sets the floating point model.
Enable Floating Point Exceptions = Enables floating point exceptions when generating code.
Disable Language Extensions = Suppress or enables language extensions.
Default Char Unsigned = Sets the default char type to unsigned.
Treat wchar_t as Built-in Type = Treats wchar_t as built-in type.
Force Conformance In For Loop Scope = Forces the compiler to conform to the local scope in a for loop.
Enable Run-Time Type Info = Adds code for checking C++ object types at runtime (RTTI).
OpenMP Support = Enables OpenMP 2.0 language extensions.
Use/Create Precompiled Header = Enables creation or use of a precompiled header durring the build.
Use/Create PCH Through File = Specifies header file name to use when creating or using a precompiled header file.
Expand Attributed Source = Create listing file with expanded attributes injected into source file.
Assembler Output = Specifies the contents of assembly language output file.
Create XML Documentation = Specifies that the compiler should generate XML documentation comment files.
Calling Convention = Select the default calling convention for your application.
Compile As = Select compile language option for C and CPP files.
Show Includes = Generates a list of include files with compiler output.
Undefine All Preprocessor Definitions = Undefine all previously defined preprocessor values.
Enable Code Analyse = Enables code analysis functionality that identifies common coding defects in C/C++ code.
Omit Default Library Names = Do not include default library names in OBJ files.
Subsystem = Specifies subsystem for linker.

[SettingsReps]

Debug Information Format = Disabled=|Program Database for Edit & Continue=/ZI|C7 Compatible=/Z7|Line Numbers Only=/Zd|Program Database=/Zi
Suppress Startup Banner = No=|Yes=/nologo
Warning Level = Off=/W0|1=/W1|2=/W2|3=/W3|4=/W4
Detect 64bit Issues = No=|Yes=/Wp64
Treat Warnings As Errors = No=|Yes=/WX

Optimization = Maximize Speed=/O2|Minimize Size=/O1|Full Optimization=/Ox|Disabled=/Od
Inline Function Expansion = Default=|Only __inline=/Ob1|Any Suitable=/Ob2
Enable Intrinsic Functions = No=|Yes=/Oi
Favor Size or Speed = Fast Code=/Ot|Small Code=/Os
Omit Frame Pointers = No=|Yes=/Oy
Enable Fiber-safe Optimizations = No=|Yes=/GT
Whole Program Optimization = No=|Yes=/GL

Ignore Standard Include Paths = No=|Yes=/X
Generate Preprocessed File = No=|With Line Numbers=/P|Without Line Numbers=/EP /P
Keep Comments = No=|Yes=/C

Enable String Pooling = No=|Yes=/GF
Enable Minimal Rebuild = No=|Yes=/Gm
Enable C++ Excentions = No=|Yes=/EHsc|With SEH Exceptions=/EHa
Smaller Type Check = No=|Yes=/RTCc
Basic Runtime Checks = Default=|Stack Frames=/RTCs|Uninitialized Variables=/RTCu|Both=/RTC1
Runtime Library = MT DLL=/MD|MT=/MT|MT Debug=/MTd|MT Debug DLL=/MDd
Struct Member Alignment = Default=|1=/Zp1|2=/Zp2|4=/Zp4|8=/Zp8|16=/Zp16
Buffer Security Check = Yes=|No=/GS-
Enable Function-level Linking = No=|Yes=/Gy
Enable Enhanced Instruction Set = No=|SSE=/arch:SSE|SSE2=/arch:SSE2
Floating Point Model = Precise=/fp:precise|Strict=/fp:strict|Fast=/fp:fast
Enable Floating Point Exceptions = No=|Yes=/fp:except

Disable Language Extensions = No=|Yes=/Za
Default Char Unsigned = No=|Yes=/J
Treat wchar_t as Built-in Type = Yes=|No=/Zc:wchar_t
Force Conformance In For Loop Scope = Yes=|No=/Zc:forScope
Enable Run-Time Type Info = No=/GR-|Yes=/GR
OpenMP Support = No=|Yes=/openmp

Use/Create Precompiled Header = "Not Using=|Use=/Yu"$(Use/Create PCH Through File)"|Create=/Yc"$(Use/Create PCH Through File)""

Expand Attributed Source = No=|Yes=/Fx
Assembler Output = No=|Assembly Only=/FA|Assembly Machine Code and Source=/FAcs|Assembly With Machine Code=/FAc|Assembly With Source Code=/FAs
Create XML Documentation = No=|Yes=/doc

Calling Convention = __cdecl=/Gd|__fastcall=/Gr|__stdcall=/Gz
Compile As = Default=|C++ Code=/TP|C Code=/TC
Show Includes = No=|Yes=/showIncludes
Undefine All Preprocessor Definitions = No=|Yes=/u
Enable Code Analyse = No=|Yes=/analyze
Omit Default Library Names = No=|Yes=/Zl

External Dependencies = yes=1|no=0
                              
Subsystem = Console=/SUBSYSTEM:CONSOLE|Windows=/SUBSYSTEM:WINDOWS|Native=/SUBSYSTEM:NATIVE|EFI Application=/SUBSYSTEM:EFI_APPLICATION|EFI Boot Service Driver=/SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER|EFI ROM=/SUBSYSTEM:EFI_ROM|EFI Runtime=/SUBSYSTEM:EFI_RUNTIME_DRIVER|Posix=/SUBSYSTEM:POSIX|Windows CE=/SUBSYSTEM:WINDOWSCE

Definitions (Release) = @[;|/D "%s"]
Definitions (Debug) = @[;|/D "%s"]
Additional Include Directories=^@[;|%s;]
                             
[Variables]

C3OPT = $(Enable String Pooling) $(Enable Minimal Rebuild) $(Enable C++ Excentions) $(Smaller Type Check) $(Basic Runtime Checks) $(Runtime Library) $(Struct Member Alignment) $(Buffer Security Check) $(Enable Function-level Linking) $(Enable Enhanced Instruction Set) $(Floating Point Model) $(Enable Floating Point Exceptions)
C4OPT = $(Disable Language Extensions) $(Default Char Unsigned) $(Treat wchar_t as Built-in Type) $(Force Conformance In For Loop Scope) $(Enable Run-Time Type Info) $(OpenMP Support)
C6OPT = $(Expand Attributed Source) $(Assembler Output) $(Create XML Documentation)
C7OPT = $(Calling Convention) $(Compile As) $(Show Includes) $(Undefine All Preprocessor Definitions) $(Enable Code Analyse) $(Omit Default Library Names)

COPT = /FC $(Generate Preprocessed File) $(Keep Comments) $(Ignore Standard Include Paths) $(Suppress Startup Banner) $(Warning Level) $(Detect 64bit Issues) $(Treat Warnings As Errors) $(C3OPT) $(C4OPT) $(Use/Create Precompiled Header) $(C6OPT) $(C7OPT) $(Additional Compiler Options)
LOPT = $(Suppress Startup Banner) $(Additional Librarian Options) 

CRFLAG = $(Definitions (Release)) $(Optimization) $(Inline Function Expansion) $(Whole Program Optimization) $(Enable Intrinsic Functions) $(Favor Size or Speed) $(Omit Frame Pointers) $(Enable Fiber-safe Optimizations)
CDFLAG = $(Definitions (Debug)) $(Debug Information Format)
         
LRFLAG = 
LDFLAG =          
         
RootDir = $(HKEY_LOCAL_MACHINE\SOFTWARE$6432\Microsoft\VisualStudio\SxS\VS7\9.0)
VcDir = $(HKEY_LOCAL_MACHINE\SOFTWARE$6432\Microsoft\VisualStudio\SxS\VC7\9.0)
CommonDir = $(RootDir)Common7
SDKDir = $(RootDir)SDK\v3.5

MSSDKDir = $(HKEY_LOCAL_MACHINE\SOFTWARE$6432\Microsoft\MicrosoftSDK\InstalledSDKs\$(MSSDK)\Install Dir)

[Environment]

PATH = $(CommonDir)\IDE;$(CommonDir)\Tools;$(SDKDir)\bin;$(VcDir)\bin;$(VcDir)\PlatformSDK\bin;$(MSSDKDir)bin;%PATH%
INCLUDE = $(SDKDir)\include;$(VcDir)\include;$(VcDir)\PlatformSDK\include;$(Additional Include Directories);$(MSSDKDir)include;
LIB = $(SDKDir)\lib;$(VcDir)\lib;$(VcDir)\PlatformSDK\lib;$(MSSDKDir)lib;

[General]

TargetExt = .LIB
ReleaseOut = Release
DebugOut = Debug
UseFullPaths = 0
UseDosNames = 0
Excludes = $(Excluded Files)

.CPP=.C
.CXX=.C
.CC=.C
.I=.C
.S=.NSM
GenerateEDGroup=$(External Dependencies)

[MakeCommands]

makef = Show Makefile

[Show Makefile]
Title=Show makefile
Cmd0=uestudio $(UESMAKEFILE)
ShowWindow=1
DisplayConsole=0

[InsertFiles]

group0 = $(Libraries)

[FileGroups]

FGO = .obj;.res;
FGL = .lib;
FGD = .def;

[GroupFormats]

FGO = %s
FGL = %s

[Build]

Out = $T
Depends = $FGO
ReleaseFlag = $(LRFLAG)
DebugFlag = $(LDFLAG)
Cmd0 = LIB $(LOPT) $R /OUT:$O $FGO $FGL

[.C]

Out = $In.obj
ReleaseFlag = $(CRFLAG)
DebugFlag = $(CDFLAG)
Cmd0 = CL $(COPT) $R /c $I

IncFiles = 1
CaseSensitive = 1
IncDirs = .;$(INCLUDE);
IncKeyWords = #include;
Comments = /*.*/.//.eol.

[.RC]

Out = $In.res
Cmd0 = RC /fo$O $I
IncFiles = 1
CaseSensitive = 1
IncDirs = .;$(INCLUDE);
IncKeyWords = #include;
Comments = /*.*/.//.eol.

[.ASM]

Out = $In.obj
Cmd0 = ML /nologo /coff /c /Cp /Fo$O $I

IncFiles = 1
CaseSensitive = 0
IncDirs = .;$(INCLUDE);
IncKeyWords = include;
Comments = ;.eol.

[.NSM]

Out = $In.obj
Cmd0 = NASMW -f win32 -i$Ip -o$O $I
IncFiles = 1
CaseSensitive = 0
IncDirs = .;
IncKeyWords = %include;
Comments = ;.eol.

[Clean]
Clean0 = *.pdb
Clean1 = *.idb
Clean2 = *.ilk
