# ----------- Hi-Tech XA-C 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
Strict ANSI conformance = no|yes
Identifiers = 31
Memory Model = small|medium|large|huge
Unsigned char = no|yes
AA Symbolic HEX = no|yes
Avocet Table = no|yes
C Listing = no|yes
Double = no|yes|fast
Cross Reference Listing = no|yes
Printf = default|longs support|longs and floats support
Map file = no|yes
Pre file = no|yes
Proto file = no|yes
RAM Ranges = 
ROM Ranges = 
Warning Level = 0|-3|-2|-1|1|2|3|4|5|6|7|8|9
Optimization Level = 1|2|3|4|5|6|7|8|9
Optimize for = none|speed|size
Stack Checking = no|yes
Define Macros = 
Additional Include Path = 
Compiler Options = 
Category&03 = LINKER OPTIONS
Output Format = Motorola HEX|Binary image|Intel OMF51|Intel HEX|Tektronix HEX|American Automation symbolic Hex|UBROF
Link Startup = yes|no
Linker Options = 
Libraries = 
Debugger= 
Excluded Files = Excludes
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.
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.
AA Symbolic HEX = This option tells XAC to generate an American Automation symbolic format HEX file if producing a file with .hex extension.
Avocet Table = This option is used in conjunction with the -H option to generate Avocet style symbol tables for use with AVSIM simulators and certain in-circuit emulators.
C Listing = This option will request the compiler to generate a C source listing file.
Cross Reference Listing = This option will produce a cross reference listing.
Define Macros = Shows the switches the tool will use to build. This option may take one of two forms: -Dmacro or -Dmacro=text.
Additional Include Path = Use to specify an additional directory to use when searching for header files which have been included using the #include.
Printf = By default, printf() and related functions contained in the standard libraries support the printing of integers only.
Map file = This option is used to request the generation of a map file.
Link Startup = Using this option will not link in the standard runtime startup module.
Pre file = This option is used to generate preprocessed C source files with an extension .pre.
Proto file = This option is used to generate .pro files containing both ANSI and K&R style function declarations for all functions within the specified source files.
RAM Ranges = If there are multiple blocks of non-contiguous RAM available for far data, either due to physical memory layout or other requirements, the -RAM option allows these to be specified. Following the option are a comma-separated list of address ranges, in hex. For example 8000-ffff,20000-4ffff,1f000-1ffff.
ROM Ranges = Program code can be allocated into specific areas of the code memory space.If this option is used, then rather than all other code being allocated upwards from above the vectors, it will be allocated into the specified ranges.
Strict ANSI conformance = This option is used to enable strict ANSI conformance of all special keywords.
Unsigned char = This option will make the default char type unsigned char.
Warning Level = This option is used to set the compiler warning level. Allowable warning levels range from -3 to 9. The warning level determines how selective the compiler is about dubious type conversions and constructs.
Optimization Level = This option affect global optimization during the code generation pass. This can result in significant reductions to code size and internal RAM usage. This option is used only when RELEASE MODE is used.
Optimize for = This option affect global optimization during the code generation pass. This can result in significant reductions to code size and internal RAM usage. This option is used only when RELEASE MODE is used.
Stack Checking = This option affect global optimization during the code generation pass. This can result in significant reductions to code size and internal RAM usage. This option is used only when RELEASE MODE is used.
Double = Use 64 bit floating point for double if "yes", or 48 bit if "fast" is selected.
Identifiers = Specify number of significant characters in identifiers.

[SettingsReps]

External Dependencies=yes=1|no=0
AA Symbolic HEX = no=|yes=-AAHEX
Avocet Table = no=|yes=-AV
Output Format = Motorola HEX=-MOTOROLA|Binary image=-BIN|Intel OMF51=-OMF|Intel HEX=-INTEL|Tektronix HEX=-TEK|American Automation symbolic Hex=-AAHEX|UBROF=-UBROF
Memory Model = small=-Bs|medium=-Bm|large=-Bl|huge=-Bh
C Listing = no=|yes=-CLIST
Cross Reference Listing = no=|yes=-CR$In.crf
Additional Include Path = -I%s
Printf = default=|longs support=-Ll|longs and floats support=-Lf
Map file = no=|yes=-M$In.map
Link Startup = yes=|no=-NORT
Pre file = no=|yes=-PRE
Proto file = no=|yes=-PROTO
RAM Ranges = @-RAM%s
ROM Ranges = @-ROM%s
Strict ANSI conformance = no=|yes=-STRICT
Unsigned char = no=|yes=-UNSIGNED
Warning Level = @-W%s
Optimization Level = @-Zg%s
Optimize for = none=|speed=f|size=s
Stack Checking = no=|yes=k
Double = no=|yes=-DOUBLE|fast=-FDOUBLE
Identifiers = @-N%s

[Variables]

CPATH =C:\HT-XA
OPTM = $(Optimization Level)$(Stack Checking)$(Optimize for)
COPT = -C -E $(Warning Level) $(Strict ANSI conformance) $(Identifiers) $(Double) $(Unsigned char) $(Memory Model) $(Map file) $(Pre file) $(Proto file) $(RAM Ranges) $(ROM Ranges) $(Avocet Table) $(C Listing) $(Define Macros) $(Cross Reference Listing) $(Printf)
LOPT = $(Output Format) $(Link Startup) $(AA Symbolic HEX)

[Environment]

PATH = $(CPATH)\BIN
INCLUDE = $(CPATH)\INCLUDE
LIB = $(CPATH)\LIB

[General]

TargetExt = .HEX
ReleaseOut = Release
DebugOut = Debug
UseFullPaths = 0
UseDosNames = 0
Excludes = $(Excluded Files)
GenerateEDGroup=$(External Dependencies)
GrabErr = 0
GrabOut = 1

.AS = .C

[MakeCommands]

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

[Execute Application]

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

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

[InsertFiles]

group0 = $(Libraries)

[FileGroups]

FGO = .obj;
FGL = .lib;

[GroupFormats]

FGO = %s
FGL = %s

[Build]

Out = $T
Depends = $FGO
;file@0 = [bresp.cmd] -q -O$O $(LOPT) $FGO $FGL
Cmd0 = XAC -q -O$O $(LOPT) $FGO $FGL

[.C]

Out = $In.obj
DebugFlag = -G$In.sym
ReleaseFlag = -O $(OPTM)
;file@0 = [$In.cmd] -q $(COPT) $R -O$O $I
Cmd0 = XAC -q $(COPT) $R -O$O $I
IncFiles = 1
CaseSensitive = 1
IncDirs = .;$(INCLUDE);
IncKeyWords = #include;
Comments = /*.*/.//.eol.
[Show Makefile]
Title=Show makefile
Cmd0=uestudio $(UESMAKEFILE)
ShowWindow=1
DisplayConsole=0
