# --------- xHarbour Compiler 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 = xHarbour Options
GUI = none|FWH
3rd Party Rdd = None|RddAds
Automatic Memvar Declaration = no|yes
Variables Are Assumed = no|yes
Generate Preprocessed Output = no|yes
Use MT Library = no|yes
Warning Level = 1|2|3|4|0
Use xHarbour Dll = no|yes
User Include Path =
User Defines =

Compiler Options =
Linker Options =

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.
Compiler Options = Provides a space for you to specify an additional compiler options.
User Defines = Shows the switches the tool will use to build. Use ';' as delimiter.
Use MT Library = Set this if you want to use Multi threaded libraries
Linker Options = Provides a space for you to specify an additional linker options.
Excluded Files = This will exclude the file(s) included in this UE project group from the build.
External Dependencies=If you select "yes" option, UE Studio will generate in project group "External Dependencies" from included files.
3rd Party Rdd = You can specify here 3rd party Rdd


[SettingsReps]
User Defines = @[;|-D%s]
Automatic Memvar Declaration = no=|yes=/a
Variables Are Assumed = no=|yes=/v
Generate Preprocessed Output = no=|yes=/p
User Include Path = ^^@[;|;%s]
User Include Path&1 = ^^@[;| /i%s]
Use Multi Thread Library = no|yes
Warning Level = @/w%s
Use xHarbour Dll = no=|yes=harbour.lib
External Dependencies=yes=1|no=0


[Variables]
FWH = C:\FiveWin
CPATH = C:\xHarbour
BPATH = C:\Borland\BCC55

FWHI = $(FWH)\include
FWHL = $(FWH)\lib

GUII = {[$(GUI)=][none=][FWH=;$(FWHI)]}
GUIL = {[$(GUI)=][none=][FWH=;$(FWHL)]}

GUII&1 = {[$(GUI)=][none=][FWH=/i$(FWHI)]}

BOPT = -c -D__EXPORT__ -I$(CPATH)\INCLUDE;$(BPATH)\INCLUDE$(User Include Path)$(GUII) $(DEFS) 
COPT = /n /gc0 /q $(Compiler Options) /i$(CPATH)\INCLUDE $(User Include Path&1) $(GUII&1) $(User Defines) $(Automatic Memvar Declaration) $(Variables Are Assumed) $(Generate Preprocessed Output) $(Warning Level)

LOPT = -L$(BPATH)\LIB\OBJ;$(BPATH)\LIB;$(CPATH)\LIB$(GUIL) -Gn -M -m -s -Tpe -x $(GLnk) $(Linker Options) 
LIB1 = lang.lib vm.lib rtl.lib rdd.lib macro.lib pp.lib dbfntx.lib dbfcdx.lib dbffpt.lib common.lib codepage.lib ct.lib tip.lib pcrepos.lib hsx.lib hbsix.lib import32.lib cw32.lib
LIBM = lang.lib vmmt.lib rtlmt.lib rddmt.lib macromt.lib ppmt.lib dbfntxmt.lib dbfcdxmt.lib dbffptmt.lib common.lib codepage.lib ctmt.lib tipmt.lib pcrepos.lib hsxmt.lib hbsixmt.lib import32.lib cw32mt.lib

LIBX = {[$(Use MT Library)=][no=$(LIB1)][yes=$(LIBM)]}
DEFS = {[$(Use MT Library)=][no=][yes=-DHB_THREAD_SUPPORT -D__MT__]}
GLIB = {[$(GUI)=][none=gtwin.lib][FWH=fivehx.lib fivehc.lib gtgui.lib gtnul.lib]}
LIBS = $(Use xHarbour Dll) {[$(BuildMode)=][Debug=debug.lib]} $(GLIB) $(LIBX) {[$(3rd Party Rdd)=][RddAds=rddads.lib ace32.lib]}

GLnk = {[$(GUI)=][none=-ap][FWH=-aa]}
DCon = {[$(GUI)=][none=1][FWH=0]}

LinkWith = {[$(GUI)=][none=c0x32.obj][FWH=c0w32.obj]}

[Environment]
PATH = $(CPATH)\BIN;$(BPATH)\BIN;%PATH%
INCLUDE = $(CPATH)\INCLUDE;$(BPATH)\INCLUDE$(User Include Path);$(GUII)
LIB = $(CPATH)\LIB;$(BPATH)\LIB;$(GUIL)
OBJ = $(CPATH)\OBJ;
BuildMode = %UESMode%

[General]
TargetExt = .EXE
ReleaseOut = Release
DebugOut = Debug
UseFullPaths = 1
UseDosNames = 1
Excludes = $(Excluded Files)
GenerateEDGroup=$(External Dependencies)
.CPP = .C

[MakeCommands]
run = Execute Application
makef = Show Makefile

[Execute Application]
Title = Execute $T
Cmd0 = $(Command Line Arguments)
Depends = $T
ShowWindow = 1
DisplayConsole = $(DCon)

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

[InsertFiles]

[FileGroups]
FGO = .obj;
FGR = .res;
FGL = .lib;
FGD = .def;

[GroupFormats]
FGO = %s
FGR = %s
FGL = %s

[Build]
Out = $T
Depends = $FGO $FGR
DebugFlag = 
ReleaseFlag = 
Cmd0 = ILINK32 $(LOPT) $R $(LinkWith) $FGO,$On,,$(LIBS) $FGL,$FGD,$FGR

[.PRG]
Out = $In.c
DebugFlag = /b
ReleaseFlag = /l
Cmd0 = harbour $I $(COPT) $R /o$O 

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

[.C]
Out = $In.obj
Cmd0 = bcc32 $(BOPT) -o$O $I

[.RC]
Out = $In.res
Cmd0 = brcc32 -r -32 -fo$O $I

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