# -------------- MASM32 configuration --------------
# --- 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 = 
Category&01 = DEFAULT RUN CONFIGURATION
Working Directory =.
Command Line Arguments =
Category&02 = COMPILER OPTIONS
Object Format = COFF|OMF
Calls = DEFAULT|Pascal|C|StdCall
Warning Level = 0|1|2|3
Machine = IX86|ALPHA|ARM|MIPS|MIPS16|MIPSR41XX|PPC|SH3|SH4
Masm 510 Comp = no|yes
Tiny Model Support = no|yes
Preserve Case = ALL|PUBEXT|UPPERCASE
Code Listing = no|yes|<file name>
Line Width = 0
Page Length = 0
Linker Map File = no|yes|<file name>
SBR File = no|yes|<file name>
Extended SBR = no|yes
External Names = 31
Warnings As Errors = no|yes
Public All Symbols = no|yes
Struct Alignment = def|1|2|4
Preprocessor (Debug) = /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS"
Preprocessor (Release) = /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS"
Libraries = kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib shell32.lib
Stack Size = 
Compiler Options = 
Excluded Files = Excludes
Category&03 = LINKER OPTIONS
Align = 
Comment = 
Debug Type = Microsoft Format|COFF Format|Both Formats
Map File = no|yes
Map Info = 
Merge = 
Stub = 
Linker Options =
Debugger=windbg
External Dependencies=yes|no

[SettingsInfo]
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.
Warning Level = Specifies the severity of warning for which the compiler generates messages.	
Machine = This option specifies the target platform for the program.
Excluded Files = This will exclude the file(s) included in this UE project group from the build.
Compiler Options = Provides a space for you to specify an additional compiler options.
Linker 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.
External Dependencies=If you select "yes" option, UE Studio will generate in project group "External Dependencies" from included files.
Preprocessor (Debug) = Shows the switches the tool will use to build. You can to add or remove switches.
Preprocessor (Release) = Shows the switches the tool will use to build. You can to add or remove switches.
Tiny Model Support = Enables tiny-memory-model support. Enables error messages for code constructs that violate the requirements for .com format files.
Preserve Case = ALL - Preserves case of all user identifiers, PUBEXT - Preserves case in public and extern symbols, UPPERCASE - Maps all identifiers to uppercase.
Stack Size = Sets stack size to XX bytes. The value must be expressed in hexadecimal notation.
Code Listing = Generates an assembled code listing.
Linker Map File = Creates a linker map file.
SBR File = Generates a source browser .SBR file.
Extended SBR = Generates an extended form of a source browser .SBR file, if "SBR File" is set.
External Names = Restricts external names to number significant characters. The default is 31 characters.
Object Format = Format of object files generated by compiler.
Warnings As Errors = Returns an error code if warnings are generated.
Public All Symbols = Makes all symbols public.
Struct Alignment = Packs structures on the specified byte boundary. The alignment can be 1, 2, or 4.
Calls = Use Pascal, C, or Stdcall calls.
Masm 510 Comp = Enable MASM 5.10 compatibility.
Line Width = Sets the line width of source listing in characters per line. Range is 60 to 255 or 0.
Page Length = Sets the page length of source listing in lines per page. Range is 10 to 255 or 0.
Align = Specifies the alignment of each section.
Comment = Inserts a comment string into header.
Debug Type = Creates particular formats of debugging information.
Map File = Creates a map file.
Map Info = Includes the specified information in the map file. EXPORTS tells the linker to include exported functions. FIXUPS tells the linker to include base-relocation information. LINES includes line-number information.
Merge = FROM=TO. This option combines the first section (from) with the second section (to), naming the resulting section to. If the second section does not exist, LINK renames the section from as to.
Stub = Attaches an MS-DOS stub program to a Win32 program.

[SettingsReps]

External Dependencies=yes=1|no=0
Tiny Model Support = no=|yes=/AT
Warning Level = @/W%s
Preserve Case = ALL=/Cp|PUBEXT=/Cx|UPPERCASE=/Cu
Stack Size = @/F %s
Code Listing = no=|yes=/Fl|DEFAULT=@/Fl%s
Linker Map File = no=|yes=/Fm|DEFAULT=@/Fm%s
SBR File = no=|yes=/F$(Extended SBR)|DEFAULT=@/F$(Extended SBR)%s
Extended SBR = no=r|yes=R
External Names = 31=|DEFAULT=@/H %s
Object Format = COFF=/coff|OMF=/omf
Warnings As Errors = no=|yes=/WX
Public All Symbols = no=|yes=/Zf
Struct Alignment = def=|DEFAULT=@/Zp%s
Calls = DEFAULT=|Pascal=/Gc|C=/Gd|StdCall=/Gz
Masm 510 Comp = no=|yes=/Zm
Line Width = 0=|DEFAULT=@/Sl %s
Page Length = 0=|DEFAULT=@/Sp %s
Align = @/ALIGN:%s
Comment = "@/COMMENT:"%s""
Debug Type = Microsoft Format=/DEBUGTYPE:CV|COFF Format=/DEBUGTYPE:COFF|Both Formats=/DEBUGTYPE:BOTH
Map File = no=|yes=/MAP
Map Info = @/MAPINFO:{%s}
Merge = @/MERGE:%s
Stub = @/STUB:%s

[Variables]

CPATH =C:\MASM32
COPT = /c $(Object Format) $(Calls) $(Compiler Options) $(Warning Level) $(Tiny Model Support) $(Preserve Case) $(Stack Size) $(Code Listing) $(Linker Map File) $(Line Width) $(Page Length) $(SBR File) $(External Names) $(Warnings As Errors) $(Public All Symbols) $(Struct Alignment) $(Masm 510 Comp)
LOPT = /MACHINE:$(Machine) $(Linker Options) $(Align) $(Comment) $(Map File) $(Map Info) $(Merge) $(Stub)

[Environment]

PATH = $(CPATH)\BIN;%PATH%
INCLUDE = $(CPATH)\INCLUDE;$(HKEY_CURRENT_USER\Software\Microsoft\DevStudio\6.0\Build System\Components\Platforms\Win32 (x86)\Directories\Include Dirs);
LIB = $(CPATH)\LIB

[General]

TargetExt = .DLL
ReleaseOut = Release
DebugOut = Debug
UseFullPaths = 0
UseDosNames = 0
Excludes = $(Excluded Files)
GenerateEDGroup=$(External Dependencies)

[MakeCommands]

run = Execute Application
debug =Start Debugger
peview=PEview
makef=Show Makefile

[Execute Application]

Title = Execute $T
Cmd0 = $(Command Line Arguments)
Depends = $T
ShowWindow = 1
DisplayConsole = 1

[Start Debugger]

Cmd0 =$(Debugger) $T
Depends =$T
ShowWindow =1
Title=Debug $T

[PEview]
Title=Show PE Information
Depends=$T
Cmd0=uetools -pe $T
ShowWindow=1
DisplayConsole=0

[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
FGD = /def:%s

[Build]

Out = $T
Depends = $FGO
ReleaseFlag = /incremental:no
DebugFlag = /incremental:yes /debug
Cmd0 = LINK /NOLOGO /DLL $(LOPT) $FGD $R /implib:$Tn.lib /OUT:$O $FGO $FGL

[.RC]

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

[.ASM]

Out = $In.obj
DebugFlag = /Zi /Zd $(Preprocessor (Debug))
ReleaseFlag = $(Preprocessor (Release))
Cmd0 = ML /nologo $(COPT) /Fo$O $R $I

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

[.NSM]

Out = $In.obj
Cmd0 = NASMW -f win32 -i$Ip -o$O $I

