# ------------ ImageCraft 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
Comments = yes|no
ANSI = no|some|strict
Listing = yes|no
Code = mega|enhanced|enhanced short
Strings in Flash = no|yes
Relocation = yes|no
Compressor = yes|no
Output Format = COFF/HEX|COFF|Intel HEX|Motorola S19
Func Lit = ATMega|23xx|85xx
Data = ATMega|23xx|85xx
EEPROM = 1.512
DramEnd = 0x25f
Stack Size = 30
Libraries = liblpavr.a libstudio.a
Excluded Files = Excludes
Compiler Options = 
Linker Options =
Debugger= 

[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.
Comments = Accept C++ comments.
ANSI = Turn on/off ANSI checking.
Listing = Generate a listing file.
Strings in Flash = Allocate literal strings in FLASH only?
Relocation = Turn on relocation wrapping.
Compressor = Invoke the Code Compressor (operative only for the PROFESSIONAL version).
FuncLit = Assign the address ranges for the area named "func_lit".
Data = Assign the address ranges for the area or section named "data", which is the data memory on the AVR.
EEPROM = Assign the address ranges for the EEPROM. EEPROM data is written to <output file>.eep as an Intel HEX file regardless of the output file format.	
DramEnd = Define the end of the internal RAM area. This is used by the startup file to initialize the value of the hardware stack. For the classic non-Mega devices, "ram_end" is the size of the SRAM plus 96 bytes of IO and CPU registers minus one.
Stack Size = Define the size of the hardware stack. The hardware is allocated at the top of SRAM, then the software stack follows it.
Debugger=Provides a space for you to set the debugger you want to use to debug application.
	
[SettingsReps]

Comments = yes=-Wp-e|no=
ANSI = no=|some=-A|strict=-A -A
Listing = yes=-l|no=
Code = mega=-Mavr_mega|enhanced=-Mavr_enhanced|enhanced short=-Mavr_enhanced_short
Strings in Flash = yes=-str_in_flash|no=
Relocation = yes=-Wa-W -Wl-W|no=
Compressor = yes=-Wl-O|no=
Output Format = COFF/HEX=-fihx_coff|COFF=-fcoff|Intel HEX=-fintelhex|Motorola S19=-fmots19
FuncLit = ATMega=0x60.0x10000|23xx=0x1a.0x800|85xx=0x1a.0x2000
Data = ATMega=0x60.0x800|23xx=0x60.0x80|85xx=0x60.0x200

[Variables]
	
CPATH =C:\ICC
COPT = -e $(Compiler Options) $(Comments) $(ANSI) $(Listing) $(Code) $(Relocation) $(Strings in Flash) -I$(INCLUDE)
LOPT = -L$(LIB) $(Relocation) $(Compressor) -bfunc_lit:$(FuncLit) -bdata:$(Data) -beeprom:$(EEPROM) -dram_end:$(DramEnd) -dhwstk_size:$(Stack Size)

[Environment]
ICC = AVR
PATH = $(CPATH)\BIN
INCLUDE = $(CPATH)\INCLUDE\
LIB = $(CPATH)\LIB\

[General]

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

.S = .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

[InsertFiles]

group0 = $(Libraries)

[FileGroups]

FGO = .o;
FGL = .a;

[Build]

Out = $T
Depends = $FGO
DebugFlag = -g
Cmd0 = iccavr $(LOPT) $R -o$O $FGO $FGL

[.C]
Out = $In.o
DebugFlag = -g
Cmd0 = iccavr -c $(COPT) $R -o$O $I
[Start Debugger]
Title=Debug $T
Cmd0=$(Debugger) $T
Depends=$T
ShowWindow=1
[Show Makefile]
Title=Show makefile
Cmd0=uestudio $(UESMAKEFILE)
ShowWindow=1
DisplayConsole=0
