diff --git a/ChangeLog.txt b/ChangeLog.txt
index 84ce38105f..85bd29f695 100644
--- a/ChangeLog.txt
+++ b/ChangeLog.txt
@@ -10,6 +10,32 @@
* Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment
*/
+2013-03-29 21:36 UTC+0100 Viktor Szakats (harbour syenar.net)
+ + utils/hbmk2/_md_gen.hb
+ + added script to generate .md helps
+
+ + contrib/hbrun/doc/_GENERATED_
+ + contrib/hbrun/doc/hbrun.el.md
+ + contrib/hbrun/doc/hbrun.es.md
+ + contrib/hbrun/doc/hbrun.fr.md
+ + contrib/hbrun/doc/hbrun.hu.md
+ + contrib/hbrun/doc/hbrun.it.md
+ + contrib/hbrun/doc/hbrun.pt_BR.md
+ + utils/hbmk2/doc/_GENERATED_
+ + utils/hbmk2/doc/hbmk2.el.md
+ + utils/hbmk2/doc/hbmk2.es.md
+ + utils/hbmk2/doc/hbmk2.fr.md
+ + utils/hbmk2/doc/hbmk2.hu.md
+ + utils/hbmk2/doc/hbmk2.it.md
+ + utils/hbmk2/doc/hbmk2.pt_BR.md
+ * contrib/hbrun/hbrun.md -> contrib/hbrun/doc/hbrun.en.md
+ * utils/hbmk2/hbmk2.md -> utils/hbmk2/doc/hbmk2.en.md
+ + added hbmk2 and hbrun helps in all available languages
+ + added French files (by Alain Aupeix)
+
+ * README.md
+ * updated hbmk2 and hbrun online doc links
+
2013-03-29 20:07 UTC+0100 Viktor Szakats (harbour syenar.net)
* utils/hbmk2/hbmk2.prg
+ be more predictable when falling back to other dialects
diff --git a/README.md b/README.md
index 8c206991a7..c48a282cf7 100644
--- a/README.md
+++ b/README.md
@@ -1936,8 +1936,8 @@ Supported shells per host platforms:
* [Translation](https://www.transifex.com/projects/p/harbour/)
* [Issues](https://github.com/harbour/core/issues)
* Documents:
- * [hbmk2 documentation](utils/hbmk2/hbmk2.md)
- * [hbrun documentation](contrib/hbrun/hbrun.md)
+ * [hbmk2 documentation](utils/hbmk2/doc/hbmk2.en.md)
+ * [hbrun documentation](contrib/hbrun/doc/hbrun.en.md)
* [ChangeLog](ChangeLog.txt?raw=true)
* Comparing [Harbour to xHarbour](doc/xhb-diff.txt?raw=true)
* CA-Cl*pper 5.3 [online documentation](http://x-hacker.org/ng/53guide/)
diff --git a/contrib/hbrun/doc/_GENERATED_ b/contrib/hbrun/doc/_GENERATED_
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/contrib/hbrun/doc/hbrun.el.md b/contrib/hbrun/doc/hbrun.el.md
new file mode 100644
index 0000000000..fcf4116516
--- /dev/null
+++ b/contrib/hbrun/doc/hbrun.el.md
@@ -0,0 +1,115 @@
+Harbour Shell / Script Runner 3\.2\.0dev \(r2013\-03\-28 03:24\)
+Copyright \(c\) 2007\-2013, Viktor Szakáts
+Copyright \(c\) 2003\-2007, Przemysław Czerpak
+
+
+Syntax:
+
+ hbrun <file\[\.hb|\.prg|\.hrb|\.dbf\]>|<option> \[<parameter\[s\]>\]
+
+Description:
+
+
+ hbrun is able to run Harbour scripts \(both source and precompiled\), and it also features an interactive shell prompt\.
+
+Options below are available on command\-line:
+
+
+ - **\-\-hb:debug** Ενεργοποίηση αποσφαλμάτωσης script
+
+
+ - **\-help** this help
+ - **\-viewhelp** long help in text viewer
+ - **\-longhelp** long help
+ - **\-longhelpmd** long help in [Markdown](http://daringfireball.net/projects/markdown/) format
+
+Files:
+
+
+ - **\*\.hb** Harbour script
+ - **\*\.hrb** Harbour portable binary \(aka precompiled Harbour script\)
+ - **hbstart\.hb** startup Harbour script for interactive Harbour shell\. It gets executed automatically on shell startup, if present\. Possible locations \(in order of precedence\) \[\*\]: \.\\, %APPDATA%\\\.harbour, <hbrun κατάλογος>
+ - **shell plugins** \.hb and \.hrb plugins for interactive Harbour shell\. They may reside in \[\*\]: %APPDATA%\\\.harbour\\
+ - **\.hb\_history** stores command history for interactive Harbour shell\. You can disable history by making the first line 'no' \(without quotes and with newline\)\. Resides in \[\*\]: %APPDATA%\\\.harbour\\
+ - **hb\_extension** list of extensions to load in interactive Harbour shell\. One extension per line, part of line beyond a '\#' character is ignored\. Alternate filename on MS\-DOS: hb\_ext\.ini\. Resides in \[\*\]: %APPDATA%\\\.harbour\\
+
+
+Predefined constants in sources:
+
+
+ - **\_\_HBSCRIPT\_\_HBSHELL** when a Harbour source file is run as a shell script
+ - **<standard Harbour>** \_\_PLATFORM\_\_\*, \_\_ARCH\*BIT\_\_, \_\_\*\_ENDIAN\_\_, etc\.\.\.
+
+Μεταβλητές περιβάλλοντος:
+
+
+ - **HB\_EXTENSION** space separated list of extensions to load in interactive Harbour shell
+
+Shell API available in Harbour scripts:
+
+
+ - **hbshell\_gtSelect\( \[<cGT>\] \) \-> NIL**
+Switch GT\. Default \[\*\]: 'gtwin'
+ - **hbshell\_Clipper\(\) \-> NIL**
+Enable Clipper compatibility \(non\-Unicode\) mode\.
+ - **hbshell\_include\( <cHeader> \) \-> <lSuccess>**
+Load Harbour header\.
+ - **hbshell\_uninclude\( <cHeader> \) \-> <lSuccess>**
+Unload Harbour header\.
+ - **hbshell\_include\_list\(\) \-> NIL**
+Display list of loaded Harbour header\.
+ - **hbshell\_ext\_load\( <cPackageName> \) \-> <lSuccess>**
+Load package\. Similar to \#request PP directive\.
+ - **hbshell\_ext\_unload\( <cPackageName> \) \-> <lSuccess>**
+Unload package\.
+ - **hbshell\_ext\_get\_list\(\) \-> <aPackages>**
+List of loaded packages\.
+ - **hbshell\_DirBase\(\) \-> <cBaseDir>**
+DirBase\(\) not mapped to script\.
+ - **hbshell\_ProgName\(\) \-> <cPath>**
+ProgName\(\) not mapped to script\.
+
+Notes:
+
+
+ - \.hb, \.prg, \.hrb or \.dbf file passed as first parameter will be run as Harbour script\. If the filename contains no path components, it will be searched in current working directory and in PATH\. If not extension is given, \.hb and \.hrb extensions are searched, in that order\. \.dbf file will be opened automatically in shared mode and interactive Harbour shell launched\. Non\-standard extensions will be autodetected for source and precompiled script types\. Note, for Harbour scripts, the codepage is set to UTF\-8 by default\. The default core header 'hb\.ch' is automatically \#included\. The default date format is the ISO standard: yyyy\-mm\-dd\. The default GT is 'gtcgi', unless full\-screen CUI calls are detected, when 'gtwin' \[\*\] is automatically selected \(except for INIT PROCEDUREs\)\.
+ - You can use key <Alt\+V> in interactive Harbour shell to paste text from the clipboard\.
+ - Values marked with \[\*\] may be host platform and/or configuration dependent\. This help was generated on 'win' host platform\.
+
+License:
+
+
+ This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+\(at your option\) any later version\.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\. See the
+GNU General Public License for more details\.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc\., 675 Mass Ave, Cambridge, MA 02139, USA \(or visit
+their web site at http://www\.gnu\.org/\)\.
+
+License extensions:
+ \- This source code must be kept and distributed as part
+ of the Harbour package and/or the placement of the tool sources
+ and files must reflect that it is part of Harbour Project\.
+ \- Copyright information must always be presented by
+ projects including this tool or help text\.
+ \- Modified versions of the tool must clearly state this
+ fact on the copyright screen\.
+ \- Source code modifications shall always be made available
+ along with binaries\.
+ \- Help text and documentation is licensed under
+ Creative Commons Attribution\-ShareAlike 3\.0:
+ http://creativecommons\.org/licenses/by\-sa/3\.0/
+
+
+Author:
+
+
+ - Viktor Szakáts \(harbour syenar\.net\)
diff --git a/contrib/hbrun/hbrun.md b/contrib/hbrun/doc/hbrun.en.md
similarity index 98%
rename from contrib/hbrun/hbrun.md
rename to contrib/hbrun/doc/hbrun.en.md
index 74bdfdf1d9..6ad4750262 100644
--- a/contrib/hbrun/hbrun.md
+++ b/contrib/hbrun/doc/hbrun.en.md
@@ -1,4 +1,4 @@
-Harbour Shell / Script Runner 3\.2\.0dev \(r2013\-03\-26 11:07\)
+Harbour Shell / Script Runner 3\.2\.0dev \(r2013\-03\-28 03:24\)
Copyright \(c\) 2007\-2013, Viktor Szakáts
Copyright \(c\) 2003\-2007, Przemysław Czerpak
diff --git a/contrib/hbrun/doc/hbrun.es.md b/contrib/hbrun/doc/hbrun.es.md
new file mode 100644
index 0000000000..db55351126
--- /dev/null
+++ b/contrib/hbrun/doc/hbrun.es.md
@@ -0,0 +1,116 @@
+Harbour Shell / Script Runner 3\.2\.0dev \(r2013\-03\-28 03:24\)
+Copyright \(c\) 2007\-2013, Viktor Szakáts
+Copyright \(c\) 2003\-2007, Przemysław Czerpak
+
+Traducción \(es\): Guillermo Varona Silupú <gvaronas@gmail\.com>
+
+Sintáxis:
+
+ hbrun <file\[\.hb|\.prg|\.hrb|\.dbf\]>|<option> \[<parameter\[s\]>\]
+
+Description:
+
+
+ hbrun is able to run Harbour scripts \(both source and precompiled\), and it also features an interactive shell prompt\.
+
+Options below are available on command\-line:
+
+
+ - **\-\-hb:debug** enable script debugging
+
+
+ - **\-help** this help
+ - **\-viewhelp** long help in text viewer
+ - **\-longhelp** ayuda detallada
+ - **\-longhelpmd** long help in [Markdown](http://daringfireball.net/projects/markdown/) format
+
+Files:
+
+
+ - **\*\.hb** Harbour script
+ - **\*\.hrb** Harbour portable binary \(aka precompiled Harbour script\)
+ - **hbstart\.hb** startup Harbour script for interactive Harbour shell\. It gets executed automatically on shell startup, if present\. Possible locations \(in order of precedence\) \[\*\]: \.\\, %APPDATA%\\\.harbour, <hbrun directory>
+ - **shell plugins** \.hb and \.hrb plugins for interactive Harbour shell\. They may reside in \[\*\]: %APPDATA%\\\.harbour\\
+ - **\.hb\_history** stores command history for interactive Harbour shell\. You can disable history by making the first line 'no' \(without quotes and with newline\)\. Resides in \[\*\]: %APPDATA%\\\.harbour\\
+ - **hb\_extension** list of extensions to load in interactive Harbour shell\. One extension per line, part of line beyond a '\#' character is ignored\. Alternate filename on MS\-DOS: hb\_ext\.ini\. Resides in \[\*\]: %APPDATA%\\\.harbour\\
+
+
+Predefined constants in sources:
+
+
+ - **\_\_HBSCRIPT\_\_HBSHELL** when a Harbour source file is run as a shell script
+ - **<standard Harbour>** \_\_PLATFORM\_\_\*, \_\_ARCH\*BIT\_\_, \_\_\*\_ENDIAN\_\_, etc\.\.\.
+
+Environment variables:
+
+
+ - **HB\_EXTENSION** space separated list of extensions to load in interactive Harbour shell
+
+Shell API available in Harbour scripts:
+
+
+ - **hbshell\_gtSelect\( \[<cGT>\] \) \-> NIL**
+Switch GT\. Default \[\*\]: 'gtwin'
+ - **hbshell\_Clipper\(\) \-> NIL**
+Enable Clipper compatibility \(non\-Unicode\) mode\.
+ - **hbshell\_include\( <cHeader> \) \-> <lSuccess>**
+Load Harbour header\.
+ - **hbshell\_uninclude\( <cHeader> \) \-> <lSuccess>**
+Unload Harbour header\.
+ - **hbshell\_include\_list\(\) \-> NIL**
+Display list of loaded Harbour header\.
+ - **hbshell\_ext\_load\( <cPackageName> \) \-> <lSuccess>**
+Load package\. Similar to \#request PP directive\.
+ - **hbshell\_ext\_unload\( <cPackageName> \) \-> <lSuccess>**
+Unload package\.
+ - **hbshell\_ext\_get\_list\(\) \-> <aPackages>**
+List of loaded packages\.
+ - **hbshell\_DirBase\(\) \-> <cBaseDir>**
+DirBase\(\) not mapped to script\.
+ - **hbshell\_ProgName\(\) \-> <cPath>**
+ProgName\(\) not mapped to script\.
+
+Notas:
+
+
+ - \.hb, \.prg, \.hrb or \.dbf file passed as first parameter will be run as Harbour script\. If the filename contains no path components, it will be searched in current working directory and in PATH\. If not extension is given, \.hb and \.hrb extensions are searched, in that order\. \.dbf file will be opened automatically in shared mode and interactive Harbour shell launched\. Non\-standard extensions will be autodetected for source and precompiled script types\. Note, for Harbour scripts, the codepage is set to UTF\-8 by default\. The default core header 'hb\.ch' is automatically \#included\. The default date format is the ISO standard: yyyy\-mm\-dd\. The default GT is 'gtcgi', unless full\-screen CUI calls are detected, when 'gtwin' \[\*\] is automatically selected \(except for INIT PROCEDUREs\)\.
+ - You can use key <Alt\+V> in interactive Harbour shell to paste text from the clipboard\.
+ - Values marked with \[\*\] may be host platform and/or configuration dependent\. This help was generated on 'win' host platform\.
+
+License:
+
+
+ This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+\(at your option\) any later version\.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\. See the
+GNU General Public License for more details\.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc\., 675 Mass Ave, Cambridge, MA 02139, USA \(or visit
+their web site at http://www\.gnu\.org/\)\.
+
+License extensions:
+ \- This source code must be kept and distributed as part
+ of the Harbour package and/or the placement of the tool sources
+ and files must reflect that it is part of Harbour Project\.
+ \- Copyright information must always be presented by
+ projects including this tool or help text\.
+ \- Modified versions of the tool must clearly state this
+ fact on the copyright screen\.
+ \- Source code modifications shall always be made available
+ along with binaries\.
+ \- Help text and documentation is licensed under
+ Creative Commons Attribution\-ShareAlike 3\.0:
+ http://creativecommons\.org/licenses/by\-sa/3\.0/
+
+
+Author:
+
+
+ - Viktor Szakáts \(harbour syenar\.net\)
diff --git a/contrib/hbrun/doc/hbrun.fr.md b/contrib/hbrun/doc/hbrun.fr.md
new file mode 100644
index 0000000000..313678b02b
--- /dev/null
+++ b/contrib/hbrun/doc/hbrun.fr.md
@@ -0,0 +1,115 @@
+Harbour Shell / Script Runner 3\.2\.0dev \(r2013\-03\-28 03:24\)
+Copyright \(c\) 2007\-2013, Viktor Szakáts
+Copyright \(c\) 2003\-2007, Przemysław Czerpak
+
+
+Syntax:
+
+ hbrun <file\[\.hb|\.prg|\.hrb|\.dbf\]>|<option> \[<parameter\[s\]>\]
+
+Description:
+
+
+ hbrun is able to run Harbour scripts \(both source and precompiled\), and it also features an interactive shell prompt\.
+
+Options below are available on command\-line:
+
+
+ - **\-\-hb:debug** enable script debugging
+
+
+ - **\-help** this help
+ - **\-viewhelp** long help in text viewer
+ - **\-longhelp** long help
+ - **\-longhelpmd** long help in [Markdown](http://daringfireball.net/projects/markdown/) format
+
+Files:
+
+
+ - **\*\.hb** Harbour script
+ - **\*\.hrb** Harbour portable binary \(aka precompiled Harbour script\)
+ - **hbstart\.hb** startup Harbour script for interactive Harbour shell\. It gets executed automatically on shell startup, if present\. Possible locations \(in order of precedence\) \[\*\]: \.\\, %APPDATA%\\\.harbour, <Répertoire hbrun>
+ - **shell plugins** \.hb and \.hrb plugins for interactive Harbour shell\. They may reside in \[\*\]: %APPDATA%\\\.harbour\\
+ - **\.hb\_history** stores command history for interactive Harbour shell\. You can disable history by making the first line 'no' \(without quotes and with newline\)\. Resides in \[\*\]: %APPDATA%\\\.harbour\\
+ - **hb\_extension** list of extensions to load in interactive Harbour shell\. One extension per line, part of line beyond a '\#' character is ignored\. Alternate filename on MS\-DOS: hb\_ext\.ini\. Resides in \[\*\]: %APPDATA%\\\.harbour\\
+
+
+Predefined constants in sources:
+
+
+ - **\_\_HBSCRIPT\_\_HBSHELL** when a Harbour source file is run as a shell script
+ - **<standard Harbour>** \_\_PLATFORM\_\_\*, \_\_ARCH\*BIT\_\_, \_\_\*\_ENDIAN\_\_, etc\.\.\.
+
+Environment variables:
+
+
+ - **HB\_EXTENSION** space separated list of extensions to load in interactive Harbour shell
+
+Shell API available in Harbour scripts:
+
+
+ - **hbshell\_gtSelect\( \[<cGT>\] \) \-> NIL**
+Switch GT\. Default \[\*\]: 'gtwin'
+ - **hbshell\_Clipper\(\) \-> NIL**
+Enable Clipper compatibility \(non\-Unicode\) mode\.
+ - **hbshell\_include\( <cHeader> \) \-> <lSuccess>**
+Load Harbour header\.
+ - **hbshell\_uninclude\( <cHeader> \) \-> <lSuccess>**
+Unload Harbour header\.
+ - **hbshell\_include\_list\(\) \-> NIL**
+Display list of loaded Harbour header\.
+ - **hbshell\_ext\_load\( <cPackageName> \) \-> <lSuccess>**
+Load package\. Similar to \#request PP directive\.
+ - **hbshell\_ext\_unload\( <cPackageName> \) \-> <lSuccess>**
+Unload package\.
+ - **hbshell\_ext\_get\_list\(\) \-> <aPackages>**
+List of loaded packages\.
+ - **hbshell\_DirBase\(\) \-> <cBaseDir>**
+DirBase\(\) not mapped to script\.
+ - **hbshell\_ProgName\(\) \-> <cPath>**
+ProgName\(\) not mapped to script\.
+
+Notes:
+
+
+ - \.hb, \.prg, \.hrb or \.dbf file passed as first parameter will be run as Harbour script\. If the filename contains no path components, it will be searched in current working directory and in PATH\. If not extension is given, \.hb and \.hrb extensions are searched, in that order\. \.dbf file will be opened automatically in shared mode and interactive Harbour shell launched\. Non\-standard extensions will be autodetected for source and precompiled script types\. Note, for Harbour scripts, the codepage is set to UTF\-8 by default\. The default core header 'hb\.ch' is automatically \#included\. The default date format is the ISO standard: yyyy\-mm\-dd\. The default GT is 'gtcgi', unless full\-screen CUI calls are detected, when 'gtwin' \[\*\] is automatically selected \(except for INIT PROCEDUREs\)\.
+ - You can use key <Alt\+V> in interactive Harbour shell to paste text from the clipboard\.
+ - Values marked with \[\*\] may be host platform and/or configuration dependent\. This help was generated on 'win' host platform\.
+
+License:
+
+
+ This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+\(at your option\) any later version\.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\. See the
+GNU General Public License for more details\.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc\., 675 Mass Ave, Cambridge, MA 02139, USA \(or visit
+their web site at http://www\.gnu\.org/\)\.
+
+License extensions:
+ \- This source code must be kept and distributed as part
+ of the Harbour package and/or the placement of the tool sources
+ and files must reflect that it is part of Harbour Project\.
+ \- Copyright information must always be presented by
+ projects including this tool or help text\.
+ \- Modified versions of the tool must clearly state this
+ fact on the copyright screen\.
+ \- Source code modifications shall always be made available
+ along with binaries\.
+ \- Help text and documentation is licensed under
+ Creative Commons Attribution\-ShareAlike 3\.0:
+ http://creativecommons\.org/licenses/by\-sa/3\.0/
+
+
+Author:
+
+
+ - Viktor Szakáts \(harbour syenar\.net\)
diff --git a/contrib/hbrun/doc/hbrun.hu.md b/contrib/hbrun/doc/hbrun.hu.md
new file mode 100644
index 0000000000..0a87a395f1
--- /dev/null
+++ b/contrib/hbrun/doc/hbrun.hu.md
@@ -0,0 +1,116 @@
+Harbour Shell / Script Runner 3\.2\.0dev \(r2013\-03\-28 03:24\)
+Copyright \(c\) 2007\-2013, Viktor Szakáts
+Copyright \(c\) 2003\-2007, Przemysław Czerpak
+
+Magyar \(hu\) fordítás: Copyright \(c\) 2009\-2013, Szakáts Viktor
+
+Használat:
+
+ hbrun <file\[\.hb|\.prg|\.hrb|\.dbf\]>|<option> \[<parameter\[s\]>\]
+
+Description:
+
+
+ hbrun is able to run Harbour scripts \(both source and precompiled\), and it also features an interactive shell prompt\.
+
+Options below are available on command\-line:
+
+
+ - **\-\-hb:debug** enable script debugging
+
+
+ - **\-help** this help
+ - **\-viewhelp** long help in text viewer
+ - **\-longhelp** teljes súgó
+ - **\-longhelpmd** long help in [Markdown](http://daringfireball.net/projects/markdown/) format
+
+Files:
+
+
+ - **\*\.hb** Harbour script
+ - **\*\.hrb** Harbour portable binary \(aka precompiled Harbour script\)
+ - **hbstart\.hb** startup Harbour script for interactive Harbour shell\. It gets executed automatically on shell startup, if present\. Possible locations \(in order of precedence\) \[\*\]: \.\\, %APPDATA%\\\.harbour, <hbrun mappa>
+ - **shell plugins** \.hb and \.hrb plugins for interactive Harbour shell\. They may reside in \[\*\]: %APPDATA%\\\.harbour\\
+ - **\.hb\_history** stores command history for interactive Harbour shell\. You can disable history by making the first line 'no' \(without quotes and with newline\)\. Resides in \[\*\]: %APPDATA%\\\.harbour\\
+ - **hb\_extension** list of extensions to load in interactive Harbour shell\. One extension per line, part of line beyond a '\#' character is ignored\. Alternate filename on MS\-DOS: hb\_ext\.ini\. Resides in \[\*\]: %APPDATA%\\\.harbour\\
+
+
+Predefined constants in sources:
+
+
+ - **\_\_HBSCRIPT\_\_HBSHELL** when a Harbour source file is run as a shell script
+ - **<standard Harbour>** \_\_PLATFORM\_\_\*, \_\_ARCH\*BIT\_\_, \_\_\*\_ENDIAN\_\_, etc\.\.\.
+
+Environment variables:
+
+
+ - **HB\_EXTENSION** space separated list of extensions to load in interactive Harbour shell
+
+Shell API available in Harbour scripts:
+
+
+ - **hbshell\_gtSelect\( \[<cGT>\] \) \-> NIL**
+Switch GT\. Default \[\*\]: 'gtwin'
+ - **hbshell\_Clipper\(\) \-> NIL**
+Enable Clipper compatibility \(non\-Unicode\) mode\.
+ - **hbshell\_include\( <cHeader> \) \-> <lSuccess>**
+Load Harbour header\.
+ - **hbshell\_uninclude\( <cHeader> \) \-> <lSuccess>**
+Unload Harbour header\.
+ - **hbshell\_include\_list\(\) \-> NIL**
+Display list of loaded Harbour header\.
+ - **hbshell\_ext\_load\( <cPackageName> \) \-> <lSuccess>**
+Load package\. Similar to \#request PP directive\.
+ - **hbshell\_ext\_unload\( <cPackageName> \) \-> <lSuccess>**
+Unload package\.
+ - **hbshell\_ext\_get\_list\(\) \-> <aPackages>**
+List of loaded packages\.
+ - **hbshell\_DirBase\(\) \-> <cBaseDir>**
+DirBase\(\) not mapped to script\.
+ - **hbshell\_ProgName\(\) \-> <cPath>**
+ProgName\(\) not mapped to script\.
+
+Megjegyzések:
+
+
+ - \.hb, \.prg, \.hrb or \.dbf file passed as first parameter will be run as Harbour script\. If the filename contains no path components, it will be searched in current working directory and in PATH\. If not extension is given, \.hb and \.hrb extensions are searched, in that order\. \.dbf file will be opened automatically in shared mode and interactive Harbour shell launched\. Non\-standard extensions will be autodetected for source and precompiled script types\. Note, for Harbour scripts, the codepage is set to UTF\-8 by default\. The default core header 'hb\.ch' is automatically \#included\. The default date format is the ISO standard: yyyy\-mm\-dd\. The default GT is 'gtcgi', unless full\-screen CUI calls are detected, when 'gtwin' \[\*\] is automatically selected \(except for INIT PROCEDUREs\)\.
+ - You can use key <Alt\+V> in interactive Harbour shell to paste text from the clipboard\.
+ - Values marked with \[\*\] may be host platform and/or configuration dependent\. This help was generated on 'win' host platform\.
+
+License:
+
+
+ This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+\(at your option\) any later version\.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\. See the
+GNU General Public License for more details\.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc\., 675 Mass Ave, Cambridge, MA 02139, USA \(or visit
+their web site at http://www\.gnu\.org/\)\.
+
+License extensions:
+ \- This source code must be kept and distributed as part
+ of the Harbour package and/or the placement of the tool sources
+ and files must reflect that it is part of Harbour Project\.
+ \- Copyright information must always be presented by
+ projects including this tool or help text\.
+ \- Modified versions of the tool must clearly state this
+ fact on the copyright screen\.
+ \- Source code modifications shall always be made available
+ along with binaries\.
+ \- Help text and documentation is licensed under
+ Creative Commons Attribution\-ShareAlike 3\.0:
+ http://creativecommons\.org/licenses/by\-sa/3\.0/
+
+
+Author:
+
+
+ - Viktor Szakáts \(harbour syenar\.net\)
diff --git a/contrib/hbrun/doc/hbrun.it.md b/contrib/hbrun/doc/hbrun.it.md
new file mode 100644
index 0000000000..dd173498df
--- /dev/null
+++ b/contrib/hbrun/doc/hbrun.it.md
@@ -0,0 +1,115 @@
+Harbour Shell / Script Runner 3\.2\.0dev \(r2013\-03\-28 03:24\)
+Copyright \(c\) 2007\-2013, Viktor Szakáts
+Copyright \(c\) 2003\-2007, Przemysław Czerpak
+
+
+Syntax:
+
+ hbrun <file\[\.hb|\.prg|\.hrb|\.dbf\]>|<option> \[<parameter\[s\]>\]
+
+Description:
+
+
+ hbrun is able to run Harbour scripts \(both source and precompiled\), and it also features an interactive shell prompt\.
+
+Options below are available on command\-line:
+
+
+ - **\-\-hb:debug** enable script debugging
+
+
+ - **\-help** this help
+ - **\-viewhelp** long help in text viewer
+ - **\-longhelp** long help
+ - **\-longhelpmd** long help in [Markdown](http://daringfireball.net/projects/markdown/) format
+
+Files:
+
+
+ - **\*\.hb** Harbour script
+ - **\*\.hrb** Harbour portable binary \(aka precompiled Harbour script\)
+ - **hbstart\.hb** startup Harbour script for interactive Harbour shell\. It gets executed automatically on shell startup, if present\. Possible locations \(in order of precedence\) \[\*\]: \.\\, %APPDATA%\\\.harbour, <hbrun cartella>
+ - **shell plugins** \.hb and \.hrb plugins for interactive Harbour shell\. They may reside in \[\*\]: %APPDATA%\\\.harbour\\
+ - **\.hb\_history** stores command history for interactive Harbour shell\. You can disable history by making the first line 'no' \(without quotes and with newline\)\. Resides in \[\*\]: %APPDATA%\\\.harbour\\
+ - **hb\_extension** list of extensions to load in interactive Harbour shell\. One extension per line, part of line beyond a '\#' character is ignored\. Alternate filename on MS\-DOS: hb\_ext\.ini\. Resides in \[\*\]: %APPDATA%\\\.harbour\\
+
+
+Predefined constants in sources:
+
+
+ - **\_\_HBSCRIPT\_\_HBSHELL** when a Harbour source file is run as a shell script
+ - **<standard Harbour>** \_\_PLATFORM\_\_\*, \_\_ARCH\*BIT\_\_, \_\_\*\_ENDIAN\_\_, etc\.\.\.
+
+Environment variables:
+
+
+ - **HB\_EXTENSION** space separated list of extensions to load in interactive Harbour shell
+
+Shell API available in Harbour scripts:
+
+
+ - **hbshell\_gtSelect\( \[<cGT>\] \) \-> NIL**
+Switch GT\. Default \[\*\]: 'gtwin'
+ - **hbshell\_Clipper\(\) \-> NIL**
+Enable Clipper compatibility \(non\-Unicode\) mode\.
+ - **hbshell\_include\( <cHeader> \) \-> <lSuccess>**
+Load Harbour header\.
+ - **hbshell\_uninclude\( <cHeader> \) \-> <lSuccess>**
+Unload Harbour header\.
+ - **hbshell\_include\_list\(\) \-> NIL**
+Display list of loaded Harbour header\.
+ - **hbshell\_ext\_load\( <cPackageName> \) \-> <lSuccess>**
+Load package\. Similar to \#request PP directive\.
+ - **hbshell\_ext\_unload\( <cPackageName> \) \-> <lSuccess>**
+Unload package\.
+ - **hbshell\_ext\_get\_list\(\) \-> <aPackages>**
+List of loaded packages\.
+ - **hbshell\_DirBase\(\) \-> <cBaseDir>**
+DirBase\(\) not mapped to script\.
+ - **hbshell\_ProgName\(\) \-> <cPath>**
+ProgName\(\) not mapped to script\.
+
+Notes:
+
+
+ - \.hb, \.prg, \.hrb or \.dbf file passed as first parameter will be run as Harbour script\. If the filename contains no path components, it will be searched in current working directory and in PATH\. If not extension is given, \.hb and \.hrb extensions are searched, in that order\. \.dbf file will be opened automatically in shared mode and interactive Harbour shell launched\. Non\-standard extensions will be autodetected for source and precompiled script types\. Note, for Harbour scripts, the codepage is set to UTF\-8 by default\. The default core header 'hb\.ch' is automatically \#included\. The default date format is the ISO standard: yyyy\-mm\-dd\. The default GT is 'gtcgi', unless full\-screen CUI calls are detected, when 'gtwin' \[\*\] is automatically selected \(except for INIT PROCEDUREs\)\.
+ - You can use key <Alt\+V> in interactive Harbour shell to paste text from the clipboard\.
+ - Values marked with \[\*\] may be host platform and/or configuration dependent\. This help was generated on 'win' host platform\.
+
+License:
+
+
+ This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+\(at your option\) any later version\.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\. See the
+GNU General Public License for more details\.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc\., 675 Mass Ave, Cambridge, MA 02139, USA \(or visit
+their web site at http://www\.gnu\.org/\)\.
+
+License extensions:
+ \- This source code must be kept and distributed as part
+ of the Harbour package and/or the placement of the tool sources
+ and files must reflect that it is part of Harbour Project\.
+ \- Copyright information must always be presented by
+ projects including this tool or help text\.
+ \- Modified versions of the tool must clearly state this
+ fact on the copyright screen\.
+ \- Source code modifications shall always be made available
+ along with binaries\.
+ \- Help text and documentation is licensed under
+ Creative Commons Attribution\-ShareAlike 3\.0:
+ http://creativecommons\.org/licenses/by\-sa/3\.0/
+
+
+Author:
+
+
+ - Viktor Szakáts \(harbour syenar\.net\)
diff --git a/contrib/hbrun/doc/hbrun.pt_BR.md b/contrib/hbrun/doc/hbrun.pt_BR.md
new file mode 100644
index 0000000000..6546049819
--- /dev/null
+++ b/contrib/hbrun/doc/hbrun.pt_BR.md
@@ -0,0 +1,116 @@
+Harbour Shell / Script Runner 3\.2\.0dev \(r2013\-03\-28 03:24\)
+Copyright \(c\) 2007\-2013, Viktor Szakáts
+Copyright \(c\) 2003\-2007, Przemysław Czerpak
+
+Translation \(pt\_BR\): Vailton Renato <vailtom@gmail\.com>
+
+Sintaxe:
+
+ hbrun <arquivo \[\.hb|\.prg|\.hrb|\.dbf\]>|<opção> \[<parameter\[s\]>\]
+
+Descrições:
+
+
+ hbrun is able to run Harbour scripts \(both source and precompiled\), and it also features an interactive shell prompt\.
+
+Opções abaixo estão disponíveis em linha de comando:
+
+
+ - **\-\-hb:debug** enable script debugging
+
+
+ - **\-help** this help
+ - **\-viewhelp** long help in text viewer
+ - **\-longhelp** ajuda detalhada
+ - **\-longhelpmd** long help in [Markdown](http://daringfireball.net/projects/markdown/) format
+
+Files:
+
+
+ - **\*\.hb** Harbour script
+ - **\*\.hrb** Harbour portable binary \(aka precompiled Harbour script\)
+ - **hbstart\.hb** startup Harbour script for interactive Harbour shell\. It gets executed automatically on shell startup, if present\. Possible locations \(in order of precedence\) \[\*\]: \.\\, %APPDATA%\\\.harbour, <hbrun diretório>
+ - **shell plugins** \.hb and \.hrb plugins for interactive Harbour shell\. They may reside in \[\*\]: %APPDATA%\\\.harbour\\
+ - **\.hb\_history** stores command history for interactive Harbour shell\. You can disable history by making the first line 'no' \(without quotes and with newline\)\. Resides in \[\*\]: %APPDATA%\\\.harbour\\
+ - **hb\_extension** list of extensions to load in interactive Harbour shell\. One extension per line, part of line beyond a '\#' character is ignored\. Alternate filename on MS\-DOS: hb\_ext\.ini\. Resides in \[\*\]: %APPDATA%\\\.harbour\\
+
+
+Predefined constants in sources:
+
+
+ - **\_\_HBSCRIPT\_\_HBSHELL** when a Harbour source file is run as a shell script
+ - **<standard Harbour>** \_\_PLATFORM\_\_\*, \_\_ARCH\*BIT\_\_, \_\_\*\_ENDIAN\_\_, etc\.\.\.
+
+Environment variables:
+
+
+ - **HB\_EXTENSION** space separated list of extensions to load in interactive Harbour shell
+
+Shell API available in Harbour scripts:
+
+
+ - **hbshell\_gtSelect\( \[<cGT>\] \) \-> NIL**
+Switch GT\. Default \[\*\]: 'gtwin'
+ - **hbshell\_Clipper\(\) \-> NIL**
+Enable Clipper compatibility \(non\-Unicode\) mode\.
+ - **hbshell\_include\( <cHeader> \) \-> <lSuccess>**
+Load Harbour header\.
+ - **hbshell\_uninclude\( <cHeader> \) \-> <lSuccess>**
+Unload Harbour header\.
+ - **hbshell\_include\_list\(\) \-> NIL**
+Display list of loaded Harbour header\.
+ - **hbshell\_ext\_load\( <cPackageName> \) \-> <lSuccess>**
+Load package\. Similar to \#request PP directive\.
+ - **hbshell\_ext\_unload\( <cPackageName> \) \-> <lSuccess>**
+Descarregar pacote\.
+ - **hbshell\_ext\_get\_list\(\) \-> <aPackages>**
+List of loaded packages\.
+ - **hbshell\_DirBase\(\) \-> <cBaseDir>**
+DirBase\(\) not mapped to script\.
+ - **hbshell\_ProgName\(\) \-> <cPath>**
+ProgName\(\) not mapped to script\.
+
+Notas:
+
+
+ - \.hb, \.prg, \.hrb or \.dbf file passed as first parameter will be run as Harbour script\. If the filename contains no path components, it will be searched in current working directory and in PATH\. If not extension is given, \.hb and \.hrb extensions are searched, in that order\. \.dbf file will be opened automatically in shared mode and interactive Harbour shell launched\. Non\-standard extensions will be autodetected for source and precompiled script types\. Note, for Harbour scripts, the codepage is set to UTF\-8 by default\. The default core header 'hb\.ch' is automatically \#included\. The default date format is the ISO standard: yyyy\-mm\-dd\. The default GT is 'gtcgi', unless full\-screen CUI calls are detected, when 'gtwin' \[\*\] is automatically selected \(except for INIT PROCEDUREs\)\.
+ - You can use key <Alt\+V> in interactive Harbour shell to paste text from the clipboard\.
+ - Values marked with \[\*\] may be host platform and/or configuration dependent\. This help was generated on 'win' host platform\.
+
+License:
+
+
+ This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+\(at your option\) any later version\.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\. See the
+GNU General Public License for more details\.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc\., 675 Mass Ave, Cambridge, MA 02139, USA \(or visit
+their web site at http://www\.gnu\.org/\)\.
+
+License extensions:
+ \- This source code must be kept and distributed as part
+ of the Harbour package and/or the placement of the tool sources
+ and files must reflect that it is part of Harbour Project\.
+ \- Copyright information must always be presented by
+ projects including this tool or help text\.
+ \- Modified versions of the tool must clearly state this
+ fact on the copyright screen\.
+ \- Source code modifications shall always be made available
+ along with binaries\.
+ \- Help text and documentation is licensed under
+ Creative Commons Attribution\-ShareAlike 3\.0:
+ http://creativecommons\.org/licenses/by\-sa/3\.0/
+
+
+Author:
+
+
+ - Viktor Szakáts \(harbour syenar\.net\)
diff --git a/utils/hbmk2/_md_gen.hb b/utils/hbmk2/_md_gen.hb
new file mode 100644
index 0000000000..bd5bc250a0
--- /dev/null
+++ b/utils/hbmk2/_md_gen.hb
@@ -0,0 +1,36 @@
+/*
+ * Generates .md help files for all languages
+ *
+ * Copyright 2013 Viktor Szakats (harbour syenar.net)
+ * www - http://harbour-project.org
+ *
+ */
+
+#pragma -w3
+
+#include "directry.ch"
+
+PROCEDURE Main()
+
+ LOCAL file
+ LOCAL cLang
+
+ FOR EACH file IN Directory( hb_DirSepToOS( "po/*.po" ) )
+ hb_run( hb_StrFormat( "hbi18n -q -g -o%1$s %2$s", ;
+ hb_FNameName( file[ F_NAME ] ) + ".hbl", ;
+ hb_DirSepToOS( "po/" + file[ F_NAME ] ) ) )
+ NEXT
+
+ FOR EACH cLang IN hb_ATokens( hb_regexAll( "-lng=([a-zA-Z_,]*)", hb_MemoRead( "hbmk2.hbp" ),,,,, .T. )[ 1 ][ 2 ], "," )
+ ? file := "doc/hbmk2." + cLang + ".md"
+ hb_run( hb_DirSepToOS( hb_StrFormat( "hbrun hbmk2.prg -lang=%1$s -longhelpmd > %2$s", cLang, file ) ) )
+ hb_MemoWrit( file, StrTran( hb_MemoRead( file ), e"\n", hb_eol() ) )
+
+ ? file := "../../contrib/hbrun/doc/hbrun." + cLang + ".md"
+ hb_run( hb_DirSepToOS( hb_StrFormat( "hbrun hbmk2.prg -lang=%1$s -longhelpmdsh > %2$s", cLang, file ) ) )
+ hb_MemoWrit( file, StrTran( hb_MemoRead( file ), e"\n", hb_eol() ) )
+ NEXT
+
+ AEval( Directory( "*.hbl" ), {| tmp | FErase( tmp[ F_NAME ] ) } )
+
+ RETURN
diff --git a/utils/hbmk2/doc/_GENERATED_ b/utils/hbmk2/doc/_GENERATED_
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/utils/hbmk2/doc/hbmk2.el.md b/utils/hbmk2/doc/hbmk2.el.md
new file mode 100644
index 0000000000..ca09b82aac
--- /dev/null
+++ b/utils/hbmk2/doc/hbmk2.el.md
@@ -0,0 +1,716 @@
+Harbour Make \(hbmk2\) 3\.2\.0dev \(r2013\-03\-28 03:24\)
+Copyright \(c\) 1999\-2013, Viktor Szakáts
+
+
+Syntax:
+
+ hbmk2 \[options\] \[<script\[s\]>\] <src\[s\]\[\.prg|\.c|\.obj|\.o|\.rc|\.res|\.def|\.po|\.pot|\.hbl|@\.clp|\.d|\.ch\]>
+
+Description:
+
+
+ hbmk2 is an integrated and portable build tool, making it possible to create various types of executable binaries \(executable, dynamic library, static library, Harbour portable binary\) out of multiple types of source files \(C, C\+\+, Objective\-C, Harbour, gettext translations, Windows resources\)\. 'Integrated' means that a single hbmk2 project file can control all or most aspects of the build process\. 'Portable' means that a single hbmk2 project file can control the build on all supported OS platforms and across all supported C compilers\. It also aims to cover the majority of build tasks via short and simple project files \(options\)\. hbmk2 supports pure \-non\-Harbour\- C/C\+\+/Objective\-C projects as well\. In order to achieve above goals, hbmk2 will autodetect Harbour, C compiler and other required tools, then configure and call them appropriately\. hbmk2 allows to extend the types of supported source files via plugins\.
+Besides building executables, hbmk2 is able to run Harbour scripts \(both source and precompiled\) directly, and it also features an interactive shell prompt\.
+
+Options:
+
+
+ - **\-o<outname>** output file name
+ - **\-l<libname>** link with <libname> library\. <libname> should be without path, extension and 'lib' prefix \(unless part of the name\)\. Do not add core Harbour libraries, they are automatically added as needed\. If <libname> starts with a '\-' character, the library will be removed from the list of libraries at link time\.
+ - **\-L<libpath>** πρόσθετο μονοπάτι για αναζήτηση βιβλιοθηκών
+ - **\-i<p>|\-incpath=<p>** πρόσθετο μονοπάτι για αναζήτηση headers
+ - **\-static|\-shared** link with static/shared libs
+ - **\-gt<name>** link with GT<name> GT driver, can be repeated to link with more GTs\. First one will be the default at run\-time
+ - **\-inc\[\-\]** enable/disable incremental build mode \(default: disabled\)
+ - **\-hbexe** create executable \(default\)
+ - **\-hblib** create static library
+ - **\-hbdyn** create dynamic library \(without linked Harbour VM\)
+ - **\-hbdynvm** create dynamic library \(with linked Harbour VM\)
+
+
+ - **\-mt|\-st** link with multi/single\-thread Harbour VM
+ - **\-gui|\-std** create GUI/console executable
+ - **\-main=<mainfunc>** override the name of starting function/procedure
+ - **\-request=<func>** force function/procedure to be linked
+ - **\-fullstatic** link with all static libs
+ - **\-pic\[\-\]** create position independent object code \(always enabled in \-hbdyn/\-hbdynvm modes\)
+ - **\-\[full|fix\]shared** δημιούργησε κοινόχρηστα Harbour binaries χωρίς/με απόλυτη αναφορά καταλόγου στη βιβλιοθήκη Harbour \(προεπιλογή: ''fullshared'' οταν το Harbour είναι εγκατεστημένο σε περιοχή συστήματος, αλλοιώς 'fixshared'\) \(επιλογή fix/full μόνο σε \*nix \)
+ - **\-nulrdd\[\-\]** link with nulrdd
+ - **\-debug\[\-\]** add/exclude C compiler debug info\. For Harbour level debug, use Harbour option \-b as usual
+ - **\-optim\[\-\]** toggle C compiler optimizations \(default: on\)
+ - **\-cpp\[\-\]** force C\+\+/C mode
+ - **\-cpp=<value>** select C\+\+ mode\. Allowed values are: def, yes, no
+ - **\-map\[\-\]** create \(or not\) a map file
+ - **\-implib\[\-\]** δημιουργία \(ή όχι\) βιβλιοθήκης εισαγωγής \(in \-hbdyn/\-hbexe mode\)\. Το όνομα θα περιέχει επίθεμα\.
+ - **\-implib=<output>** δημιουργία ονόματος βιβλιοθήκης εισαγωγής \(in \-hbdyn/\-hbexe mode\) στο <output> \(Προεπιλογή: ίδιο με το output\)
+ - **\-ln=<link>** create symbolic link pointing to <output> \(<link> is considered relative to <output>\)
+ - **\-strip\[\-\]** strip \(no strip\) binaries
+ - **\-trace\[\-\]** show commands executed
+ - **\-beep\[\-\]** enable \(or disable\) single beep on successful exit, double beep on failure
+ - **\-ignore\[\-\]** ignore errors when running compiler tools \(default: off\)
+ - **\-hbcppmm\[\-\]** override standard C\+\+ memory management functions with Harbour ones
+ - **\-winuni\[\-\]** select between UNICODE \(WIDE\) and ANSI compilation modes \(default: ANSI\) \(Windows only\. For WinCE it is always set to UNICODE\)
+ - **\-nohblib\[\-\]** do not use static core Harbour libraries when linking
+ - **\-nodefgt\[\-\]** do not link default GTs \(effective in \-static mode\)
+ - **\-nolibgrouping\[\-\]** disable library grouping on gcc based compilers
+ - **\-nomiscsyslib\[\-\]** do not add extra list of system libraries to default library list
+ - **\-traceonly** show commands to be executed, but do not execute them
+ - **\-warn=<lev>** set C compiler warning level
+<lev> can be: max, yes, low, no, def \(default: yes\)
+ - **\-safe\[\-\]** enable safety options in C compiler/linker \(default: enabled on Windows, disabled on other systems\)
+ - **\-compr=<lev>** compress executable/dynamic lib \(needs UPX tool\)
+<lev> can be: yes, no, min, max
+ - **\-run\[\-\]** run/do not run output executable
+ - **\-vcshead=<file>** δημιουργία header αρχείων \.ch με πληροφορίες της τοπικής αποθήκες \-local repository\-\. Προς το παρόν υποστηρίζονται τα Git, SVN, Mercurial, Bazaar, Fossil, CVS και Monotone\.
+Τα header που θα δημιουργηθούν θα ορίσουν τη σταθερά \_HBMK\_VCS\_TYPE\_ στο όνομα του VCS που ανιχνεύτηκε και τη \_HBMK\_VCS\_ID\_ στο μοναδικό ID της τοπικής αποθήκης\. Αν δεν ανιχνευτεί κάποιο VCS , ένα διαδοχικός αριθμός θα ενημερώνεται αυτόματα με κάθε μεταγλώττιση\.
+ - **\-tshead=<file>** generate \.ch header file with timestamp information\. Generated header will define preprocessor constants \_HBMK\_BUILD\_DATE\_, \_HBMK\_BUILD\_TIME\_, \_HBMK\_BUILD\_TIMESTAMP\_ with the date/time of build
+ - **\-icon=<file>** set <file> as application icon\. <file> should be a supported format on the target platform \(not supported by some platforms/compilers\)\. On Windows, it is implemented by generating and linking a resource file\.
+ - **\-manifest=<file>** embed manifest <file> in executable/dynamic lib \(Windows only\)
+ - **\-sign=<key>** sign executable with <key> \(Windows and Darwin only\)\. On Windows signtool\.exe is used \(part of MS Windows SDK\) or posign\.exe \(part of Pelles C 7\), in that order, both autodetected\.
+ - **\-signpw=<pw>** use <pw> as password when signing executable \(Windows and Darwin only\)
+ - **\-instfile=<g:file>** add <file> in to the list of files to be copied to path specified by \-instpath option\. <g> is an optional copy group \(case sensitive\), it must be at least two characters long\. In case you do not specify <file>, the list of files in that group will be emptied\.
+ - **\-instpath=<g:path>** copy target to <path>\. if <path> is a directory, it should end with path separator, in this case files specified by \-instfile option will also be copied\. can be specified multiple times\. <g> is an optional copy group, it must be at least two characters long\. Build target will be automatically copied to default \(empty\) copy group\. There exist following built\-in <g> groups: 'depimplib' for import libraries and 'depimplibsrc' for import library source \(\.dll\) files, both belonging to dependencies\.
+ - **\-instforce\[\-\]** copy target to install path even if it is up to date
+ - **\-depimplib\[\-\]** enable \(or disable\) import library generation for import library sources specified in \-depimplibs= options \(default: yes\)
+ - **\-stop\[=<text>\]** stop without doing anything and display <text> if specified
+ - **\-echo=<text>** echo text on screen
+ - **\-pause** force waiting for a key on exit in case of failure \(with alternate GTs only\)
+ - **\-exitstr** show error result as human readable text on exit
+ - **\-info** turn on informational messages
+ - **\-quiet\[\-\]** suppress all screen messages
+
+
+ - **\-bldf\[\-\]** inherit all/no \(default\) flags from Harbour build
+ - **\-bldf=\[p\]\[c\]\[l\]** inherit \.prg/\.c/linker flags \(or none\) from Harbour build
+ - **\-F<framework>** link with <framework> framework \(Darwin only\)
+ - **\-prgflag=<f>** απλό πέρασμα flag στο μεταλωττιστή Harbour
+ - **\-cflag=<f>** pass single flag to C compiler
+ - **\-resflag=<f>** pass single flag to resource compiler \(Windows only\)
+ - **\-ldflag=<f>** απλό πέρασμα σημαίας \-flag\- στο συνδέτη \-linker\- \(εκτελέσιμο\)
+ - **\-dflag=<f>** pass single flag to linker \(dynamic library\)
+ - **\-aflag=<f>** pass single flag to linker \(static library\)
+ - **\-iflag=<f>** pass single flag to import library creation command
+ - **\-signflag=<f>** pass single flag to code sign command
+ - **\-runflag=<f>** pass single flag to output executable when \-run option is used
+ - **\-cflag\+=<f>** pass single flag to C compiler overriding C compiler flags added by hbmk2 itself\. Use with caution\.
+ - **\-ldflag\+=<f>** pass single raw option to linker \(executable\) after the library list\. Use with caution\.
+ - **\-dflag\+=<f>** πέρασμα επιλογής χωρίς προεπεξεργασία στο συνδέτη/linker \(δυναμική βιβλιοθήκη\) μετά τη λίστα βιβλιοθηκών\. Χρησιμοποιήστε το με προσοχή\!
+ - **\-3rd=<f>** options/flags reserved for 3rd party tools, always ignored by hbmk2 itself
+ - **\-env:<e>\[<o>\[<v>\]\]** alter local environment\. <e> is the name of the environment variable to alter\. <o> can be '=' to set/override, '\-' to delete, '\+' to append to the end of existing value, '\#' to insert to the beginning of existing value\. <v> is the value to set/append/insert\.
+ - **\-jobs=<n>** start n compilation threads \(multiprocess platforms only\)
+ - **\-head=<m>** control source header parsing \(in incremental build mode\)
+<m> can be: native \(uses compiler to extract dependencies\), full \(default, uses simple text parser on the whole file\), dep, off
+ - **\-rebuild** rebuild \(in incremental build mode\)
+ - **\-rebuildall** rebuild with sub\-projects \(in incremental build mode\)
+ - **\-clean** clean \(in incremental build mode\)
+ - **\-workdir=<dir>** working directory
+\(default: \.hbmk/<platform>/<compiler> \[\*\] in incremental mode, OS temp directory otherwise\)
+
+
+ - **\-hbcontainer** virtual target, it does not create anything\. Useful for creating an \.hbp with the sole purpose of referencing sub\-projects
+ - **\-hbimplib** create import library \(Windows only\)
+
+
+ - **\-hbl\[=<output>\]** output \.hbl filename\. %\{hb\_lng\} macro is accepted in filename
+ - **\-lng=<languages>** λίστα των γλωσσών προς αντικατάσταση σε %\{hb\_lng\} macros σε \.pot/\.po filenames and output \.hbl/\.po filenames\. Λίστα διαχωριζόμενη με κόμμα:⏎ \-lng=en,hu\-HU,de
+ - **\-po=<output>** create/update \.po file from source\. Merge it with previous \.po file of the same name
+ - **\-minipo\[\-\]** do \(not\) add Harbour version number and source file reference to \.po \(default: add them\)
+ - **\-rebuildpo** recreate \.po file, thus removing all obsolete entries in it
+
+
+ - **\-hbx=\[<\.ch>\]** Create Harbour header \(in \.hbx format\) with all external symbols\. Empty parameter will disable it\.
+ - **\-autohbc=<\.ch:\.hbc>** <\.ch> is a header file name\. <\.hbc> is a \.hbc filename to be automatically included in case the header is found in any of the compiled sources\. \(EXPERIMENTAL\)
+
+
+ - **\-deppkgname=<d:n>** <d> is the name of the dependency\. <n> name of the package dependency\. Can be specified multiple times\.
+ - **\-depkeyhead=<d:h>** <d> is the name of the dependency\. <h> is the key header \(\.h\) of the package dependency\. Multiple alternative headers can be specified\.
+ - **\-depoptional=<d:f>** <d> is the name of the dependency\. <f> can be 'yes' or 'no', specifies whether the dependency is optional\. Default: no
+ - **\-depcontrol=<d:v>** <d> is the name of the dependency\. <v> is a value that controls how detection is done\. Accepted values: no, yes, force, nolocal, local\. Default: content of environment variable HBMK\_WITH\_<d>
+ - **\-depincroot=<d:r>** <d> is the name of the dependency\. Set <r> as root directory for paths specified in \-depincpath options\.
+ - **\-depincpath=<d:i>** <d> is the name of the dependency\. Add <i> to the header detection path list\.
+ - **\-depincpathlocal=<d:i>** <d> is the name of the dependency\. Add <i> to the header detection path list, where <i> is pointing to a directory local to the project and containing an embedded \(aka\. 'locally hosted'\) dependency\.
+ - **\-depimplibs=<d:dll>** <d> is the name of the dependency\. Add <dll> to the import library source list\.
+ - **\-depimplibd=<d:lib>** <d> is the name of the dependency\. Set generated import library name to <lib>
+ - **\-depfinish=<d>** <d> is the name of the dependency\. Closes the dependency definition and does the actual dependency detection, setting all predefined filter macro variables and build options accordingly\. Optional, if omitted, detection will take place after processing all options\.
+
+
+ - **\-plugin=<filename>** add plugin\. <filename> can be: \.hb, \.prg, \.hrb
+ - **\-pi=<filename>** pass input file to plugins
+ - **\-pflag=<f>** pass single flag to plugins
+
+Options below are available on command\-line:
+
+
+ - **\-target=<script>** specify a new build target\. <script> can be \.prg \(or no extension\) or \.hbp file\. Note that \.hbp files are automatically considered as separate targets\.
+
+
+ - **\-hbrun** run target
+ - **\-hbraw** stop after running Harbour compiler
+ - **\-hbcmp|\-clipper** stop after creating the object files
+create link/copy hbmk2 to hbcmp/clipper for the same effect
+ - **\-hbcc** accept raw C flags
+create link/copy hbmk2 to hbcc for the same effect
+ - **\-hblnk** αποδοχή ανεπεξέργαστων σημαιών συνδέτη
+ - **\-autohbm\[\-\]** enable \(or disable\) processing of hbmk\.hbm in current directory \(default: yes\)
+ - **\-hb10** enable Harbour 1\.0\.x compatibility mode
+ - **\-hb20** enable Harbour 2\.0\.x compatibility mode
+ - **\-hb30** enable Harbour 3\.0\.x compatibility mode
+ - **\-xhb** enable xhb mode
+ - **\-hbc** enable pure C mode
+ - \-rtlink
+ - \-blinker
+ - **\-exospace** προσομοίωσε σε Clipper συμβατή τη συμπεριφορά του linker ⏎ create link/copy hbmk2 to rtlink/blinker/exospace for the same effect
+
+
+ - **\-hbreg\[=global\]** register Harbour Script \(\.hb\) with hbmk2 \(Windows only\)
+ - **\-hbunreg\[=global\]** unregister Harbour Script \(\.hb\) from hbmk2 \(Windows only\)
+
+
+ - **\-find <text>** lists all known Harbour functions that contain <text> in their name, along with their package \(case insensitive, accepts multiple values, can contain wildcard characters\)
+
+
+ - **\-hbmake=<file>** convert hbmake project <file> to \.hbp file
+ - **\-xbp=<file>** convert \.xbp \(xbuild\) project <file> to \.hbp file
+ - **\-xhp=<file>** convert \.xhp \(xMate\) project <file> to \.hbp file
+
+
+ - **\-\-hbdirbin** output Harbour binary directory
+ - **\-\-hbdirdyn** output Harbour dynamic library directory
+ - **\-\-hbdirlib** κατάλογος εξόδου στατικής βιβλιοθήκης Harbour
+ - **\-\-hbdirinc** output Harbour header directory
+ - **\-\-hbinfo\[=nested\]** output Harbour build information\. Output is in JSON format\. The included paths always contain forward slashes\. Each JSON block is followed by an 0x0A byte\.
+
+
+ - **\-plat=<platform>** override default target platform \(default: automatic\)
+ - **\-cpu=<cpu>** override default target CPU \(default: automatic\) \(EXPERIMENTAL\)
+ - **\-comp=<compiler>** override C compiler autodetection
+Special value:
+ \- bld: use original build settings \(default on \*nix\)
+ - **\-build=<name>** specify a build name
+ - **\-lang=<lang>** override default language\. <lang> is an ISO language code\.
+ - **\-width=<n>** set output width to <n> characters \(0=unlimited\)\.
+ - **\-shl** show sub\-project level in output lines
+ - **\-viewhelp** long help in text viewer
+ - **\-longhelp** long help
+ - **\-longhelpmd** long help in [Markdown](http://daringfireball.net/projects/markdown/) format
+ - **\-harbourhelp** Harbour compiler help \(all Harbour compiler options are accepted as is by hbmk2\)
+ - **\-credits** Harbour compiler credits
+ - **\-build** Harbour compiler build information
+ - **\-version** display version header only
+
+Options below are internal/developer ones \(compatibility not guaranteed\):
+
+
+ - **\-debugtime** measure time spent on the build
+ - **\-debuginc** display internals of incremental build
+ - **\-debugstub** display content of all internally generated source files
+ - **\-debugi18n** display internals on translation file generation
+ - **\-debugdepd** display internals of dependency detection
+ - **\-debugpars** display all input parameters in processing order
+ - **\-debugrte** generate a run\-time error
+
+
+Μορείτε να συνδέσετε/αντιγράψετε/μετονομάσετε hbmk2 στα ακόλουθα ονόματα για αλλάξετε την προεπιλεγμένη λειτουργία:
+
+
+ - **hbrun\*|\*hbrun** mode script runner / interactive shell
+ - **hbrund|hbrun\*d** mode script runner / interactive shell in debug mode
+ - **harbour** mode \-hbraw \(emulate \- raw \- Harbour compiler\)
+ - **clipper** mode \-hbcmp \(emulate Clipper compiler\)
+ - **rtlink** mode \-rtlink \(emulate Clipper linker\)
+ - **exospace** mode \-rtlink \(emulate Clipper linker\)
+ - **blinker** mode \-rtlink \(emulate Clipper linker\)
+ - **\*10** option \-hb10
+ - **\*20** option \-hb20
+ - **\*30** option \-hb30
+ - **x\*** option \-xhb
+ - **hbcmp\*|\*hbcmp** mode \-hbcmp \(emulate Harbour compiler producing a binary object\)
+ - **hbcc\*|\*hbcc** mode \-hbcc \(emulate C compiler\)
+ - **hblnk\*|\*hblnk** mode \-hblnk \(emulate C linker\)
+ - **hbexe\*|\*hbexe** mode \-hbexe
+ - **hblib\*|\*hblib** mode \-hblib
+ - **hbdyn\*|\*hbdyn** mode \-hbdyn
+
+Files:
+
+
+ - **\*\.hbp** project file\. Can contain any number of command\-line options, which are expected to create an output\. Lines beginning with '\#' character are ignored, otherwise newline is optional and options are space separated, just like on the command\-line\. You must enclose option containing space in double quotes\. Each \.hbp file reference will be executed as a sub\-project\.
+ - **\*\.hbm** collection of options\. Can be used to collect common ones into a file and include that into project files\. Uses same format as \.hbp files\.
+ - **\*\.hbc** collection of options that accompany components \(aka 'libs', aka packages\)\. Use different syntax than command\-line and \.hbp/\.hbm files\. Lines beginning with '\#' character are ignored, each directive must be placed in separate lines\.
+ - **\*\.ch** if passed directly as a source file, it will be used as additional standard header
+ - **hbmk\.hbc** standard \.hbc file that gets automatically processed, if present\. Possible location\(s\) \(in order of precedence\) \[\*\]: %APPDATA%\\\.harbour, <hbmk2 κατάλογος>
+ - **hbmk\.hbm** optional \.hbm file residing in current working directory, which gets automatically processed before other options
+ - **$hb\_pkg\_dynlib\.hbm** special \.hbm file embedded inside hbmk2\. It manages the details of creating a dynamic library \(in the style of Harbour contribs\)\.
+ - **$hb\_pkg\_install\.hbm** special \.hbm file embedded inside hbmk2\. It manages the details of installing targets and related package files to standard locations \(in the style of Harbour contribs\)\.
+
+
+ - **\*\.hb** Harbour script
+ - **\*\.hrb** Harbour portable binary \(aka precompiled Harbour script\)
+ - **hbstart\.hb** startup Harbour script for interactive Harbour shell\. It gets executed automatically on shell startup, if present\. Possible locations \(in order of precedence\) \[\*\]: \.\\, %APPDATA%\\\.harbour, <hbmk2 κατάλογος>
+ - **shell plugins** \.hb and \.hrb plugins for interactive Harbour shell\. They may reside in \[\*\]: %APPDATA%\\\.harbour\\
+ - **\.hb\_history** stores command history for interactive Harbour shell\. You can disable history by making the first line 'no' \(without quotes and with newline\)\. Resides in \[\*\]: %APPDATA%\\\.harbour\\
+ - **hb\_extension** list of extensions to load in interactive Harbour shell\. One extension per line, part of line beyond a '\#' character is ignored\. Alternate filename on MS\-DOS: hb\_ext\.ini\. Resides in \[\*\]: %APPDATA%\\\.harbour\\
+
+Macro variables:
+
+
+ - **$\{hb\_root\}** κατάλογος του hbmk2
+ - **$\{hb\_dir\}** directory of the filename it is used in
+ - **$\{hb\_dirname\}** top directory of the filename it is used in
+ - **$\{hb\_name\}** name of the filename it is used in \(without directory and extension\)
+ - **$\{hb\_self\}** full filename it is used in
+ - **$\{hb\_curdir\}** current working directory
+ - **$\{hb\_tempdir\}** OS directory for temporary files
+ - **$\{hb\_targetname\}** name of the project \(without directory and extension\)\. Returns \.adhoc\. if there is not project file\.
+ - **$\{hb\_targettype\}** type of the project \(hbexe, hblib, hbdyn, hbdynvm, hbimplib, hbppo, hbhrb, hbcontainer\)
+ - **$\{hb\_plat\}** selected platform
+ - **$\{hb\_comp\}** selected C compiler
+ - **$\{hb\_comp\_ver\}** Εκδοση μεταγλωττιστή C
+ - **$\{hb\_build\}** build name
+ - **$\{hb\_cpu\}** selected CPU
+ - **$\{hb\_work\}** default base workdir name
+ - **$\{hb\_workdynsub\}** default workdir subdirectory for dynamic library targets
+ - **$\{hb\_dynprefix\}** dynamic library prefix
+ - **$\{hb\_dynsuffix\}** dynamic library suffix
+ - **$\{hb\_dynext\}** dynamic library extension
+ - **$\{hb\_ver\}** Harbour version in hexadecimal triple byte format\. F\.e\.: 030200
+ - **$\{hb\_verstr\}** Harbour version in human readable format <major>\.<minor>\.<release><status>\. F\.e\.: 3\.2\.0dev
+ - **$\{hb\_major\}** Harbour major version number
+ - **$\{hb\_minor\}** Harbour minor version number
+ - **$\{hb\_release\}** Harbour release version number
+ - **$\{hb\_status\}** Harbour version status
+ - **$\{hb\_revision\}** Harbour revision
+ - **$\{hb\_host\_plat\}** Harbour host platform
+ - **$\{hb\_host\_plat\_unix\}** returns '1' if Harbour host platform is \*nix compatible
+ - **$\{hb\_bin\}** Harbour binary directory
+ - **$\{hb\_lib\}** Harbour static library directory
+ - **$\{hb\_lib3rd\}** Harbour 3rd party static library directory
+ - **$\{hb\_dyn\}** Harbour dynamic library directory
+ - **$\{hb\_inc\}** Harbour header directory
+ - **$\{hb\_addons\}** Harbour add\-ons base directory
+ - **$\{hb\_first\}** name of source file that holds the entry function \(without directory and extension\)
+ - **$\{hb\_outputdir\}** directory of the output
+ - **$\{hb\_outputname\}** name of the output \(without extension\)
+ - **$\{hb\_level\}** sub\-project recursion level
+ - **$\{<depname>\}** returns the header directory of dependency <depname>, or '1' if it is not detected
+ - **$\{<envvar>\}** returns the value of the environment variable <envvar>
+
+Filters \(you can combine and/or negate them\):
+
+
+ - **\{<platform>\}** target platform\. Where <platform> can be any value accepted by \-plat= option\.
+ - **\{<compiler>\}** target C compiler\. Where <compiler> can be any value accepted by \-comp= option\.
+ - **\{<cpu>\}** target CPU\. Where <cpu> can be any of: x86, x86\_64, ia64, arm, mips, sh
+ - **\{<targettype>\}** target type\. Where <targettype> is any of the values returned by macro variable $\{hb\_targettype\}\.
+ - **\{mt\}** target is multi\-threaded \(see \-mt option\)
+ - **\{st\}** target is single\-threaded \(see \-st option\)
+ - **\{gui\}** GUI target \(see \-gui option\)
+ - **\{std\}** console target \(see \-console option\)
+ - **\{debug\}** C level debugging is enabled \(see \-debug option\)
+ - **\{nodebug\}** C level debugging is disabled \(see \-debug\- option\)
+ - **\{shared\}** shared build \(see \-shared and related options\)
+ - **\{static\}** static build \(see \-static and related options\)
+ - **\{lngcpp\}** forced C\+\+ mode \(see \-cpp option\)
+ - **\{lngc\}** forced C mode \(see \-cpp\- option\)
+ - **\{winuni\}** Windows UNICODE \(WIDE\) mode \(see \-winuni option\)
+ - **\{winansi\}** Windows ANSI mode \(see \-winuni\- option\)
+ - **\{unix\}** target platform is \*nix compatible \(bsd, hpux, sunos, beos, qnx, android, vxworks, symbian, linux, darwin, cygwin, minix, aix\)
+ - **\{allwin\}** target platform is Windows compatible \(win, wce\)
+ - **\{allgcc\}** target C compiler belongs to gcc family \(gcc, mingw, mingw64, mingwarm, djgpp, gccomf, clang, open64, pcc\)
+ - **\{allmingw\}** target C compiler is mingw\* \(mingw, mingw64, mingwarm\)
+ - **\{allmsvc\}** target C compiler is msvc\* \(msvc, msvc64, msvcia64, msvcarm\)
+ - **\{allbcc\}** target C compiler is bcc\* \(bcc, bcc64\)
+ - **\{allpocc\}** target C compiler is pocc\* \(pocc, pocc64, poccarm\)
+ - **\{allicc\}** target C compiler is icc\* \(icc, iccia64\)
+ - **\{hb10\}** Harbour 1\.0\.x compatibility mode \(see \-hb10 option\)
+ - **\{hb20\}** Harbour 2\.0\.x compatibility mode \(see \-hb20 option\)
+ - **\{hb30\}** Harbour 3\.0\.x compatibility mode \(see \-hb30 option\)
+ - **\{xhb\}** xhb mode \(see \-xhb option\)
+ - **\{hb\_ispath='<file|dir>'\}** filter will pass if <file> or <dir> name exists on disk\.
+ - **\{MACRO\}** το φίλτρο θα περάσει αν η τιμή $\{MACRO\} δεν είναι άδεια και όχι ίση με '0' ή 'no' \(πεζά/κεφαλαία: αδιάφορο\)
+ - **\{MACRO='<value>'\}** filter will pass if $\{MACRO\} value equals to <value> \(case insensitive\)\.
+ - **\{MACRO>'<value>'\}** filter will pass if $\{MACRO\} value is larger than <value> \(case insensitive\)\.
+ - **\{MACRO<'<value>'\}** filter will pass if $\{MACRO\} value is smaller than <value> \(case insensitive\)\.
+
+
+Predefined constants in sources:
+
+
+ - **\_\_HBSCRIPT\_\_HBMK\_PLUGIN** when an \.hb script is compiled as hbmk2 plugin
+ - **\_\_HBEXTREQ\_\_** when an \.hbx source file is present in a project \(available in Harbour sources\)
+ - **HBMK\_HAS\_<hbcname>** when <hbcname>\.hbc package is linked to the target\. The value is the version= value from the \.hbc file, converted to a decimal number, which is '1', if not specified\. \(available in Harbour sources\)
+ - **HBMK\_HAS\_<depname>** when <depname> dependency was detected \(available in C sources\)
+
+
+ - **\_\_HBSCRIPT\_\_HBSHELL** when a Harbour source file is run as a shell script
+ - **<standard Harbour>** \_\_PLATFORM\_\_\*, \_\_ARCH\*BIT\_\_, \_\_\*\_ENDIAN\_\_, etc\.\.\.
+
+
+Predefined constants in build files \(they are available after '\-depfinish=<depname>' / 'depfinish=<depname>'\):
+
+
+ - **HBMK\_HAS\_<depname>** when <depname> dependency was detected
+ - **HBMK\_DIR\_<depname>** return the header directory where <depname> was detected, or empty if it was not\.
+ - **HBMK\_HAS\_<depname>\_LOCAL** οταν η <depname> εξάρτηση ανιχνεύτηκε σε μια θέση που ορίστηκε από την επιλογή \-depincpathlocal=
+
+Μεταβλητές περιβάλλοντος:
+
+
+ - **HBMK\_OPTIONS** accepts any options as if they were passed in the beginning of the command\-line
+ - **HB\_PLATFORM** accepts same values as \-plat= option
+ - **HB\_COMPILER** accepts same values as \-comp= option
+ - **HB\_CPU** accepts same values as \-cpu= option
+ - **HB\_BUILD\_NAME** accepts same values as \-build= option
+ - **HB\_LANG** accepts same values as \-lang= option
+ - **HB\_USER\_LIBS** accepts same values \(space separated\) as \-l option
+ - **HB\_USER\_LIBPATHS** accepts same values \(space separated\) as \-L option
+ - **HB\_USER\_PRGFLAGS** options to be passed to Harbour compiler \(before command\-line options\)
+ - **HB\_USER\_CFLAGS** options to be passed to C compiler \(before command\-line options\)
+ - **HB\_USER\_RESFLAGS** options to be passed to resource compiler \(before command\-line options\) \(Windows only\)
+ - **HB\_USER\_LDFLAGS** options to be passed to linker \(executable\) \(before command\-line options\)
+ - **HB\_USER\_DFLAGS** options to be passed to linker \(dynamic library\) \(before command\-line options\)
+ - **HB\_USER\_AFLAGS** options to be passed to linker \(static library\) \(before command\-line options\)
+ - **HB\_COMPILER\_VER** override C compiler version autodetection \(gcc and msvc compiler families only\)\. Format: <15><00>\[\.<00>\] = <major><minor>\[\.<revision>\]
+ - **HB\_CCPATH** override C compiler executable directory \(gcc compiler families only\)
+ - **HB\_CCPREFIX** override C compiler executable prefix \(gcc compiler families only\)
+ - **HB\_CCSUFFIX** override C compiler executable suffix \(gcc compiler families only\)
+ - **HB\_INSTALL\_PREFIX** override Harbour base installation directory
+ - **HB\_INSTALL\_ADDONS** override Harbour base add\-ons directory
+
+
+ - **HB\_EXTENSION** space separated list of extensions to load in interactive Harbour shell
+
+\.hbc directives \(they should be written in separate lines\):
+
+
+ - **echo=<msg>** display <msg>
+ - **skip=\[<msg>\]** skip processing the rest of the \.hbc file\. Display <msg>, if specified\.
+ - **stop=\[<msg>\]** stop the build\. Display <msg>, if specified\.
+ - **sources=** add space separated list of files as input files
+ - **headers=** add space separated list of \.ch format headers as standard header
+ - **libs=** add space separated list of libraries \(see more at \-l option\)
+ - **frameworks=** add space separated list of frameworks \(Darwin only\)
+ - **requests=** add space separated list of symbols to force link to the target
+ - **syslibs=** add space separated list of libraries as system libraries \(before regular libraries\)
+ - **hbcs=** embed space separated list of \.hbc files\. Names without the extension is accepted\. These references are processed in place\.
+ - **autohbcs=** space separated list of values as in \-autohbc= option
+ - **libpaths=** space separated list of additional library paths
+ - **incpaths=** add space separated list of additional header paths \(for both Harbour and C\)
+ - **instfiles=** space separated list of values as in \-instfile= option
+ - **instpaths=** space separated list of values as in \-instpath= option
+ - **prgflags=** space separated list of values as in \-prgflag= option
+ - **cflags=** space separated list of values as in \-cflag= option
+ - **resflags=** space separated list of values as in \-resflag= option
+ - **ldflags=** space separated list of values as in \-ldflag= option
+ - **ldflags\+=** space separated list of values as in \-ldflag\+= option
+ - **dflags=** space separated list of values as in \-dflag= option
+ - **dflags\+=** space separated list of values as in \-dflag\+= option
+ - **pflags=** space separated list of values as in \-pflag= option
+ - **psources=** space separated list of values as in \-pi= option
+ - **gui=<bool>** 'yes' = \-gui, 'no' = \-std option
+ - **mt=<bool>** 'yes' = \-mt, 'no' = \-st option
+ - **pic=<bool>** 'yes' = \-pic, 'no' = \-pic\- option
+ - **shared=<bool>** 'yes' = \-shared, 'no' = \-static option
+ - **shareddef=<bool>** similar to shared=, but works only if shared/static mode was not set before
+ - **fullstatic=<bool>** 'yes' = \-fullstatic, 'no' = \-static option
+ - **debug=<bool>** 'yes' = \-debug, 'no' = \-debug\- option
+ - **optim=** 'yes' = \-optim, 'no' = \-optim\- option
+ - **nulrdd=<bool>** 'yes' = \-nulrdd, 'no' = \-nulrdd\- option
+ - **nodefgt=<bool>** 'yes' = \-nodefgt, 'no' = \-nodefgt\- option
+ - **map=<bool>** 'yes' = \-map, 'no' = \-map\- option
+ - **hbcppmm=<bool>** 'yes' = \-hbcpmm, 'no' = \-hbcpmm\- option
+ - **implib=<bool>** 'yes' = \-implib, 'no' = \-implib\- option
+ - **winuni=<bool>** 'yes' = \-winuni, 'no' = \-winuni\- option
+ - **strip=<bool>** 'yes' = \-strip, 'no' = \-strip\- option
+ - **run=<bool>** 'yes' = \-run, 'no' = \-run\- option
+ - **inc=<bool>** 'yes' = \-inc, 'no' = \-inc\- option
+ - **safe=<bool>** 'yes' = \-safe, 'no' = \-safe\- option
+ - **cpp=** όμοιο με την επιλογή \-cpp=
+ - **warn=** όμοιο με την επιλογή \-warn=
+ - **compr=** όμοιο με την επιλογή \-compr=
+ - **head=** όμοιο με την επιλογή \-head=
+ - **plugins=** space separated list of hbmk2 plugins to load
+ - **gt=<name>** όμοιο με την επιλογή \-gt<name>
+ - **gtdef=<name>** set the default GT to be used
+ - **env=** όμοιο με την επιλογή \-env:
+ - **deppkgname=** όμοιο με την επιλογή \-deppkgname=
+ - **depkeyhead=** όμοιο με την επιλογή \-depkeyhead=
+ - **depoptional=** όμοιο με την επιλογή \-depoptional=
+ - **depcontrol=** όμοιο με την επιλογή \-depcontrol=
+ - **depincroot=** όμοιο με την επιλογή \-depincroot=
+ - **depincpath=** όμοιο με την επιλογή \-depincpath=
+ - **depincpathlocal=** όμοιο με την επιλογή \-depincpathlocal=
+ - **depimplibs=** όμοιο με την επιλογή \-depimplibs=
+ - **depimplibd=** όμοιο με την επιλογή \-depimplibd=
+ - **name=** package name
+ - **description=** περιγραφή πακέτου
+ - **version=<x\.y\.z>** package version number, where x,y,z >= 0 <= 255\. Defaults to 0\.0\.1, if not specified\.
+ - **keywords=** space separated list of keywords
+ - **licences=** space separated list of licenses
+ - **repository=** space separated list of source repository references
+
+
+Plugin API:
+\('hbmk' is the context variable received by the plugin entry function\)
+
+
+ - **hbmk\_Register\_Input\_File\_Extension\( hbmk, cExt \) \-> NIL**
+Register input file extension to be passed to plugin \(by default all unknown file extensions are passed to Harbour compiler\)\.
+ - **hbmk\_AddInput\_PRG\( hbmk, cFileName \) \-> NIL**
+Add a Harbour input file to the project\.
+ - **hbmk\_AddInput\_C\( hbmk, cFileName \) \-> NIL**
+Add a C input file to the project\.
+ - **hbmk\_AddInput\_CPP\( hbmk, cFileName \) \-> NIL**
+Add a C\+\+ input file to the project\.
+ - **hbmk\_AddInput\_RC\( hbmk, cFileName \) \-> NIL**
+Add a Windows resource input file to the project\.
+ - **hbmk\_AddInput\_OBJ\( hbmk, cFileName \) \-> NIL**
+Add a binary object file to the project\.
+ - **hbmk\_AddInput\_INSTFILE\( hbmk, cFileName, \[<cGroup>\] \) \-> NIL**
+Add a file to be installed, with an optional \-instpath= group name\.
+ - **hbmk\_OutStd\( hbmk, cText \) \-> NIL**
+Output text to stdout\.
+ - **hbmk\_OutErr\( hbmk, cText \) \-> NIL**
+Output text to stderr\.
+ - **hbmk\_OutStdRaw\( hbmk, \.\.\. \) \-> NIL**
+Output text to stdout without any formatting\.
+ - **hbmk\_OutErrRaw\( hbmk, \.\.\. \) \-> NIL**
+Output text to stderr without any formatting\.
+ - **hbmk\_Macro\( hbmk, <cMacro> \) \-> <cResult>**
+Evaluate hbmk2 macro expression\.
+ - **hbmk\_FNameEscape\( hbmk, cFileName \) \-> <cFileName>**
+Escape/quote filename for using it as external command parameter\.
+ - **hbmk\_PathSepToTarget\( hbmk, cFileName \) \-> <cFileName>**
+Convert filename to the format required for the target toolchain\.
+ - **hbmk\_PathSepToForward\( <cPath> \) \-> <cPath>**
+Convert filename to have forward slash directory separators\.
+ - **hbmk\_PathFromWorkdirToCWD\( hbmk \) \-> <cRelativePath>**
+Return relative path of \-workdir= value from current working directory\.
+ - **hbmk\_FindInPath\( <cFileName>, \[<xPath>\], \[<aExtDef>\] \) \-> <cFNFound> | NIL**
+Find file in <xPath> \(array or pathsep delimited string are accepted\) with list of <aExtDef> alternate extensions \(defaults to executable binaries\)\. Returns filename if found and NIL if not\.
+ - **hbmk\_FNameDirExtSet\( <cFileName>, \[<cDirNew>\], \[<cExtNew>\] \) \-> <cFileName>**
+Change directory and/or extension in filename\.
+ - **hbmk\_FuncNameEncode\( <cFuncName> \) \-> <cFuncNameEncoded>**
+Encode function name according to Harbour compiler rules for forming HB\_FUNC\(\) function names in C code\.
+ - **hbmk\_StrStripQuote\( cString \) \-> <cString>**
+Strip double quote enclosure from a string\.
+ - **hbmk\_ArrayToList\( <aList>, \[<cSeparator>\] \) \-> <cList>**
+Convert array of strings to a string\. Default separator is a single space\.
+
+
+Plugin variables:
+\('hbmk' context hash items, case\-sensitive, read\-only unless marked otherwise\)
+
+
+ - **"apiver"** API version as an integer
+ - **"cSTATE"** callback state\. Can be: 'init', 'pre\_all', 'pre\_prg', 'pre\_res', 'pre\_c', 'pre\_link', 'pre\_lib', 'pre\_cleanup', 'post\_build', 'post\_all'
+ - **"params"** array of parameters passed to plugins via \-pflag=/pi= options or having an extension registered via hbmk\_Register\_Input\_File\_Extension\(\)
+ - **"vars"** hash of plugin custom variables\. Writable, local to each plugin
+ - **"cPLAT"** \-plat value
+ - **"cCOMP"** \-comp value
+ - **"nCOMPVer"** see HB\_COMPILER\_VER envvar
+ - **"cCPU"** \-cpu value
+ - **"cBUILD"** \-build= value
+ - **"cOUTPUTNAME"** \-o value
+ - **"cTARGETNAME"** see $\{hb\_targetname\} macro
+ - **"cTARGETTYPE"** see $\{hb\_targettype\} macro
+ - **"lREBUILD"** \-rebuild option status
+ - **"lCLEAN"** \-clean option status
+ - **"lDEBUG"** \-debug option status
+ - **"lMAP"** \-map option status
+ - **"lSTRIP"** \-strip option status
+ - **"lDONTEXEC"** \-traceonly option status
+ - **"lIGNOREERROR"** \-ignore option status
+ - **"lTRACE"** \-trace option status
+ - **"lQUIET"** \-q option status
+ - **"lINFO"** \-info option status
+ - **"lBEEP"** \-beep option status
+ - **"lRUN"** \-run option status
+ - **"lINC"** \-inc option status
+ - **"cCCPATH"** see HB\_CCPATH envvar
+ - **"cCCPREFIX"** see HB\_CCPREFIX envvar
+ - **"cCCSUFFIX"** see HB\_CCSUFFIX envvar
+ - **"cCCEXT"** see HB\_CCEXT envvar
+ - **"cWorkDir"** \-workdir= value
+ - **"nExitCode"** Τρέχων κωδικός εξόδου
+
+Shell API available in Harbour scripts:
+
+
+ - **hbshell\_gtSelect\( \[<cGT>\] \) \-> NIL**
+Switch GT\. Default \[\*\]: 'gtwin'
+ - **hbshell\_Clipper\(\) \-> NIL**
+Enable Clipper compatibility \(non\-Unicode\) mode\.
+ - **hbshell\_include\( <cHeader> \) \-> <lSuccess>**
+Load Harbour header\.
+ - **hbshell\_uninclude\( <cHeader> \) \-> <lSuccess>**
+Unload Harbour header\.
+ - **hbshell\_include\_list\(\) \-> NIL**
+Display list of loaded Harbour header\.
+ - **hbshell\_ext\_load\( <cPackageName> \) \-> <lSuccess>**
+Load package\. Similar to \#request PP directive\.
+ - **hbshell\_ext\_unload\( <cPackageName> \) \-> <lSuccess>**
+Unload package\.
+ - **hbshell\_ext\_get\_list\(\) \-> <aPackages>**
+List of loaded packages\.
+ - **hbshell\_DirBase\(\) \-> <cBaseDir>**
+DirBase\(\) not mapped to script\.
+ - **hbshell\_ProgName\(\) \-> <cPath>**
+ProgName\(\) not mapped to script\.
+
+
+Examples to start with hbmk2:
+
+
+ - **To run the interactive shell \('dot' prompt\)**
+$ hbmk2 \.
+ - **To run a Harbour script**
+$ hbmk2 myscript\.hb \[<parameter\[s\]>\]
+
+
+Examples to build and run Harbour portable binary \(aka precompiled Harbour script\):
+
+
+ - **To build**
+$ hbmk2 \-gh myscript\.hb
+ - **To run result of above**
+$ hbmk2 myscript\.hrb \[<parameter\[s\]>\]
+
+
+Examples to build a Harbour application:
+
+
+ - **To build one simple \.prg**
+$ hbmk2 hello\.prg
+ - **To build multiple \.prg sources into one application in incremental mode**
+$ hbmk2 mymain\.prg myfuncs\.prg \-inc
+ - **To build an application using a project file**
+$ hbmk2 myapp\.hbp
+ - **To build an application using incremental mode**
+$ hbmk2 myapp\.hbp \-inc
+ - **To build an application which uses a contrib package or 3rd party \(add\-on\) package that ships with an \.hbc file**
+$ hbmk2 myapp\.prg hbct\.hbc
+ - **To build an application which uses a raw library**
+$ hbmk2 myapp\.prg \-lmylib \-L<path\_to\_mylib>
+ - **To build an application which uses a Windows resource**
+$ hbmk2 mymain\.prg myres\.rc
+ - **To build an application which links against Harbour dynamic libraries**
+$ hbmk2 \-shared myapp\.prg
+ - **To build an application out of all \.prg and \.c sources residing in 'source' subdir**
+$ hbmk2 \-omyapp src/\*\.prg src/\*\.c
+
+
+Examples to build a Harbour static library:
+
+
+ - **To build library 'mylib' from sources**
+$ hbmk2 \-hblib mylibsrc\.prg \-omylib
+ - **To build library 'mylib' from sources using incremental mode**
+$ hbmk2 \-hblib mylibsrc\.prg \-omylib \-inc
+
+Exit codes \("errorlevels"\):
+
+
+ - **0** no error
+ - **1** unknown platform
+ - **2** unknown compiler
+ - **3** failed Harbour detection
+ - **5** failed stub creation
+ - **6** failed in compilation \(Harbour, C compiler, Resource compiler\)
+ - **7** failed in final assembly \(linker or library manager\)
+ - **8** unsupported
+ - **9** failed to create working directory
+ - **19** help
+ - **10** dependency missing or disabled
+ - **20** plugin initialization
+ - **30** too deep nesting
+ - **50** stop requested
+ - **<other>** όταν γίνει χρήση της επιλογής \-run, κωδικός εξόδου θα είναι αυτός που θα επιστραφεί από το δημιουργημένο εκτελέσιμο\.
+
+Notes:
+
+
+ - <script> can be:
+ <@script> or <script\.hbm>: command\-line options in file
+ <script\.hbp>: command\-line options in file, it also marks a new target if specified on the command\-line
+ <script\.hbc>: package configuration file
+ - Source filename without extension will load the \.hbp file, if such \.hbp file exists in current directory\. If not, \.prg extension will be used\.
+ - Multiple \-l, \-L, \-i and <script> parameters are accepted\.
+ - Regular Harbour compiler options are also accepted as is\.
+\(see them with \-harbourhelp option\)
+ - hbmk\.hbc option file in hbmk2 directory is always processed if it exists\. On \*nix platforms ~/\.harbour, /etc/harbour, <base>/etc/harbour, <base>/etc are checked \(in that order\) before the hbmk2 directory\.
+ - hbmk\.hbm make script in current directory is always processed if it exists\.
+ - Using forwards slashes is recommended in option values as directory separator, but backslashes are also equally accepted\.
+ - Φίλτρα επιτρέπονται σε κάθε γραμμή \.hbc καθώς και περισσότερες επιλογές\.⏎ Τα φίλτρα μπορούν να συνδυαστούν με χρήση τελεστών '&' \(and\), '|' \(or\), να αναιρεθούν με τον τελεστή '\!' και να ομαδοποιηθούν με αγγύλες\. Π\.χ\.: \{win\}, \{gcc\}, \{linux|darwin\}, \{win&\!pocc\}, \{\(win|linux\)&\!watcom\}, \{unix&mt&gui\}, \-cflag=\{win\}\-DMYDEF, \-stop\{dos\}, \-stop\{\!allwin\}
+ - Οι περισσότερες \.hbc γραμμές \(libs=, hbcs=, prgflags=, cflags=, ldflags=, libpaths=, instfiles=, instpaths=, echo=\) και οι αντίστοιχες παράμετροι γραμμής\-εντολής αποδέχονται μεταβλητές macro\. Η libpaths= επίσης αποδέχεται %\{hb\_name\} που μεταφράζεται στο όνομα του διερευνόμενου \.hbc αρχείου
+ - Options accepting macro variables also support command substitution\. Enclose command inside \`\`, and, if the command contains space, also enclose in double quotes\. Standard output of the command will be used as the value\. F\.e\. "\-cflag=\`wx\-config \-\-cflags\`", or ldflags=\{unix&gcc\}"\`wx\-config \-\-libs\`"\.
+ - When multiple target type selection options \(\-hblib, \-hbdyn, etc\.\) are specified, the first one will be significant, the rest will be silently ignored\.
+ - Libraries and object files built with/for CA\-Cl\*pper will not work with any supported platform/compiler\.
+ - Defaults and feature support may vary by platform/compiler\.
+ - Δεν χρειάζεστε το GNU Make ή κάποιο άλλο make μεταγλωττιστή C και το MSYS \(σε Windows\) για να εκτελέσετε το hbmk2\.
+ - \. \(dot\) passed as first parameter will enter the interactive Harbour shell\.
+
+
+ - \.hb, \.hrb or \.dbf file passed as first parameter will be run as Harbour script\. If the filename contains no path components, it will be searched in current working directory and in PATH\. If not extension is given, \.hb and \.hrb extensions are searched, in that order\. \.dbf file will be opened automatically in shared mode and interactive Harbour shell launched\. Non\-standard extensions will be autodetected for source and precompiled script types\. Note, for Harbour scripts, the codepage is set to UTF\-8 by default\. The default core header 'hb\.ch' is automatically \#included\. The default date format is the ISO standard: yyyy\-mm\-dd\. The default GT is 'gtcgi', unless full\-screen CUI calls are detected, when 'gtwin' \[\*\] is automatically selected \(except for INIT PROCEDUREs\)\.
+ - You can use key <Alt\+V> in interactive Harbour shell to paste text from the clipboard\.
+ - Values marked with \[\*\] may be host platform and/or configuration dependent\. This help was generated on 'win' host platform\.
+
+
+Supported <compiler> values for each supported <platform> value:
+
+
+ - **linux** gcc, clang, icc, watcom, sunpro, open64
+ - **darwin** gcc, clang, icc
+ - **win** mingw, msvc, clang, bcc, bcc64, watcom, icc, pocc, xcc, mingw64, msvc64, msvcia64, iccia64, pocc64
+ - **wce** mingwarm, mingw, msvcarm, poccarm
+ - **os2** gcc, gccomf, watcom
+ - **dos** djgpp, watcom
+ - **bsd** gcc, clang, pcc
+ - **hpux** gcc
+ - **beos** gcc
+ - **qnx** gcc
+ - **android** gcc, gccarm
+ - **vxworks** gcc, diab
+ - **symbian** gcc
+ - **cygwin** gcc
+ - **minix** clang, gcc
+ - **aix** gcc
+ - **sunos** gcc, sunpro
+
+License:
+
+
+ This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+\(at your option\) any later version\.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\. See the
+GNU General Public License for more details\.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc\., 675 Mass Ave, Cambridge, MA 02139, USA \(or visit
+their web site at http://www\.gnu\.org/\)\.
+
+License extensions:
+ \- This source code must be kept and distributed as part
+ of the Harbour package and/or the placement of the tool sources
+ and files must reflect that it is part of Harbour Project\.
+ \- Copyright information must always be presented by
+ projects including this tool or help text\.
+ \- Modified versions of the tool must clearly state this
+ fact on the copyright screen\.
+ \- Source code modifications shall always be made available
+ along with binaries\.
+ \- Help text and documentation is licensed under
+ Creative Commons Attribution\-ShareAlike 3\.0:
+ http://creativecommons\.org/licenses/by\-sa/3\.0/
+
+
+Author:
+
+
+ - Viktor Szakáts \(harbour syenar\.net\)
diff --git a/utils/hbmk2/hbmk2.md b/utils/hbmk2/doc/hbmk2.en.md
similarity index 99%
rename from utils/hbmk2/hbmk2.md
rename to utils/hbmk2/doc/hbmk2.en.md
index 49511a04d1..ef85bc734e 100644
--- a/utils/hbmk2/hbmk2.md
+++ b/utils/hbmk2/doc/hbmk2.en.md
@@ -1,4 +1,4 @@
-Harbour Make \(hbmk2\) 3\.2\.0dev \(r2013\-03\-26 11:07\)
+Harbour Make \(hbmk2\) 3\.2\.0dev \(r2013\-03\-28 03:24\)
Copyright \(c\) 1999\-2013, Viktor Szakáts
diff --git a/utils/hbmk2/doc/hbmk2.es.md b/utils/hbmk2/doc/hbmk2.es.md
new file mode 100644
index 0000000000..a41d94994b
--- /dev/null
+++ b/utils/hbmk2/doc/hbmk2.es.md
@@ -0,0 +1,719 @@
+Harbour Make \(hbmk2\) 3\.2\.0dev \(r2013\-03\-28 03:24\)
+Copyright \(c\) 1999\-2013, Viktor Szakáts
+
+Traducción \(es\): Guillermo Varona Silupú <gvaronas@gmail\.com>
+
+Sintáxis:
+
+ hbmk2 \[opciones\] \[<script\[s\]>\] <src\[s\]\[\.prg|\.c|\.obj|\.o|\.rc|\.res|\.def|\.po|\.pot|\.hbl|@\.clp|\.d|\.ch\]>
+
+Description:
+
+
+ hbmk2 is an integrated and portable build tool, making it possible to create various types of executable binaries \(executable, dynamic library, static library, Harbour portable binary\) out of multiple types of source files \(C, C\+\+, Objective\-C, Harbour, gettext translations, Windows resources\)\. 'Integrated' means that a single hbmk2 project file can control all or most aspects of the build process\. 'Portable' means that a single hbmk2 project file can control the build on all supported OS platforms and across all supported C compilers\. It also aims to cover the majority of build tasks via short and simple project files \(options\)\. hbmk2 supports pure \-non\-Harbour\- C/C\+\+/Objective\-C projects as well\. In order to achieve above goals, hbmk2 will autodetect Harbour, C compiler and other required tools, then configure and call them appropriately\. hbmk2 allows to extend the types of supported source files via plugins\.
+Besides building executables, hbmk2 is able to run Harbour scripts \(both source and precompiled\) directly, and it also features an interactive shell prompt\.
+
+Opciones:
+
+
+ - **\-o<outname>** nombre de archivo de salida
+ - **\-l<libname>** link with <libname> library\. <libname> should be without path, extension and 'lib' prefix \(unless part of the name\)\. Do not add core Harbour libraries, they are automatically added as needed\. If <libname> starts with a '\-' character, the library will be removed from the list of libraries at link time\.
+ - **\-L<libpath>** PATH adicional para buscar librerías
+ - **\-i<p>|\-incpath=<p>** rutass adicionales para buscar para cabeceras
+ - **\-static|\-shared** enlazar con librerías estáticas/compartidas
+ - **\-gt<name>** link with GT<name> GT driver, can be repeated to link with more GTs\. First one will be the default at run\-time
+ - **\-inc\[\-\]** habilita modo de compilación incremental
+ - **\-hbexe** crea ejecutable \(por defecto\)
+ - **\-hblib** crear librería estática
+ - **\-hbdyn** crea biblioteca dinámica \(sin enlace a Harbour VM\)
+ - **\-hbdynvm** crear librería dinámica \(con enlace a Harbour VM\)
+
+
+ - **\-mt|\-st** enlazar con soporte multi/single\-thread Harbour VM
+ - **\-gui|\-std** crear ejecutable GUI/console
+ - **\-main=<mainfunc>** sobreescribe nombre de función/procedimento inicial
+ - **\-request=<func>** fuerza función/procedimiento a enlazarse
+ - **\-fullstatic** enlazar con todas las librerías estáticas
+ - **\-pic\[\-\]** crear código objeto independiente de la posición \(siempre activado en los modos \-hbdyn/\-hbdynvm\)
+ - **\-\[full|fix\]shared** crear para compartir archivos binarios Harbour sin/con referencia absoluta a librerías de Harbour \(por defecto: 'fullshared' cuando Harbour se instala en ubicación del sistema, 'fixshared' en otro caso\) \(opción fix/full en \*nix solamente\)
+ - **\-nulrdd\[\-\]** enlazar con nulrdd
+ - **\-debug\[\-\]** adicionar/excluir información de debug de compilador C\. Para activar el debug de Harbour utilize la Opción \-b como de costumbre\.
+ - **\-optim\[\-\]** alternar las optimizaciones del compilador C \(por defecto: on\)
+ - **\-cpp\[\-\]** fuerza modo C\+\+/C
+ - **\-cpp=<value>** select C\+\+ mode\. Allowed values are: def, yes, no
+ - **\-map\[\-\]** crear \(o no\) un archivo map
+ - **\-implib\[\-\]** crear \(o no\) una biblioteca de importación \(en modo \-hbdyn/\-hbexe\)\. El nombre tendrá un sufijo anadido\.
+ - **\-implib=<output>** crear biblioteca de importación \(en modo \-hbdyn/\-hbexe\) Nombre de <output> \(por defecto: igual que la salida\)
+ - **\-ln=<link>** crea enlace simbólico apuntando a <output> \(<link> se asocia a <output>\)
+ - **\-strip\[\-\]** desmontar \(no desmontar\) binarios
+ - **\-trace\[\-\]** mostrar comandos ejecutados
+ - **\-beep\[\-\]** activa \(o desactiva\) beep simple en caso de éxito, doble beep en caso de falla
+ - **\-ignore\[\-\]** ignore errores cuando ejecute herramienta de compilador \(por defecto: off\)
+ - **\-hbcppmm\[\-\]** reemplaza las funciones de administración de memoria estandar de C\+\+ con las de Harbour
+ - **\-winuni\[\-\]** seleccionar modo de compilación entre Unicode \(WIDE\) y ANSI \(por defecto: ANSI\) \(sólo Windows\. Para WinCE siempre se establece en UNICODE\.\)
+ - **\-nohblib\[\-\]** no use librerías estáticas del núcleo de Harbour al enlazar
+ - **\-nodefgt\[\-\]** no enlaza GTs por defecto \(efectivo en modo \-static\)
+ - **\-nolibgrouping\[\-\]** desactivar agrupamiento de LIBs en compiladores basados en gcc\.
+ - **\-nomiscsyslib\[\-\]** no agregue lista adicional de librerías del sistema a lista de librerías por defecto
+ - **\-traceonly** mostrar comandos a ser ejecutados, pero no ejecutarlos
+ - **\-warn=<lev>** Configure nivel de advertencia \(warnings\) del compilador C
+<lev> puede ser: max, yes, low, no, def \(default: yes\)
+ - **\-safe\[\-\]** enable safety options in C compiler/linker \(default: enabled on Windows, disabled on other systems\)
+ - **\-compr=<lev>** comprime executable/librería dinamica \(necesita UPX\)
+<lev> puede ser: yes, no, min, max
+ - **\-run\[\-\]** ejecutar/no ejecutar aplicativo generado\.
+ - **\-vcshead=<file>** generate \.ch header file with local repository information\. Git, SVN, Mercurial, Bazaar, Fossil, CVS and Monotone are currently supported\. Generated header will define preprocessor constant \_HBMK\_VCS\_TYPE\_ with the name of detected VCS and \_HBMK\_VCS\_ID\_ with the unique ID of local repository\. If no VCS system is detected, a sequential number will be rolled automatically on each build\.
+ - **\-tshead=<file>** generar archivo de cabecera \.ch con información de fecha/hora\. Cabecera generado definirá macros \_HBMK\_BUILD\_DATE\_, \_HBMK\_BUILD\_TIME\_, \_HBMK\_BUILD\_TIMESTAMP\_ con fecha/hora de creación de archivo\.
+ - **\-icon=<file>** set <file> as application icon\. <file> should be a supported format on the target platform \(not supported by some platforms/compilers\)\. On Windows, it is implemented by generating and linking a resource file\.
+ - **\-manifest=<file>** incrustar manifiesto <file> en ejecutable/lib dinámica \(sólo Windows\)
+ - **\-sign=<key>** sign executable with <key> \(Windows and Darwin only\)\. On Windows signtool\.exe is used \(part of MS Windows SDK\) or posign\.exe \(part of Pelles C 7\), in that order, both autodetected\.
+ - **\-signpw=<pw>** use <pw> as password when signing executable \(Windows and Darwin only\)
+ - **\-instfile=<g:file>** anadir <archivo> a la lista de archivos que desea copiar a la ruta especificada por la opción \-instpath\. <g> es un grupo opcional de copia \(distingue mayúsculas y minúsculas\), debe haber al menos dos caracteres\. En caso de que no se especifica <archivo>, la lista de archivos en ese grupo se vaciará\.
+ - **\-instpath=<g:path>** copy target to <path>\. if <path> is a directory, it should end with path separator, in this case files specified by \-instfile option will also be copied\. can be specified multiple times\. <g> is an optional copy group, it must be at least two characters long\. Build target will be automatically copied to default \(empty\) copy group\. There exist following built\-in <g> groups: 'depimplib' for import libraries and 'depimplibsrc' for import library source \(\.dll\) files, both belonging to dependencies\.
+ - **\-instforce\[\-\]** copia destino a ruta de instalación incluso si está actualizado
+ - **\-depimplib\[\-\]** activar \(o desactivar\) la generación de Bibliotecas de Importación para fuentes de biblioteca de importación especificados en la opción \-depimplibs= \(por defecto: yes\)
+ - **\-stop\[=<text>\]** parar sin hacer nada y mostrar <text> si se ha especificado
+ - **\-echo=<text>** eco de texto en la pantalla
+ - **\-pause** forzar pause para presionar una tecla en caso de error \(solo con driver GT alternativo\)
+ - **\-exitstr** show error result as human readable text on exit
+ - **\-info** activar los mensajes informativos
+ - **\-quiet\[\-\]** suprimir todos los mensajes en pantalla
+
+
+ - **\-bldf\[\-\]** heredar flags de Harbour: todos/ninguno \(por defecto\)
+ - **\-bldf=\[p\]\[c\]\[l\]** heredar todos los flags \.prg/\.c/linker \(o ninguno\) desde construcción de Harbour
+ - **\-F<framework>** Enlace con marco <framework> \(Sólo Darwin \)
+ - **\-prgflag=<f>** pasar flags a Harbour
+ - **\-cflag=<f>** pasar flags a compilador C
+ - **\-resflag=<f>** pasar flags a compilador de recursos \(sólo para Windows\)
+ - **\-ldflag=<f>** pasar flags a linkeditor \(ejecutable\)
+ - **\-dflag=<f>** pasar flags a linkeditor \(librería dinánica\)
+ - **\-aflag=<f>** pasa flag a linkeditor \(lib estática\)
+ - **\-iflag=<f>** pasar solo bandera a comando de creación de biblioteca de importación
+ - **\-signflag=<f>** pass single flag to code sign command
+ - **\-runflag=<f>** pasar flag a ejecutable de salida cuando opción \-run es utilizada
+ - **\-cflag\+=<f>** pasar solo bandera del compilador de C para reemplazar las opciones del compilador C anadida por hbmk2 mismo\. Usar con precaución\.
+ - **\-ldflag\+=<f>** pass single raw option to linker \(executable\) after the library list\. Use with caution\.
+ - **\-dflag\+=<f>** pass single raw option to linker \(dynamic library\) after the library list\. Use with caution\.
+ - **\-3rd=<f>** opciones/flags reservados para herramientas de terceros, siempre ignorado por hbmk2 en sí
+ - **\-env:<e>\[<o>\[<v>\]\]** alterar el ambiente local\. <e> es el nombre de la variable de entorno a alterar\. <o> puede ser '=' para establecer/reemplazar, '\-' para borrar, '\+' para anadir al final de valor existente, '\#' para insertar al principio del valor existente\. <v> es el valor a poner/agregar/insertar\.
+ - **\-jobs=<n>** Inicia <n> threads de compilación \(solo para plataformas multiproceso\)
+ - **\-head=<m>** analizando fuente de control de encabezado \(en construcción en modo incremental\)
+<m> puede ser: nativo \(compilador utilizado para extraer las dependencias\), completa \(por defecto, utiliza analizador de texto simple en el fichero entero\), dep, off
+ - **\-rebuild** reconstrucción \(en modo incremental\)
+ - **\-rebuildall** reconstruir con sub\-proyectos \(contrucción en modo incremental\)
+ - **\-clean** compilación limpia \(en modo incremental\)
+ - **\-workdir=<dir>** working directory
+\(default: \.hbmk/<platform>/<compiler> \[\*\] in incremental mode, OS temp directory otherwise\)
+
+
+ - **\-hbcontainer** virtual target, it does not create anything\. Useful for creating an \.hbp with the sole purpose of referencing sub\-projects
+ - **\-hbimplib** create import library \(Windows only\)
+
+
+ - **\-hbl\[=<output>\]** nombre\-de\-archivo \.hbl resultante\. macro %\{hb\_lng\} es aceptada en nombre\-de\-archivo\.
+ - **\-lng=<languages>** lista de idiomas a ser reemplazados en %\{hb\_lng\} macros en archivos \.pot/\.po y nombres de archivos y salida \.hbl/\.po\. Lista separada por comas:
+\-lng=en,hu\-HU,de
+ - **\-po=<output>** crear/actualizar archivo \.po desde fuentes\. Combinar con anterior archivo \.po del mismo nombre\.
+ - **\-minipo\[\-\]** adicionar \(o no\) número de versión y referencia de archivo de origen a po\. \(por defecto: anadirlos\)
+ - **\-rebuildpo** recrea archivo \.po, eliminando todas las entradas obsoletas en el mismo\.
+
+
+ - **\-hbx=\[<\.ch>\]** Create Harbour header \(in \.hbx format\) with all external symbols\. Empty parameter will disable it\.
+ - **\-autohbc=<\.ch:\.hbc>** <\.ch> es un nombre de archivo de cabecera\. <\.hbc> es un nombre de archivo \.hbc para ser incluido automáticamente en caso la cabecera se encuentra en cualquiera de las fuentes compiladas\. \(EXPERIMENTAL\)
+
+
+ - **\-deppkgname=<d:n>** <d> es el nombre de la dependencia\. <n> nombre de la dependencia de un paquete\. Se puede especificar varias veces\.
+ - **\-depkeyhead=<d:h>** <d> es el nombre de la dependencia\. <h> es la cabecera clave \(\.h\) de la dependencia de un paquete\. Varios encabezados alternativos pueden ser especificados\.
+ - **\-depoptional=<d:f>** <d> es el nombre de la dependencia\. <f> puede ser 'yes' o 'no', especifica si la dependencia es opcional\. Por defecto: no
+ - **\-depcontrol=<d:v>** <d> es el nombre de la dependencia\. <v> es un valor que controla como se hace la detección\. Valores aceptados: no, yes, force, nolocal, local\. Por defecto: contenido de envvar HBMK\_WITH\_<d>
+ - **\-depincroot=<d:r>** <d> es el nombre de la dependencia\. Establecer <r> como directorio raíz para las rutas especificadas en la opción \-depincpath\.
+ - **\-depincpath=<d:i>** <d> es el nombre de la dependencia\. Anadir <i> a la lista de rutas de detección de encabezados\.
+ - **\-depincpathlocal=<d:i>** <d> is the name of the dependency\. Add <i> to the header detection path list, where <i> is pointing to a directory local to the project and containing an embedded \(aka\. 'locally hosted'\) dependency\.
+ - **\-depimplibs=<d:dll>** <d> es el nombre de la dependencia\. Anadir <dll> a la lista fuente de la biblioteca de importación\.
+ - **\-depimplibd=<d:lib>** <d> es el nombre de la dependencia\. Establecer nombre generado de biblioteca de importación a <lib>
+ - **\-depfinish=<d>** <d> is the name of the dependency\. Closes the dependency definition and does the actual dependency detection, setting all predefined filter macro variables and build options accordingly\. Optional, if omitted, detection will take place after processing all options\.
+
+
+ - **\-plugin=<filename>** agregar plugin \(módulo\)\. <filename> puede ser: \.hb, \.prg, \.hrb
+ - **\-pi=<filename>** pasar archivo de entrada a plugins
+ - **\-pflag=<f>** pasar solo bandera para plugins
+
+Options below are available on command\-line:
+
+
+ - **\-target=<script>** especifica un nuevo destino de construcción\. <script> puede ser \.prg \(o sin extensión\) o \.hbp archivo\. Tenga en cuenta que los archivos \.hbp son automáticamente considerados como destinos separados\.
+
+
+ - **\-hbrun** ejecutar destino
+ - **\-hbraw** parar después de ejecutar compilador Harbour
+ - **\-hbcmp|\-clipper** para después de la creación de los archivos objeto
+crear un enlace/copia a hbmk2 para hbcmp/clipper resultará el mismo efecto
+ - **\-hbcc** acepta raw C flags
+create enlace/copia hbmk2 para hbcc para el mismo efecto
+ - **\-hblnk** aceptar flags primas del enlazador
+ - **\-autohbm\[\-\]** activar \(o desactivar\) procesamiento de hbmk\.hbm en el directorio actual \(por defecto: yes\)
+ - **\-hb10** habilita modo de compatibilidad 'Harbour 1\.0\.x'
+ - **\-hb20** activa el modo de compatibilidad Harbour 2\.0\.x
+ - **\-hb30** enable Harbour 3\.0\.x compatibility mode
+ - **\-xhb** habilitar modo xHb
+ - **\-hbc** activa modo puro C
+ - \-rtlink
+ - \-blinker
+ - **\-exospace** emula comportamiento de linkeditor compatible con clipper
+crear link o copiar hbmk2 para rtlink/blinker/exospace resultará el mismo efecto
+
+
+ - **\-hbreg\[=global\]** register Harbour Script \(\.hb\) with hbmk2 \(Windows only\)
+ - **\-hbunreg\[=global\]** unregister Harbour Script \(\.hb\) from hbmk2 \(Windows only\)
+
+
+ - **\-find <text>** lists all known Harbour functions that contain <text> in their name, along with their package \(case insensitive, accepts multiple values, can contain wildcard characters\)
+
+
+ - **\-hbmake=<file>** convierte proyecto hbmake en un archivo \.hbp
+ - **\-xbp=<file>** convierte proyecto \.xbp \(xbuild\) en un archivo \.hbp
+ - **\-xhp=<file>** convierte un proyecto \.xhp \(xMate\) en un archivo \.hbp
+
+
+ - **\-\-hbdirbin** directorio de binarios de Harbour
+ - **\-\-hbdirdyn** directorio de salida de librerías dinámicas de Harbour
+ - **\-\-hbdirlib** directorio de salida de librerías estáticas de Harbour
+ - **\-\-hbdirinc** directorio de cabeceras de Harbour
+ - **\-\-hbinfo\[=nested\]** output Harbour build information\. Output is in JSON format\. The included paths always contain forward slashes\. Each JSON block is followed by an 0x0A byte\.
+
+
+ - **\-plat=<platform>** override default target platform \(default: automatic\)
+ - **\-cpu=<cpu>** selecciona la CPU de destino\. \(EXPERIMENTAL\)
+ - **\-comp=<compiler>** override C compiler autodetection
+Special value:
+ \- bld: use original build settings \(default on \*nix\)
+ - **\-build=<name>** utilizar un nombre de build especifico
+ - **\-lang=<lang>** override default language\. <lang> is an ISO language code\.
+ - **\-width=<n>** establecer el ancho de salida a <n> caracteres \(0=sin límite\)\.
+ - **\-shl** mostrar nivel de subproyecto en las líneas de salida
+ - **\-viewhelp** long help in text viewer
+ - **\-longhelp** ayuda detallada
+ - **\-longhelpmd** long help in [Markdown](http://daringfireball.net/projects/markdown/) format
+ - **\-harbourhelp** Harbour compiler help \(all Harbour compiler options are accepted as is by hbmk2\)
+ - **\-credits** Harbour compiler credits
+ - **\-build** Harbour compiler build information
+ - **\-version** muestra solo versión de cabecera
+
+Options below are internal/developer ones \(compatibility not guaranteed\):
+
+
+ - **\-debugtime** measure time spent on the build
+ - **\-debuginc** display internals of incremental build
+ - **\-debugstub** display content of all internally generated source files
+ - **\-debugi18n** display internals on translation file generation
+ - **\-debugdepd** display internals of dependency detection
+ - **\-debugpars** display all input parameters in processing order
+ - **\-debugrte** generate a run\-time error
+
+
+You can sym\-link/copy/rename hbmk2 to the following names to alter default mode of operation:
+
+
+ - **hbrun\*|\*hbrun** mode script runner / interactive shell
+ - **hbrund|hbrun\*d** mode script runner / interactive shell in debug mode
+ - **harbour** mode \-hbraw \(emulate \- raw \- Harbour compiler\)
+ - **clipper** mode \-hbcmp \(emulate Clipper compiler\)
+ - **rtlink** mode \-rtlink \(emulate Clipper linker\)
+ - **exospace** mode \-rtlink \(emulate Clipper linker\)
+ - **blinker** mode \-rtlink \(emulate Clipper linker\)
+ - **\*10** option \-hb10
+ - **\*20** option \-hb20
+ - **\*30** option \-hb30
+ - **x\*** option \-xhb
+ - **hbcmp\*|\*hbcmp** mode \-hbcmp \(emulate Harbour compiler producing a binary object\)
+ - **hbcc\*|\*hbcc** mode \-hbcc \(emulate C compiler\)
+ - **hblnk\*|\*hblnk** mode \-hblnk \(emulate C linker\)
+ - **hbexe\*|\*hbexe** mode \-hbexe
+ - **hblib\*|\*hblib** mode \-hblib
+ - **hbdyn\*|\*hbdyn** mode \-hbdyn
+
+Files:
+
+
+ - **\*\.hbp** project file\. Can contain any number of command\-line options, which are expected to create an output\. Lines beginning with '\#' character are ignored, otherwise newline is optional and options are space separated, just like on the command\-line\. You must enclose option containing space in double quotes\. Each \.hbp file reference will be executed as a sub\-project\.
+ - **\*\.hbm** collection of options\. Can be used to collect common ones into a file and include that into project files\. Uses same format as \.hbp files\.
+ - **\*\.hbc** collection of options that accompany components \(aka 'libs', aka packages\)\. Use different syntax than command\-line and \.hbp/\.hbm files\. Lines beginning with '\#' character are ignored, each directive must be placed in separate lines\.
+ - **\*\.ch** if passed directly as a source file, it will be used as additional standard header
+ - **hbmk\.hbc** standard \.hbc file that gets automatically processed, if present\. Possible location\(s\) \(in order of precedence\) \[\*\]: %APPDATA%\\\.harbour, <hbmk2 directory>
+ - **hbmk\.hbm** optional \.hbm file residing in current working directory, which gets automatically processed before other options
+ - **$hb\_pkg\_dynlib\.hbm** special \.hbm file embedded inside hbmk2\. It manages the details of creating a dynamic library \(in the style of Harbour contribs\)\.
+ - **$hb\_pkg\_install\.hbm** special \.hbm file embedded inside hbmk2\. It manages the details of installing targets and related package files to standard locations \(in the style of Harbour contribs\)\.
+
+
+ - **\*\.hb** Harbour script
+ - **\*\.hrb** Harbour portable binary \(aka precompiled Harbour script\)
+ - **hbstart\.hb** startup Harbour script for interactive Harbour shell\. It gets executed automatically on shell startup, if present\. Possible locations \(in order of precedence\) \[\*\]: \.\\, %APPDATA%\\\.harbour, <hbmk2 directory>
+ - **shell plugins** \.hb and \.hrb plugins for interactive Harbour shell\. They may reside in \[\*\]: %APPDATA%\\\.harbour\\
+ - **\.hb\_history** stores command history for interactive Harbour shell\. You can disable history by making the first line 'no' \(without quotes and with newline\)\. Resides in \[\*\]: %APPDATA%\\\.harbour\\
+ - **hb\_extension** list of extensions to load in interactive Harbour shell\. One extension per line, part of line beyond a '\#' character is ignored\. Alternate filename on MS\-DOS: hb\_ext\.ini\. Resides in \[\*\]: %APPDATA%\\\.harbour\\
+
+Macro variables:
+
+
+ - **$\{hb\_root\}** directory of hbmk2
+ - **$\{hb\_dir\}** directory of the filename it is used in
+ - **$\{hb\_dirname\}** top directory of the filename it is used in
+ - **$\{hb\_name\}** name of the filename it is used in \(without directory and extension\)
+ - **$\{hb\_self\}** full filename it is used in
+ - **$\{hb\_curdir\}** current working directory
+ - **$\{hb\_tempdir\}** OS directory for temporary files
+ - **$\{hb\_targetname\}** name of the project \(without directory and extension\)\. Returns \.adhoc\. if there is not project file\.
+ - **$\{hb\_targettype\}** type of the project \(hbexe, hblib, hbdyn, hbdynvm, hbimplib, hbppo, hbhrb, hbcontainer\)
+ - **$\{hb\_plat\}** selected platform
+ - **$\{hb\_comp\}** selected C compiler
+ - **$\{hb\_comp\_ver\}** C compiler version
+ - **$\{hb\_build\}** build name
+ - **$\{hb\_cpu\}** selected CPU
+ - **$\{hb\_work\}** default base workdir name
+ - **$\{hb\_workdynsub\}** default workdir subdirectory for dynamic library targets
+ - **$\{hb\_dynprefix\}** dynamic library prefix
+ - **$\{hb\_dynsuffix\}** dynamic library suffix
+ - **$\{hb\_dynext\}** dynamic library extension
+ - **$\{hb\_ver\}** Harbour version in hexadecimal triple byte format\. F\.e\.: 030200
+ - **$\{hb\_verstr\}** Harbour version in human readable format <major>\.<minor>\.<release><status>\. F\.e\.: 3\.2\.0dev
+ - **$\{hb\_major\}** Harbour major version number
+ - **$\{hb\_minor\}** Harbour minor version number
+ - **$\{hb\_release\}** Harbour release version number
+ - **$\{hb\_status\}** Harbour version status
+ - **$\{hb\_revision\}** Harbour revision
+ - **$\{hb\_host\_plat\}** Harbour host platform
+ - **$\{hb\_host\_plat\_unix\}** returns '1' if Harbour host platform is \*nix compatible
+ - **$\{hb\_bin\}** Harbour binary directory
+ - **$\{hb\_lib\}** Harbour static library directory
+ - **$\{hb\_lib3rd\}** Harbour 3rd party static library directory
+ - **$\{hb\_dyn\}** Harbour dynamic library directory
+ - **$\{hb\_inc\}** Harbour header directory
+ - **$\{hb\_addons\}** Harbour add\-ons base directory
+ - **$\{hb\_first\}** name of source file that holds the entry function \(without directory and extension\)
+ - **$\{hb\_outputdir\}** directory of the output
+ - **$\{hb\_outputname\}** name of the output \(without extension\)
+ - **$\{hb\_level\}** sub\-project recursion level
+ - **$\{<depname>\}** returns the header directory of dependency <depname>, or '1' if it is not detected
+ - **$\{<envvar>\}** returns the value of the environment variable <envvar>
+
+Filters \(you can combine and/or negate them\):
+
+
+ - **\{<platform>\}** target platform\. Where <platform> can be any value accepted by \-plat= option\.
+ - **\{<compiler>\}** target C compiler\. Where <compiler> can be any value accepted by \-comp= option\.
+ - **\{<cpu>\}** target CPU\. Where <cpu> can be any of: x86, x86\_64, ia64, arm, mips, sh
+ - **\{<targettype>\}** target type\. Where <targettype> is any of the values returned by macro variable $\{hb\_targettype\}\.
+ - **\{mt\}** target is multi\-threaded \(see \-mt option\)
+ - **\{st\}** target is single\-threaded \(see \-st option\)
+ - **\{gui\}** GUI target \(see \-gui option\)
+ - **\{std\}** console target \(see \-console option\)
+ - **\{debug\}** C level debugging is enabled \(see \-debug option\)
+ - **\{nodebug\}** C level debugging is disabled \(see \-debug\- option\)
+ - **\{shared\}** shared build \(see \-shared and related options\)
+ - **\{static\}** static build \(see \-static and related options\)
+ - **\{lngcpp\}** forced C\+\+ mode \(see \-cpp option\)
+ - **\{lngc\}** forced C mode \(see \-cpp\- option\)
+ - **\{winuni\}** Windows UNICODE \(WIDE\) mode \(see \-winuni option\)
+ - **\{winansi\}** Windows ANSI mode \(see \-winuni\- option\)
+ - **\{unix\}** target platform is \*nix compatible \(bsd, hpux, sunos, beos, qnx, android, vxworks, symbian, linux, darwin, cygwin, minix, aix\)
+ - **\{allwin\}** target platform is Windows compatible \(win, wce\)
+ - **\{allgcc\}** target C compiler belongs to gcc family \(gcc, mingw, mingw64, mingwarm, djgpp, gccomf, clang, open64, pcc\)
+ - **\{allmingw\}** target C compiler is mingw\* \(mingw, mingw64, mingwarm\)
+ - **\{allmsvc\}** target C compiler is msvc\* \(msvc, msvc64, msvcia64, msvcarm\)
+ - **\{allbcc\}** target C compiler is bcc\* \(bcc, bcc64\)
+ - **\{allpocc\}** target C compiler is pocc\* \(pocc, pocc64, poccarm\)
+ - **\{allicc\}** target C compiler is icc\* \(icc, iccia64\)
+ - **\{hb10\}** Harbour 1\.0\.x compatibility mode \(see \-hb10 option\)
+ - **\{hb20\}** Harbour 2\.0\.x compatibility mode \(see \-hb20 option\)
+ - **\{hb30\}** Harbour 3\.0\.x compatibility mode \(see \-hb30 option\)
+ - **\{xhb\}** xhb mode \(see \-xhb option\)
+ - **\{hb\_ispath='<file|dir>'\}** filter will pass if <file> or <dir> name exists on disk\.
+ - **\{MACRO\}** filter will pass if $\{MACRO\} value is not empty and not equal to '0' or 'no' \(case insensitive\)
+ - **\{MACRO='<value>'\}** filter will pass if $\{MACRO\} value equals to <value> \(case insensitive\)\.
+ - **\{MACRO>'<value>'\}** filter will pass if $\{MACRO\} value is larger than <value> \(case insensitive\)\.
+ - **\{MACRO<'<value>'\}** filter will pass if $\{MACRO\} value is smaller than <value> \(case insensitive\)\.
+
+
+Predefined constants in sources:
+
+
+ - **\_\_HBSCRIPT\_\_HBMK\_PLUGIN** when an \.hb script is compiled as hbmk2 plugin
+ - **\_\_HBEXTREQ\_\_** when an \.hbx source file is present in a project \(available in Harbour sources\)
+ - **HBMK\_HAS\_<hbcname>** when <hbcname>\.hbc package is linked to the target\. The value is the version= value from the \.hbc file, converted to a decimal number, which is '1', if not specified\. \(available in Harbour sources\)
+ - **HBMK\_HAS\_<depname>** when <depname> dependency was detected \(available in C sources\)
+
+
+ - **\_\_HBSCRIPT\_\_HBSHELL** when a Harbour source file is run as a shell script
+ - **<standard Harbour>** \_\_PLATFORM\_\_\*, \_\_ARCH\*BIT\_\_, \_\_\*\_ENDIAN\_\_, etc\.\.\.
+
+
+Predefined constants in build files \(they are available after '\-depfinish=<depname>' / 'depfinish=<depname>'\):
+
+
+ - **HBMK\_HAS\_<depname>** when <depname> dependency was detected
+ - **HBMK\_DIR\_<depname>** return the header directory where <depname> was detected, or empty if it was not\.
+ - **HBMK\_HAS\_<depname>\_LOCAL** when <depname> dependency was detected in a location configured by \-depincpathlocal= option
+
+Environment variables:
+
+
+ - **HBMK\_OPTIONS** accepts any options as if they were passed in the beginning of the command\-line
+ - **HB\_PLATFORM** accepts same values as \-plat= option
+ - **HB\_COMPILER** accepts same values as \-comp= option
+ - **HB\_CPU** accepts same values as \-cpu= option
+ - **HB\_BUILD\_NAME** accepts same values as \-build= option
+ - **HB\_LANG** accepts same values as \-lang= option
+ - **HB\_USER\_LIBS** accepts same values \(space separated\) as \-l option
+ - **HB\_USER\_LIBPATHS** accepts same values \(space separated\) as \-L option
+ - **HB\_USER\_PRGFLAGS** options to be passed to Harbour compiler \(before command\-line options\)
+ - **HB\_USER\_CFLAGS** options to be passed to C compiler \(before command\-line options\)
+ - **HB\_USER\_RESFLAGS** options to be passed to resource compiler \(before command\-line options\) \(Windows only\)
+ - **HB\_USER\_LDFLAGS** options to be passed to linker \(executable\) \(before command\-line options\)
+ - **HB\_USER\_DFLAGS** options to be passed to linker \(dynamic library\) \(before command\-line options\)
+ - **HB\_USER\_AFLAGS** options to be passed to linker \(static library\) \(before command\-line options\)
+ - **HB\_COMPILER\_VER** override C compiler version autodetection \(gcc and msvc compiler families only\)\. Format: <15><00>\[\.<00>\] = <major><minor>\[\.<revision>\]
+ - **HB\_CCPATH** override C compiler executable directory \(gcc compiler families only\)
+ - **HB\_CCPREFIX** override C compiler executable prefix \(gcc compiler families only\)
+ - **HB\_CCSUFFIX** override C compiler executable suffix \(gcc compiler families only\)
+ - **HB\_INSTALL\_PREFIX** override Harbour base installation directory
+ - **HB\_INSTALL\_ADDONS** override Harbour base add\-ons directory
+
+
+ - **HB\_EXTENSION** space separated list of extensions to load in interactive Harbour shell
+
+\.hbc directives \(they should be written in separate lines\):
+
+
+ - **echo=<msg>** display <msg>
+ - **skip=\[<msg>\]** skip processing the rest of the \.hbc file\. Display <msg>, if specified\.
+ - **stop=\[<msg>\]** stop the build\. Display <msg>, if specified\.
+ - **sources=** add space separated list of files as input files
+ - **headers=** add space separated list of \.ch format headers as standard header
+ - **libs=** add space separated list of libraries \(see more at \-l option\)
+ - **frameworks=** add space separated list of frameworks \(Darwin only\)
+ - **requests=** add space separated list of symbols to force link to the target
+ - **syslibs=** add space separated list of libraries as system libraries \(before regular libraries\)
+ - **hbcs=** embed space separated list of \.hbc files\. Names without the extension is accepted\. These references are processed in place\.
+ - **autohbcs=** space separated list of values as in \-autohbc= option
+ - **libpaths=** space separated list of additional library paths
+ - **incpaths=** add space separated list of additional header paths \(for both Harbour and C\)
+ - **instfiles=** space separated list of values as in \-instfile= option
+ - **instpaths=** space separated list of values as in \-instpath= option
+ - **prgflags=** space separated list of values as in \-prgflag= option
+ - **cflags=** space separated list of values as in \-cflag= option
+ - **resflags=** space separated list of values as in \-resflag= option
+ - **ldflags=** space separated list of values as in \-ldflag= option
+ - **ldflags\+=** space separated list of values as in \-ldflag\+= option
+ - **dflags=** space separated list of values as in \-dflag= option
+ - **dflags\+=** space separated list of values as in \-dflag\+= option
+ - **pflags=** space separated list of values as in \-pflag= option
+ - **psources=** space separated list of values as in \-pi= option
+ - **gui=<bool>** 'yes' = \-gui, 'no' = \-std option
+ - **mt=<bool>** 'yes' = \-mt, 'no' = \-st option
+ - **pic=<bool>** 'yes' = \-pic, 'no' = \-pic\- option
+ - **shared=<bool>** 'yes' = \-shared, 'no' = \-static option
+ - **shareddef=<bool>** similar to shared=, but works only if shared/static mode was not set before
+ - **fullstatic=<bool>** 'yes' = \-fullstatic, 'no' = \-static option
+ - **debug=<bool>** 'yes' = \-debug, 'no' = \-debug\- option
+ - **optim=** 'yes' = \-optim, 'no' = \-optim\- option
+ - **nulrdd=<bool>** 'yes' = \-nulrdd, 'no' = \-nulrdd\- option
+ - **nodefgt=<bool>** 'yes' = \-nodefgt, 'no' = \-nodefgt\- option
+ - **map=<bool>** 'yes' = \-map, 'no' = \-map\- option
+ - **hbcppmm=<bool>** 'yes' = \-hbcpmm, 'no' = \-hbcpmm\- option
+ - **implib=<bool>** 'yes' = \-implib, 'no' = \-implib\- option
+ - **winuni=<bool>** 'yes' = \-winuni, 'no' = \-winuni\- option
+ - **strip=<bool>** 'yes' = \-strip, 'no' = \-strip\- option
+ - **run=<bool>** 'yes' = \-run, 'no' = \-run\- option
+ - **inc=<bool>** 'yes' = \-inc, 'no' = \-inc\- option
+ - **safe=<bool>** 'yes' = \-safe, 'no' = \-safe\- option
+ - **cpp=** same as \-cpp= option
+ - **warn=** same as \-warn= option
+ - **compr=** same as \-compr= option
+ - **head=** same as \-head= option
+ - **plugins=** space separated list of hbmk2 plugins to load
+ - **gt=<name>** same as \-gt<name> option
+ - **gtdef=<name>** set the default GT to be used
+ - **env=** same as \-env: option
+ - **deppkgname=** same as \-deppkgname= option
+ - **depkeyhead=** same as \-depkeyhead= option
+ - **depoptional=** same as \-depoptional= option
+ - **depcontrol=** same as \-depcontrol= option
+ - **depincroot=** same as \-depincroot= option
+ - **depincpath=** same as \-depincpath= option
+ - **depincpathlocal=** same as \-depincpathlocal= option
+ - **depimplibs=** same as \-depimplibs= option
+ - **depimplibd=** same as \-depimplibd= option
+ - **name=** package name
+ - **description=** package description
+ - **version=<x\.y\.z>** package version number, where x,y,z >= 0 <= 255\. Defaults to 0\.0\.1, if not specified\.
+ - **keywords=** space separated list of keywords
+ - **licences=** space separated list of licenses
+ - **repository=** space separated list of source repository references
+
+
+Plugin API:
+\('hbmk' is the context variable received by the plugin entry function\)
+
+
+ - **hbmk\_Register\_Input\_File\_Extension\( hbmk, cExt \) \-> NIL**
+Register input file extension to be passed to plugin \(by default all unknown file extensions are passed to Harbour compiler\)\.
+ - **hbmk\_AddInput\_PRG\( hbmk, cFileName \) \-> NIL**
+Add a Harbour input file to the project\.
+ - **hbmk\_AddInput\_C\( hbmk, cFileName \) \-> NIL**
+Add a C input file to the project\.
+ - **hbmk\_AddInput\_CPP\( hbmk, cFileName \) \-> NIL**
+Add a C\+\+ input file to the project\.
+ - **hbmk\_AddInput\_RC\( hbmk, cFileName \) \-> NIL**
+Add a Windows resource input file to the project\.
+ - **hbmk\_AddInput\_OBJ\( hbmk, cFileName \) \-> NIL**
+Add a binary object file to the project\.
+ - **hbmk\_AddInput\_INSTFILE\( hbmk, cFileName, \[<cGroup>\] \) \-> NIL**
+Add a file to be installed, with an optional \-instpath= group name\.
+ - **hbmk\_OutStd\( hbmk, cText \) \-> NIL**
+Output text to stdout\.
+ - **hbmk\_OutErr\( hbmk, cText \) \-> NIL**
+Output text to stderr\.
+ - **hbmk\_OutStdRaw\( hbmk, \.\.\. \) \-> NIL**
+Output text to stdout without any formatting\.
+ - **hbmk\_OutErrRaw\( hbmk, \.\.\. \) \-> NIL**
+Output text to stderr without any formatting\.
+ - **hbmk\_Macro\( hbmk, <cMacro> \) \-> <cResult>**
+Evaluate hbmk2 macro expression\.
+ - **hbmk\_FNameEscape\( hbmk, cFileName \) \-> <cFileName>**
+Escape/quote filename for using it as external command parameter\.
+ - **hbmk\_PathSepToTarget\( hbmk, cFileName \) \-> <cFileName>**
+Convert filename to the format required for the target toolchain\.
+ - **hbmk\_PathSepToForward\( <cPath> \) \-> <cPath>**
+Convert filename to have forward slash directory separators\.
+ - **hbmk\_PathFromWorkdirToCWD\( hbmk \) \-> <cRelativePath>**
+Return relative path of \-workdir= value from current working directory\.
+ - **hbmk\_FindInPath\( <cFileName>, \[<xPath>\], \[<aExtDef>\] \) \-> <cFNFound> | NIL**
+Find file in <xPath> \(array or pathsep delimited string are accepted\) with list of <aExtDef> alternate extensions \(defaults to executable binaries\)\. Returns filename if found and NIL if not\.
+ - **hbmk\_FNameDirExtSet\( <cFileName>, \[<cDirNew>\], \[<cExtNew>\] \) \-> <cFileName>**
+Change directory and/or extension in filename\.
+ - **hbmk\_FuncNameEncode\( <cFuncName> \) \-> <cFuncNameEncoded>**
+Encode function name according to Harbour compiler rules for forming HB\_FUNC\(\) function names in C code\.
+ - **hbmk\_StrStripQuote\( cString \) \-> <cString>**
+Strip double quote enclosure from a string\.
+ - **hbmk\_ArrayToList\( <aList>, \[<cSeparator>\] \) \-> <cList>**
+Convert array of strings to a string\. Default separator is a single space\.
+
+
+Plugin variables:
+\('hbmk' context hash items, case\-sensitive, read\-only unless marked otherwise\)
+
+
+ - **"apiver"** API version as an integer
+ - **"cSTATE"** callback state\. Can be: 'init', 'pre\_all', 'pre\_prg', 'pre\_res', 'pre\_c', 'pre\_link', 'pre\_lib', 'pre\_cleanup', 'post\_build', 'post\_all'
+ - **"params"** array of parameters passed to plugins via \-pflag=/pi= options or having an extension registered via hbmk\_Register\_Input\_File\_Extension\(\)
+ - **"vars"** hash of plugin custom variables\. Writable, local to each plugin
+ - **"cPLAT"** \-plat value
+ - **"cCOMP"** \-comp value
+ - **"nCOMPVer"** see HB\_COMPILER\_VER envvar
+ - **"cCPU"** \-cpu value
+ - **"cBUILD"** \-build= value
+ - **"cOUTPUTNAME"** \-o value
+ - **"cTARGETNAME"** see $\{hb\_targetname\} macro
+ - **"cTARGETTYPE"** see $\{hb\_targettype\} macro
+ - **"lREBUILD"** \-rebuild option status
+ - **"lCLEAN"** \-clean option status
+ - **"lDEBUG"** \-debug option status
+ - **"lMAP"** \-map option status
+ - **"lSTRIP"** \-strip option status
+ - **"lDONTEXEC"** \-traceonly option status
+ - **"lIGNOREERROR"** \-ignore option status
+ - **"lTRACE"** \-trace option status
+ - **"lQUIET"** \-q option status
+ - **"lINFO"** \-info option status
+ - **"lBEEP"** \-beep option status
+ - **"lRUN"** \-run option status
+ - **"lINC"** \-inc option status
+ - **"cCCPATH"** see HB\_CCPATH envvar
+ - **"cCCPREFIX"** see HB\_CCPREFIX envvar
+ - **"cCCSUFFIX"** see HB\_CCSUFFIX envvar
+ - **"cCCEXT"** see HB\_CCEXT envvar
+ - **"cWorkDir"** \-workdir= value
+ - **"nExitCode"** Current exit code
+
+Shell API available in Harbour scripts:
+
+
+ - **hbshell\_gtSelect\( \[<cGT>\] \) \-> NIL**
+Switch GT\. Default \[\*\]: 'gtwin'
+ - **hbshell\_Clipper\(\) \-> NIL**
+Enable Clipper compatibility \(non\-Unicode\) mode\.
+ - **hbshell\_include\( <cHeader> \) \-> <lSuccess>**
+Load Harbour header\.
+ - **hbshell\_uninclude\( <cHeader> \) \-> <lSuccess>**
+Unload Harbour header\.
+ - **hbshell\_include\_list\(\) \-> NIL**
+Display list of loaded Harbour header\.
+ - **hbshell\_ext\_load\( <cPackageName> \) \-> <lSuccess>**
+Load package\. Similar to \#request PP directive\.
+ - **hbshell\_ext\_unload\( <cPackageName> \) \-> <lSuccess>**
+Unload package\.
+ - **hbshell\_ext\_get\_list\(\) \-> <aPackages>**
+List of loaded packages\.
+ - **hbshell\_DirBase\(\) \-> <cBaseDir>**
+DirBase\(\) not mapped to script\.
+ - **hbshell\_ProgName\(\) \-> <cPath>**
+ProgName\(\) not mapped to script\.
+
+
+Examples to start with hbmk2:
+
+
+ - **To run the interactive shell \('dot' prompt\)**
+$ hbmk2 \.
+ - **To run a Harbour script**
+$ hbmk2 myscript\.hb \[<parameter\[s\]>\]
+
+
+Examples to build and run Harbour portable binary \(aka precompiled Harbour script\):
+
+
+ - **To build**
+$ hbmk2 \-gh myscript\.hb
+ - **To run result of above**
+$ hbmk2 myscript\.hrb \[<parameter\[s\]>\]
+
+
+Examples to build a Harbour application:
+
+
+ - **To build one simple \.prg**
+$ hbmk2 hello\.prg
+ - **To build multiple \.prg sources into one application in incremental mode**
+$ hbmk2 mymain\.prg myfuncs\.prg \-inc
+ - **To build an application using a project file**
+$ hbmk2 myapp\.hbp
+ - **To build an application using incremental mode**
+$ hbmk2 myapp\.hbp \-inc
+ - **To build an application which uses a contrib package or 3rd party \(add\-on\) package that ships with an \.hbc file**
+$ hbmk2 myapp\.prg hbct\.hbc
+ - **To build an application which uses a raw library**
+$ hbmk2 myapp\.prg \-lmylib \-L<path\_to\_mylib>
+ - **To build an application which uses a Windows resource**
+$ hbmk2 mymain\.prg myres\.rc
+ - **To build an application which links against Harbour dynamic libraries**
+$ hbmk2 \-shared myapp\.prg
+ - **To build an application out of all \.prg and \.c sources residing in 'source' subdir**
+$ hbmk2 \-omyapp src/\*\.prg src/\*\.c
+
+
+Examples to build a Harbour static library:
+
+
+ - **To build library 'mylib' from sources**
+$ hbmk2 \-hblib mylibsrc\.prg \-omylib
+ - **To build library 'mylib' from sources using incremental mode**
+$ hbmk2 \-hblib mylibsrc\.prg \-omylib \-inc
+
+Exit codes \("errorlevels"\):
+
+
+ - **0** no error
+ - **1** unknown platform
+ - **2** unknown compiler
+ - **3** failed Harbour detection
+ - **5** failed stub creation
+ - **6** failed in compilation \(Harbour, C compiler, Resource compiler\)
+ - **7** failed in final assembly \(linker or library manager\)
+ - **8** unsupported
+ - **9** failed to create working directory
+ - **19** help
+ - **10** dependency missing or disabled
+ - **20** plugin initialization
+ - **30** too deep nesting
+ - **50** stop requested
+ - **<other>** when \-run option is used, the exit code will be the one returned by the target executable
+
+Notas:
+
+
+ - <script> puede ser:
+ <@script> o <script\.hbm>: comandos de opciones de línea en el archivo
+ <script\.hbp>: comandos de opciones de línea en el archivo, también marca un nuevo destino si se especifica en la línea de comandos
+ <script\.hbc>: archivo de configuración de paquetes
+ - Source filename without extension will load the \.hbp file, if such \.hbp file exists in current directory\. If not, \.prg extension will be used\.
+ - Múltiples parámetros son aceptados \-l, \-L, \-i y <script>\.
+ - las opciones regulares de compilador Harbour también son aceptadas\.
+\(Verlos con la opción \-harbourhelp\)
+ - archivo de opciones hbmk\.hbc en directorio de hbmk2 siempre es procesado si existe\. En plataformas \*nix este archivo es chequeado \(en este orden\) ~/\.harbour, /etc/harbour, <base>/etc/harbour, <base>/etc antes de pasar a directorio de hbmk2\.
+ - hbmk\.hbm hace script en el directorio actual siempre se procesa, si existe\.
+ - Using forwards slashes is recommended in option values as directory separator, but backslashes are also equally accepted\.
+ - filtros para plataformas son aceptados en cada linea de archivo \.hbc y con varias opciones\.
+Formato de filtro: \{\[\!\]\[<plataforma>|<compilador>|<cpu>|<palabra\-clave>\]\}\. Filtros pueden ser combinados usando los operadores '&', '|' y agrupados en parénteses\. Ej\.: \{win\}, \{gcc\}, \{linux|darwin\}, \{win&\!pocc\}, \{\(win|linux\)&\!watcom\}, \{unix&mt&gui\}, \-cflag=\{win\}\-DMYDEF, \-stop\{dos\}, \-stop\{\!allwin\}
+ - Most \.hbc lines \(libs=, hbcs=, prgflags=, cflags=, ldflags=, libpaths=, instfiles=, instpaths=, echo=\) and corresponding command\-line parameters will accept macro variables\. libpaths= also accepts %\{hb\_name\} which translates to the name of the \.hbc file under search\.
+ - Tambien acepta Opciones de macros sustitución de comandos\. Incluya comando dentro de \`\`, y, si el comando contiene espacios, también entre comillas dobles\. F\.e\. "\-cflag==\`wx\-config \-cflags\`", o ldflags=\{unix&gcc\}"\`wx\-config \-\-libs\`"\.
+ - When multiple target type selection options \(\-hblib, \-hbdyn, etc\.\) are specified, the first one will be significant, the rest will be silently ignored\.
+ - Libraries and object files built with/for CA\-Cl\*pper will not work with any supported platform/compiler\.
+ - Defaults and feature support may vary by platform/compiler\.
+ - GNU Make or any C compiler specific make tool and MSYS \(on Windows\) are not needed to run hbmk2\.
+ - \. \(dot\) passed as first parameter will enter the interactive Harbour shell\.
+
+
+ - \.hb, \.hrb or \.dbf file passed as first parameter will be run as Harbour script\. If the filename contains no path components, it will be searched in current working directory and in PATH\. If not extension is given, \.hb and \.hrb extensions are searched, in that order\. \.dbf file will be opened automatically in shared mode and interactive Harbour shell launched\. Non\-standard extensions will be autodetected for source and precompiled script types\. Note, for Harbour scripts, the codepage is set to UTF\-8 by default\. The default core header 'hb\.ch' is automatically \#included\. The default date format is the ISO standard: yyyy\-mm\-dd\. The default GT is 'gtcgi', unless full\-screen CUI calls are detected, when 'gtwin' \[\*\] is automatically selected \(except for INIT PROCEDUREs\)\.
+ - You can use key <Alt\+V> in interactive Harbour shell to paste text from the clipboard\.
+ - Values marked with \[\*\] may be host platform and/or configuration dependent\. This help was generated on 'win' host platform\.
+
+
+Valores suportados para <compiler> conforme a <platform> disponible:
+
+
+ - **linux** gcc, clang, icc, watcom, sunpro, open64
+ - **darwin** gcc, clang, icc
+ - **win** mingw, msvc, clang, bcc, bcc64, watcom, icc, pocc, xcc, mingw64, msvc64, msvcia64, iccia64, pocc64
+ - **wce** mingwarm, mingw, msvcarm, poccarm
+ - **os2** gcc, gccomf, watcom
+ - **dos** djgpp, watcom
+ - **bsd** gcc, clang, pcc
+ - **hpux** gcc
+ - **beos** gcc
+ - **qnx** gcc
+ - **android** gcc, gccarm
+ - **vxworks** gcc, diab
+ - **symbian** gcc
+ - **cygwin** gcc
+ - **minix** clang, gcc
+ - **aix** gcc
+ - **sunos** gcc, sunpro
+
+License:
+
+
+ This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+\(at your option\) any later version\.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\. See the
+GNU General Public License for more details\.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc\., 675 Mass Ave, Cambridge, MA 02139, USA \(or visit
+their web site at http://www\.gnu\.org/\)\.
+
+License extensions:
+ \- This source code must be kept and distributed as part
+ of the Harbour package and/or the placement of the tool sources
+ and files must reflect that it is part of Harbour Project\.
+ \- Copyright information must always be presented by
+ projects including this tool or help text\.
+ \- Modified versions of the tool must clearly state this
+ fact on the copyright screen\.
+ \- Source code modifications shall always be made available
+ along with binaries\.
+ \- Help text and documentation is licensed under
+ Creative Commons Attribution\-ShareAlike 3\.0:
+ http://creativecommons\.org/licenses/by\-sa/3\.0/
+
+
+Author:
+
+
+ - Viktor Szakáts \(harbour syenar\.net\)
diff --git a/utils/hbmk2/doc/hbmk2.fr.md b/utils/hbmk2/doc/hbmk2.fr.md
new file mode 100644
index 0000000000..ec40ed82ec
--- /dev/null
+++ b/utils/hbmk2/doc/hbmk2.fr.md
@@ -0,0 +1,718 @@
+Harbour Make \(hbmk2\) 3\.2\.0dev \(r2013\-03\-28 03:24\)
+Copyright \(c\) 1999\-2013, Viktor Szakáts
+
+
+Syntax:
+
+ hbmk2 \[options\] \[<script\[s\]>\] <src\[s\]\[\.prg|\.c|\.obj|\.o|\.rc|\.res|\.def|\.po|\.pot|\.hbl|@\.clp|\.d|\.ch\]>
+
+Description:
+
+
+ hbmk2 is an integrated and portable build tool, making it possible to create various types of executable binaries \(executable, dynamic library, static library, Harbour portable binary\) out of multiple types of source files \(C, C\+\+, Objective\-C, Harbour, gettext translations, Windows resources\)\. 'Integrated' means that a single hbmk2 project file can control all or most aspects of the build process\. 'Portable' means that a single hbmk2 project file can control the build on all supported OS platforms and across all supported C compilers\. It also aims to cover the majority of build tasks via short and simple project files \(options\)\. hbmk2 supports pure \-non\-Harbour\- C/C\+\+/Objective\-C projects as well\. In order to achieve above goals, hbmk2 will autodetect Harbour, C compiler and other required tools, then configure and call them appropriately\. hbmk2 allows to extend the types of supported source files via plugins\.
+Besides building executables, hbmk2 is able to run Harbour scripts \(both source and precompiled\) directly, and it also features an interactive shell prompt\.
+
+Options:
+
+
+ - **\-o<outname>** output file name
+ - **\-l<libname>** link with <libname> library\. <libname> should be without path, extension and 'lib' prefix \(unless part of the name\)\. Do not add core Harbour libraries, they are automatically added as needed\. If <libname> starts with a '\-' character, the library will be removed from the list of libraries at link time\.
+ - **\-L<libpath>** additional path to search for libraries
+ - **\-i<p>|\-incpath=<p>** additional path to search for headers
+ - **\-static|\-shared** link with static/shared libs
+ - **\-gt<name>** link with GT<name> GT driver, can be repeated to link with more GTs\. First one will be the default at run\-time
+ - **\-inc\[\-\]** enable/disable incremental build mode \(default: disabled\)
+ - **\-hbexe** create executable \(default\)
+ - **\-hblib** create static library
+ - **\-hbdyn** create dynamic library \(without linked Harbour VM\)
+ - **\-hbdynvm** create dynamic library \(with linked Harbour VM\)
+
+
+ - **\-mt|\-st** link with multi/single\-thread Harbour VM
+ - **\-gui|\-std** create GUI/console executable
+ - **\-main=<mainfunc>** override the name of starting function/procedure
+ - **\-request=<func>** force function/procedure to be linked
+ - **\-fullstatic** link with all static libs
+ - **\-pic\[\-\]** create position independent object code \(always enabled in \-hbdyn/\-hbdynvm modes\)
+ - **\-\[full|fix\]shared** create shared Harbour binaries without/with absolute dir reference to Harbour library \(default: 'fullshared' when Harbour is installed on system location, 'fixshared' otherwise\) \(fix/full option in \*nix only\)
+ - **\-nulrdd\[\-\]** link with nulrdd
+ - **\-debug\[\-\]** add/exclude C compiler debug info\. For Harbour level debug, use Harbour option \-b as usual
+ - **\-optim\[\-\]** toggle C compiler optimizations \(default: on\)
+ - **\-cpp\[\-\]** force C\+\+/C mode
+ - **\-cpp=<value>** select C\+\+ mode\. Allowed values are: def, yes, no
+ - **\-map\[\-\]** create \(or not\) a map file
+ - **\-implib\[\-\]** Créer \(ou non\) une bibliothèque d'importation \(en mode \-hbdyn/\-hbexe\)\. Le nom aura un suffixe ajouté\.
+ - **\-implib=<output>** créer une bibliothèque d'importation \(en mode \-hbdyn/\-hbexe\) Nom de <output> \(par défaut: identique à la destination\)
+ - **\-ln=<link>** create symbolic link pointing to <output> \(<link> is considered relative to <output>\)
+ - **\-strip\[\-\]** strip \(no strip\) binaries
+ - **\-trace\[\-\]** show commands executed
+ - **\-beep\[\-\]** enable \(or disable\) single beep on successful exit, double beep on failure
+ - **\-ignore\[\-\]** ignore errors when running compiler tools \(default: off\)
+ - **\-hbcppmm\[\-\]** override standard C\+\+ memory management functions with Harbour ones
+ - **\-winuni\[\-\]** select between UNICODE \(WIDE\) and ANSI compilation modes \(default: ANSI\) \(Windows only\. For WinCE it is always set to UNICODE\)
+ - **\-nohblib\[\-\]** do not use static core Harbour libraries when linking
+ - **\-nodefgt\[\-\]** do not link default GTs \(effective in \-static mode\)
+ - **\-nolibgrouping\[\-\]** disable library grouping on gcc based compilers
+ - **\-nomiscsyslib\[\-\]** do not add extra list of system libraries to default library list
+ - **\-traceonly** show commands to be executed, but do not execute them
+ - **\-warn=<lev>** set C compiler warning level
+<lev> can be: max, yes, low, no, def \(default: yes\)
+ - **\-safe\[\-\]** enable safety options in C compiler/linker \(default: enabled on Windows, disabled on other systems\)
+ - **\-compr=<lev>** compress executable/dynamic lib \(needs UPX tool\)
+<lev> can be: yes, no, min, max
+ - **\-run\[\-\]** run/do not run output executable
+ - **\-vcshead=<file>** générer un fichier d'entête \.ch avec l'information du dépot local\. Git, SVN, Mercurial, Bazaar, Fossil, CVS et Monotone sont actuellement pris en charge\. L'entête générée définira la constante du préprocesseur \_HBMK\_VCS\_TYPE\_ avec le nom de VCS détecté et \_HBMK\_VCS\_ID\_ avec l'ID unique du dépot local\. Si aucun système VCS n'est détecté, un numéro séquentiel sera automatiquement affecté à chaque révision\.
+ - **\-tshead=<file>** generate \.ch header file with timestamp information\. Generated header will define preprocessor constants \_HBMK\_BUILD\_DATE\_, \_HBMK\_BUILD\_TIME\_, \_HBMK\_BUILD\_TIMESTAMP\_ with the date/time of build
+ - **\-icon=<file>** set <file> as application icon\. <file> should be a supported format on the target platform \(not supported by some platforms/compilers\)\. On Windows, it is implemented by generating and linking a resource file\.
+ - **\-manifest=<file>** embed manifest <file> in executable/dynamic lib \(Windows only\)
+ - **\-sign=<key>** sign executable with <key> \(Windows and Darwin only\)\. On Windows signtool\.exe is used \(part of MS Windows SDK\) or posign\.exe \(part of Pelles C 7\), in that order, both autodetected\.
+ - **\-signpw=<pw>** use <pw> as password when signing executable \(Windows and Darwin only\)
+ - **\-instfile=<g:file>** add <file> in to the list of files to be copied to path specified by \-instpath option\. <g> is an optional copy group \(case sensitive\), it must be at least two characters long\. In case you do not specify <file>, the list of files in that group will be emptied\.
+ - **\-instpath=<g:path>** copy target to <path>\. if <path> is a directory, it should end with path separator, in this case files specified by \-instfile option will also be copied\. can be specified multiple times\. <g> is an optional copy group, it must be at least two characters long\. Build target will be automatically copied to default \(empty\) copy group\. There exist following built\-in <g> groups: 'depimplib' for import libraries and 'depimplibsrc' for import library source \(\.dll\) files, both belonging to dependencies\.
+ - **\-instforce\[\-\]** copy target to install path even if it is up to date
+ - **\-depimplib\[\-\]** enable \(or disable\) import library generation for import library sources specified in \-depimplibs= options \(default: yes\)
+ - **\-stop\[=<text>\]** stop without doing anything and display <text> if specified
+ - **\-echo=<text>** echo text on screen
+ - **\-pause** force waiting for a key on exit in case of failure \(with alternate GTs only\)
+ - **\-exitstr** show error result as human readable text on exit
+ - **\-info** turn on informational messages
+ - **\-quiet\[\-\]** suppress all screen messages
+
+
+ - **\-bldf\[\-\]** inherit all/no \(default\) flags from Harbour build
+ - **\-bldf=\[p\]\[c\]\[l\]** inherit \.prg/\.c/linker flags \(or none\) from Harbour build
+ - **\-F<framework>** link with <framework> framework \(Darwin only\)
+ - **\-prgflag=<f>** pass single flag to Harbour compiler
+ - **\-cflag=<f>** pass single flag to C compiler
+ - **\-resflag=<f>** pass single flag to resource compiler \(Windows only\)
+ - **\-ldflag=<f>** pass single flag to linker \(executable\)
+ - **\-dflag=<f>** pass single flag to linker \(dynamic library\)
+ - **\-aflag=<f>** pass single flag to linker \(static library\)
+ - **\-iflag=<f>** pass single flag to import library creation command
+ - **\-signflag=<f>** pass single flag to code sign command
+ - **\-runflag=<f>** pass single flag to output executable when \-run option is used
+ - **\-cflag\+=<f>** pass single flag to C compiler overriding C compiler flags added by hbmk2 itself\. Use with caution\.
+ - **\-ldflag\+=<f>** pass single raw option to linker \(executable\) after the library list\. Use with caution\.
+ - **\-dflag\+=<f>** Passer une seule option bas\-niveau à l'éditeur de liens \(bibliothèque dynamique\) après la liste de la bibliothèque\. A utiliser avec prudence\.
+ - **\-3rd=<f>** options/flags reserved for 3rd party tools, always ignored by hbmk2 itself
+ - **\-env:<e>\[<o>\[<v>\]\]** alter local environment\. <e> is the name of the environment variable to alter\. <o> can be '=' to set/override, '\-' to delete, '\+' to append to the end of existing value, '\#' to insert to the beginning of existing value\. <v> is the value to set/append/insert\.
+ - **\-jobs=<n>** start n compilation threads \(multiprocess platforms only\)
+ - **\-head=<m>** control source header parsing \(in incremental build mode\)
+<m> can be: native \(uses compiler to extract dependencies\), full \(default, uses simple text parser on the whole file\), dep, off
+ - **\-rebuild** rebuild \(in incremental build mode\)
+ - **\-rebuildall** rebuild with sub\-projects \(in incremental build mode\)
+ - **\-clean** clean \(in incremental build mode\)
+ - **\-workdir=<dir>** working directory
+\(default: \.hbmk/<platform>/<compiler> \[\*\] in incremental mode, OS temp directory otherwise\)
+
+
+ - **\-hbcontainer** virtual target, it does not create anything\. Useful for creating an \.hbp with the sole purpose of referencing sub\-projects
+ - **\-hbimplib** create import library \(Windows only\)
+
+
+ - **\-hbl\[=<output>\]** output \.hbl filename\. %\{hb\_lng\} macro is accepted in filename
+ - **\-lng=<languages>** list of languages to be replaced in %\{hb\_lng\} macros in \.pot/\.po filenames and output \.hbl/\.po filenames\. Comma separated list:
+\-lng=en,hu\-HU,de
+ - **\-po=<output>** create/update \.po file from source\. Merge it with previous \.po file of the same name
+ - **\-minipo\[\-\]** do \(not\) add Harbour version number and source file reference to \.po \(default: add them\)
+ - **\-rebuildpo** recreate \.po file, thus removing all obsolete entries in it
+
+
+ - **\-hbx=\[<\.ch>\]** Create Harbour header \(in \.hbx format\) with all external symbols\. Empty parameter will disable it\.
+ - **\-autohbc=<\.ch:\.hbc>** <\.ch> is a header file name\. <\.hbc> is a \.hbc filename to be automatically included in case the header is found in any of the compiled sources\. \(EXPERIMENTAL\)
+
+
+ - **\-deppkgname=<d:n>** <d> is the name of the dependency\. <n> name of the package dependency\. Can be specified multiple times\.
+ - **\-depkeyhead=<d:h>** <d> is the name of the dependency\. <h> is the key header \(\.h\) of the package dependency\. Multiple alternative headers can be specified\.
+ - **\-depoptional=<d:f>** <d> is the name of the dependency\. <f> can be 'yes' or 'no', specifies whether the dependency is optional\. Default: no
+ - **\-depcontrol=<d:v>** <d> is the name of the dependency\. <v> is a value that controls how detection is done\. Accepted values: no, yes, force, nolocal, local\. Default: content of environment variable HBMK\_WITH\_<d>
+ - **\-depincroot=<d:r>** <d> is the name of the dependency\. Set <r> as root directory for paths specified in \-depincpath options\.
+ - **\-depincpath=<d:i>** <d> is the name of the dependency\. Add <i> to the header detection path list\.
+ - **\-depincpathlocal=<d:i>** <d> is the name of the dependency\. Add <i> to the header detection path list, where <i> is pointing to a directory local to the project and containing an embedded \(aka\. 'locally hosted'\) dependency\.
+ - **\-depimplibs=<d:dll>** <d> is the name of the dependency\. Add <dll> to the import library source list\.
+ - **\-depimplibd=<d:lib>** <d> is the name of the dependency\. Set generated import library name to <lib>
+ - **\-depfinish=<d>** <d> is the name of the dependency\. Closes the dependency definition and does the actual dependency detection, setting all predefined filter macro variables and build options accordingly\. Optional, if omitted, detection will take place after processing all options\.
+
+
+ - **\-plugin=<filename>** add plugin\. <filename> can be: \.hb, \.prg, \.hrb
+ - **\-pi=<filename>** pass input file to plugins
+ - **\-pflag=<f>** pass single flag to plugins
+
+Options below are available on command\-line:
+
+
+ - **\-target=<script>** specify a new build target\. <script> can be \.prg \(or no extension\) or \.hbp file\. Note that \.hbp files are automatically considered as separate targets\.
+
+
+ - **\-hbrun** run target
+ - **\-hbraw** stop after running Harbour compiler
+ - **\-hbcmp|\-clipper** stop after creating the object files
+create link/copy hbmk2 to hbcmp/clipper for the same effect
+ - **\-hbcc** accept raw C flags
+create link/copy hbmk2 to hbcc for the same effect
+ - **\-hblnk** accept raw linker flags
+ - **\-autohbm\[\-\]** enable \(or disable\) processing of hbmk\.hbm in current directory \(default: yes\)
+ - **\-hb10** enable Harbour 1\.0\.x compatibility mode
+ - **\-hb20** enable Harbour 2\.0\.x compatibility mode
+ - **\-hb30** enable Harbour 3\.0\.x compatibility mode
+ - **\-xhb** enable xhb mode
+ - **\-hbc** enable pure C mode
+ - \-rtlink
+ - \-blinker
+ - **\-exospace** emulate Clipper compatible linker behavior
+create link/copy hbmk2 to rtlink/blinker/exospace for the same effect
+
+
+ - **\-hbreg\[=global\]** register Harbour Script \(\.hb\) with hbmk2 \(Windows only\)
+ - **\-hbunreg\[=global\]** unregister Harbour Script \(\.hb\) from hbmk2 \(Windows only\)
+
+
+ - **\-find <text>** lists all known Harbour functions that contain <text> in their name, along with their package \(case insensitive, accepts multiple values, can contain wildcard characters\)
+
+
+ - **\-hbmake=<file>** convert hbmake project <file> to \.hbp file
+ - **\-xbp=<file>** convert \.xbp \(xbuild\) project <file> to \.hbp file
+ - **\-xhp=<file>** convert \.xhp \(xMate\) project <file> to \.hbp file
+
+
+ - **\-\-hbdirbin** output Harbour binary directory
+ - **\-\-hbdirdyn** output Harbour dynamic library directory
+ - **\-\-hbdirlib** output Harbour static library directory
+ - **\-\-hbdirinc** output Harbour header directory
+ - **\-\-hbinfo\[=nested\]** output Harbour build information\. Output is in JSON format\. The included paths always contain forward slashes\. Each JSON block is followed by an 0x0A byte\.
+
+
+ - **\-plat=<platform>** override default target platform \(default: automatic\)
+ - **\-cpu=<cpu>** override default target CPU \(default: automatic\) \(EXPERIMENTAL\)
+ - **\-comp=<compiler>** override C compiler autodetection
+Special value:
+ \- bld: use original build settings \(default on \*nix\)
+ - **\-build=<name>** specify a build name
+ - **\-lang=<lang>** override default language\. <lang> is an ISO language code\.
+ - **\-width=<n>** set output width to <n> characters \(0=unlimited\)\.
+ - **\-shl** show sub\-project level in output lines
+ - **\-viewhelp** long help in text viewer
+ - **\-longhelp** long help
+ - **\-longhelpmd** long help in [Markdown](http://daringfireball.net/projects/markdown/) format
+ - **\-harbourhelp** Harbour compiler help \(all Harbour compiler options are accepted as is by hbmk2\)
+ - **\-credits** Harbour compiler credits
+ - **\-build** Harbour compiler build information
+ - **\-version** display version header only
+
+Options below are internal/developer ones \(compatibility not guaranteed\):
+
+
+ - **\-debugtime** measure time spent on the build
+ - **\-debuginc** display internals of incremental build
+ - **\-debugstub** display content of all internally generated source files
+ - **\-debugi18n** display internals on translation file generation
+ - **\-debugdepd** display internals of dependency detection
+ - **\-debugpars** display all input parameters in processing order
+ - **\-debugrte** generate a run\-time error
+
+
+Vous pouvez créer un lien symbolique/copier/renommer hbmk2 pour les noms suivants pour modifier le mode de fonctionnement par défaut:
+
+
+ - **hbrun\*|\*hbrun** mode script runner / interactive shell
+ - **hbrund|hbrun\*d** mode script runner / interactive shell in debug mode
+ - **harbour** mode \-hbraw \(emulate \- raw \- Harbour compiler\)
+ - **clipper** mode \-hbcmp \(emulate Clipper compiler\)
+ - **rtlink** mode \-rtlink \(emulate Clipper linker\)
+ - **exospace** mode \-rtlink \(emulate Clipper linker\)
+ - **blinker** mode \-rtlink \(emulate Clipper linker\)
+ - **\*10** option \-hb10
+ - **\*20** option \-hb20
+ - **\*30** option \-hb30
+ - **x\*** option \-xhb
+ - **hbcmp\*|\*hbcmp** mode \-hbcmp \(emulate Harbour compiler producing a binary object\)
+ - **hbcc\*|\*hbcc** mode \-hbcc \(emulate C compiler\)
+ - **hblnk\*|\*hblnk** mode \-hblnk \(emulate C linker\)
+ - **hbexe\*|\*hbexe** mode \-hbexe
+ - **hblib\*|\*hblib** mode \-hblib
+ - **hbdyn\*|\*hbdyn** mode \-hbdyn
+
+Files:
+
+
+ - **\*\.hbp** project file\. Can contain any number of command\-line options, which are expected to create an output\. Lines beginning with '\#' character are ignored, otherwise newline is optional and options are space separated, just like on the command\-line\. You must enclose option containing space in double quotes\. Each \.hbp file reference will be executed as a sub\-project\.
+ - **\*\.hbm** collection of options\. Can be used to collect common ones into a file and include that into project files\. Uses same format as \.hbp files\.
+ - **\*\.hbc** collection of options that accompany components \(aka 'libs', aka packages\)\. Use different syntax than command\-line and \.hbp/\.hbm files\. Lines beginning with '\#' character are ignored, each directive must be placed in separate lines\.
+ - **\*\.ch** if passed directly as a source file, it will be used as additional standard header
+ - **hbmk\.hbc** standard \.hbc file that gets automatically processed, if present\. Possible location\(s\) \(in order of precedence\) \[\*\]: %APPDATA%\\\.harbour, <Répertoire hbmk2>
+ - **hbmk\.hbm** optional \.hbm file residing in current working directory, which gets automatically processed before other options
+ - **$hb\_pkg\_dynlib\.hbm** special \.hbm file embedded inside hbmk2\. It manages the details of creating a dynamic library \(in the style of Harbour contribs\)\.
+ - **$hb\_pkg\_install\.hbm** special \.hbm file embedded inside hbmk2\. It manages the details of installing targets and related package files to standard locations \(in the style of Harbour contribs\)\.
+
+
+ - **\*\.hb** Harbour script
+ - **\*\.hrb** Harbour portable binary \(aka precompiled Harbour script\)
+ - **hbstart\.hb** startup Harbour script for interactive Harbour shell\. It gets executed automatically on shell startup, if present\. Possible locations \(in order of precedence\) \[\*\]: \.\\, %APPDATA%\\\.harbour, <Répertoire hbmk2>
+ - **shell plugins** \.hb and \.hrb plugins for interactive Harbour shell\. They may reside in \[\*\]: %APPDATA%\\\.harbour\\
+ - **\.hb\_history** stores command history for interactive Harbour shell\. You can disable history by making the first line 'no' \(without quotes and with newline\)\. Resides in \[\*\]: %APPDATA%\\\.harbour\\
+ - **hb\_extension** list of extensions to load in interactive Harbour shell\. One extension per line, part of line beyond a '\#' character is ignored\. Alternate filename on MS\-DOS: hb\_ext\.ini\. Resides in \[\*\]: %APPDATA%\\\.harbour\\
+
+Macro variables:
+
+
+ - **$\{hb\_root\}** directory of hbmk2
+ - **$\{hb\_dir\}** directory of the filename it is used in
+ - **$\{hb\_dirname\}** top directory of the filename it is used in
+ - **$\{hb\_name\}** name of the filename it is used in \(without directory and extension\)
+ - **$\{hb\_self\}** full filename it is used in
+ - **$\{hb\_curdir\}** current working directory
+ - **$\{hb\_tempdir\}** OS directory for temporary files
+ - **$\{hb\_targetname\}** name of the project \(without directory and extension\)\. Returns \.adhoc\. if there is not project file\.
+ - **$\{hb\_targettype\}** type of the project \(hbexe, hblib, hbdyn, hbdynvm, hbimplib, hbppo, hbhrb, hbcontainer\)
+ - **$\{hb\_plat\}** selected platform
+ - **$\{hb\_comp\}** selected C compiler
+ - **$\{hb\_comp\_ver\}** C compiler version
+ - **$\{hb\_build\}** build name
+ - **$\{hb\_cpu\}** selected CPU
+ - **$\{hb\_work\}** default base workdir name
+ - **$\{hb\_workdynsub\}** default workdir subdirectory for dynamic library targets
+ - **$\{hb\_dynprefix\}** dynamic library prefix
+ - **$\{hb\_dynsuffix\}** dynamic library suffix
+ - **$\{hb\_dynext\}** dynamic library extension
+ - **$\{hb\_ver\}** Harbour version in hexadecimal triple byte format\. F\.e\.: 030200
+ - **$\{hb\_verstr\}** Harbour version in human readable format <major>\.<minor>\.<release><status>\. F\.e\.: 3\.2\.0dev
+ - **$\{hb\_major\}** Harbour major version number
+ - **$\{hb\_minor\}** Harbour minor version number
+ - **$\{hb\_release\}** Harbour release version number
+ - **$\{hb\_status\}** Harbour version status
+ - **$\{hb\_revision\}** Harbour revision
+ - **$\{hb\_host\_plat\}** Harbour host platform
+ - **$\{hb\_host\_plat\_unix\}** returns '1' if Harbour host platform is \*nix compatible
+ - **$\{hb\_bin\}** Harbour binary directory
+ - **$\{hb\_lib\}** Harbour static library directory
+ - **$\{hb\_lib3rd\}** Harbour 3rd party static library directory
+ - **$\{hb\_dyn\}** Harbour dynamic library directory
+ - **$\{hb\_inc\}** Harbour header directory
+ - **$\{hb\_addons\}** Harbour add\-ons base directory
+ - **$\{hb\_first\}** name of source file that holds the entry function \(without directory and extension\)
+ - **$\{hb\_outputdir\}** directory of the output
+ - **$\{hb\_outputname\}** name of the output \(without extension\)
+ - **$\{hb\_level\}** sub\-project recursion level
+ - **$\{<depname>\}** returns the header directory of dependency <depname>, or '1' if it is not detected
+ - **$\{<envvar>\}** returns the value of the environment variable <envvar>
+
+Filters \(you can combine and/or negate them\):
+
+
+ - **\{<platform>\}** target platform\. Where <platform> can be any value accepted by \-plat= option\.
+ - **\{<compiler>\}** target C compiler\. Where <compiler> can be any value accepted by \-comp= option\.
+ - **\{<cpu>\}** target CPU\. Where <cpu> can be any of: x86, x86\_64, ia64, arm, mips, sh
+ - **\{<targettype>\}** target type\. Where <targettype> is any of the values returned by macro variable $\{hb\_targettype\}\.
+ - **\{mt\}** target is multi\-threaded \(see \-mt option\)
+ - **\{st\}** target is single\-threaded \(see \-st option\)
+ - **\{gui\}** GUI target \(see \-gui option\)
+ - **\{std\}** console target \(see \-console option\)
+ - **\{debug\}** C level debugging is enabled \(see \-debug option\)
+ - **\{nodebug\}** C level debugging is disabled \(see \-debug\- option\)
+ - **\{shared\}** shared build \(see \-shared and related options\)
+ - **\{static\}** static build \(see \-static and related options\)
+ - **\{lngcpp\}** forced C\+\+ mode \(see \-cpp option\)
+ - **\{lngc\}** forced C mode \(see \-cpp\- option\)
+ - **\{winuni\}** Windows UNICODE \(WIDE\) mode \(see \-winuni option\)
+ - **\{winansi\}** Windows ANSI mode \(see \-winuni\- option\)
+ - **\{unix\}** target platform is \*nix compatible \(bsd, hpux, sunos, beos, qnx, android, vxworks, symbian, linux, darwin, cygwin, minix, aix\)
+ - **\{allwin\}** target platform is Windows compatible \(win, wce\)
+ - **\{allgcc\}** target C compiler belongs to gcc family \(gcc, mingw, mingw64, mingwarm, djgpp, gccomf, clang, open64, pcc\)
+ - **\{allmingw\}** target C compiler is mingw\* \(mingw, mingw64, mingwarm\)
+ - **\{allmsvc\}** target C compiler is msvc\* \(msvc, msvc64, msvcia64, msvcarm\)
+ - **\{allbcc\}** target C compiler is bcc\* \(bcc, bcc64\)
+ - **\{allpocc\}** target C compiler is pocc\* \(pocc, pocc64, poccarm\)
+ - **\{allicc\}** target C compiler is icc\* \(icc, iccia64\)
+ - **\{hb10\}** Harbour 1\.0\.x compatibility mode \(see \-hb10 option\)
+ - **\{hb20\}** Harbour 2\.0\.x compatibility mode \(see \-hb20 option\)
+ - **\{hb30\}** Harbour 3\.0\.x compatibility mode \(see \-hb30 option\)
+ - **\{xhb\}** xhb mode \(see \-xhb option\)
+ - **\{hb\_ispath='<file|dir>'\}** filter will pass if <file> or <dir> name exists on disk\.
+ - **\{MACRO\}** le filtre sera passé si la valeur de $\{MACRO\} n'est ni vide, ni égale à '0 'ou' non '\(insensible à la casse\)
+ - **\{MACRO='<value>'\}** filter will pass if $\{MACRO\} value equals to <value> \(case insensitive\)\.
+ - **\{MACRO>'<value>'\}** filter will pass if $\{MACRO\} value is larger than <value> \(case insensitive\)\.
+ - **\{MACRO<'<value>'\}** filter will pass if $\{MACRO\} value is smaller than <value> \(case insensitive\)\.
+
+
+Predefined constants in sources:
+
+
+ - **\_\_HBSCRIPT\_\_HBMK\_PLUGIN** when an \.hb script is compiled as hbmk2 plugin
+ - **\_\_HBEXTREQ\_\_** when an \.hbx source file is present in a project \(available in Harbour sources\)
+ - **HBMK\_HAS\_<hbcname>** when <hbcname>\.hbc package is linked to the target\. The value is the version= value from the \.hbc file, converted to a decimal number, which is '1', if not specified\. \(available in Harbour sources\)
+ - **HBMK\_HAS\_<depname>** when <depname> dependency was detected \(available in C sources\)
+
+
+ - **\_\_HBSCRIPT\_\_HBSHELL** when a Harbour source file is run as a shell script
+ - **<standard Harbour>** \_\_PLATFORM\_\_\*, \_\_ARCH\*BIT\_\_, \_\_\*\_ENDIAN\_\_, etc\.\.\.
+
+
+Predefined constants in build files \(they are available after '\-depfinish=<depname>' / 'depfinish=<depname>'\):
+
+
+ - **HBMK\_HAS\_<depname>** when <depname> dependency was detected
+ - **HBMK\_DIR\_<depname>** return the header directory where <depname> was detected, or empty if it was not\.
+ - **HBMK\_HAS\_<depname>\_LOCAL** lorsque la dépendance <depname> a été détectée dans un emplacement configuré par \-depincpathlocal=option
+
+Environment variables:
+
+
+ - **HBMK\_OPTIONS** accepts any options as if they were passed in the beginning of the command\-line
+ - **HB\_PLATFORM** accepts same values as \-plat= option
+ - **HB\_COMPILER** accepts same values as \-comp= option
+ - **HB\_CPU** accepts same values as \-cpu= option
+ - **HB\_BUILD\_NAME** accepts same values as \-build= option
+ - **HB\_LANG** accepts same values as \-lang= option
+ - **HB\_USER\_LIBS** accepts same values \(space separated\) as \-l option
+ - **HB\_USER\_LIBPATHS** accepts same values \(space separated\) as \-L option
+ - **HB\_USER\_PRGFLAGS** options to be passed to Harbour compiler \(before command\-line options\)
+ - **HB\_USER\_CFLAGS** options to be passed to C compiler \(before command\-line options\)
+ - **HB\_USER\_RESFLAGS** options to be passed to resource compiler \(before command\-line options\) \(Windows only\)
+ - **HB\_USER\_LDFLAGS** options to be passed to linker \(executable\) \(before command\-line options\)
+ - **HB\_USER\_DFLAGS** options to be passed to linker \(dynamic library\) \(before command\-line options\)
+ - **HB\_USER\_AFLAGS** options to be passed to linker \(static library\) \(before command\-line options\)
+ - **HB\_COMPILER\_VER** override C compiler version autodetection \(gcc and msvc compiler families only\)\. Format: <15><00>\[\.<00>\] = <major><minor>\[\.<revision>\]
+ - **HB\_CCPATH** override C compiler executable directory \(gcc compiler families only\)
+ - **HB\_CCPREFIX** override C compiler executable prefix \(gcc compiler families only\)
+ - **HB\_CCSUFFIX** override C compiler executable suffix \(gcc compiler families only\)
+ - **HB\_INSTALL\_PREFIX** override Harbour base installation directory
+ - **HB\_INSTALL\_ADDONS** override Harbour base add\-ons directory
+
+
+ - **HB\_EXTENSION** space separated list of extensions to load in interactive Harbour shell
+
+\.hbc directives \(they should be written in separate lines\):
+
+
+ - **echo=<msg>** display <msg>
+ - **skip=\[<msg>\]** skip processing the rest of the \.hbc file\. Display <msg>, if specified\.
+ - **stop=\[<msg>\]** stop the build\. Display <msg>, if specified\.
+ - **sources=** add space separated list of files as input files
+ - **headers=** add space separated list of \.ch format headers as standard header
+ - **libs=** add space separated list of libraries \(see more at \-l option\)
+ - **frameworks=** add space separated list of frameworks \(Darwin only\)
+ - **requests=** add space separated list of symbols to force link to the target
+ - **syslibs=** add space separated list of libraries as system libraries \(before regular libraries\)
+ - **hbcs=** embed space separated list of \.hbc files\. Names without the extension is accepted\. These references are processed in place\.
+ - **autohbcs=** space separated list of values as in \-autohbc= option
+ - **libpaths=** space separated list of additional library paths
+ - **incpaths=** add space separated list of additional header paths \(for both Harbour and C\)
+ - **instfiles=** space separated list of values as in \-instfile= option
+ - **instpaths=** space separated list of values as in \-instpath= option
+ - **prgflags=** space separated list of values as in \-prgflag= option
+ - **cflags=** space separated list of values as in \-cflag= option
+ - **resflags=** space separated list of values as in \-resflag= option
+ - **ldflags=** space separated list of values as in \-ldflag= option
+ - **ldflags\+=** space separated list of values as in \-ldflag\+= option
+ - **dflags=** space separated list of values as in \-dflag= option
+ - **dflags\+=** space separated list of values as in \-dflag\+= option
+ - **pflags=** space separated list of values as in \-pflag= option
+ - **psources=** space separated list of values as in \-pi= option
+ - **gui=<bool>** 'yes' = \-gui, 'no' = \-std option
+ - **mt=<bool>** 'yes' = \-mt, 'no' = \-st option
+ - **pic=<bool>** 'yes' = \-pic, 'no' = \-pic\- option
+ - **shared=<bool>** 'yes' = \-shared, 'no' = \-static option
+ - **shareddef=<bool>** similar to shared=, but works only if shared/static mode was not set before
+ - **fullstatic=<bool>** 'yes' = \-fullstatic, 'no' = \-static option
+ - **debug=<bool>** 'yes' = \-debug, 'no' = \-debug\- option
+ - **optim=** 'yes' = \-optim, 'no' = \-optim\- option
+ - **nulrdd=<bool>** 'yes' = \-nulrdd, 'no' = \-nulrdd\- option
+ - **nodefgt=<bool>** 'yes' = \-nodefgt, 'no' = \-nodefgt\- option
+ - **map=<bool>** 'yes' = \-map, 'no' = \-map\- option
+ - **hbcppmm=<bool>** 'yes' = \-hbcpmm, 'no' = \-hbcpmm\- option
+ - **implib=<bool>** 'yes' = \-implib, 'no' = \-implib\- option
+ - **winuni=<bool>** 'yes' = \-winuni, 'no' = \-winuni\- option
+ - **strip=<bool>** 'yes' = \-strip, 'no' = \-strip\- option
+ - **run=<bool>** 'yes' = \-run, 'no' = \-run\- option
+ - **inc=<bool>** 'yes' = \-inc, 'no' = \-inc\- option
+ - **safe=<bool>** 'yes' = \-safe, 'no' = \-safe\- option
+ - **cpp=** identique à l'option \-cpp=
+ - **warn=** identique à l'option \-warn=
+ - **compr=** identique à l'option \-compr=
+ - **head=** identique à l'option \-head=
+ - **plugins=** space separated list of hbmk2 plugins to load
+ - **gt=<name>** identique à l'option \-gt<name>
+ - **gtdef=<name>** set the default GT to be used
+ - **env=** identique à l'option \-env:
+ - **deppkgname=** identique à l'option \-deppkgname=
+ - **depkeyhead=** identique à l'option \-depkeyhead=
+ - **depoptional=** identique à l'option \-depoptional=
+ - **depcontrol=** identique à l'option \-depcontrol=
+ - **depincroot=** identique à l'option \-depincroot=
+ - **depincpath=** identique à l'option \-depincpath=
+ - **depincpathlocal=** identique à l'option \-depincpathlocal=
+ - **depimplibs=** identique à l'option \-depimplibs=
+ - **depimplibd=** identique à l'option \-depimplibd=
+ - **name=** package name
+ - **description=** description du paquet
+ - **version=<x\.y\.z>** package version number, where x,y,z >= 0 <= 255\. Defaults to 0\.0\.1, if not specified\.
+ - **keywords=** space separated list of keywords
+ - **licences=** space separated list of licenses
+ - **repository=** space separated list of source repository references
+
+
+Plugin API:
+\('hbmk' is the context variable received by the plugin entry function\)
+
+
+ - **hbmk\_Register\_Input\_File\_Extension\( hbmk, cExt \) \-> NIL**
+Register input file extension to be passed to plugin \(by default all unknown file extensions are passed to Harbour compiler\)\.
+ - **hbmk\_AddInput\_PRG\( hbmk, cFileName \) \-> NIL**
+Add a Harbour input file to the project\.
+ - **hbmk\_AddInput\_C\( hbmk, cFileName \) \-> NIL**
+Add a C input file to the project\.
+ - **hbmk\_AddInput\_CPP\( hbmk, cFileName \) \-> NIL**
+Add a C\+\+ input file to the project\.
+ - **hbmk\_AddInput\_RC\( hbmk, cFileName \) \-> NIL**
+Add a Windows resource input file to the project\.
+ - **hbmk\_AddInput\_OBJ\( hbmk, cFileName \) \-> NIL**
+Add a binary object file to the project\.
+ - **hbmk\_AddInput\_INSTFILE\( hbmk, cFileName, \[<cGroup>\] \) \-> NIL**
+Add a file to be installed, with an optional \-instpath= group name\.
+ - **hbmk\_OutStd\( hbmk, cText \) \-> NIL**
+Output text to stdout\.
+ - **hbmk\_OutErr\( hbmk, cText \) \-> NIL**
+Output text to stderr\.
+ - **hbmk\_OutStdRaw\( hbmk, \.\.\. \) \-> NIL**
+Output text to stdout without any formatting\.
+ - **hbmk\_OutErrRaw\( hbmk, \.\.\. \) \-> NIL**
+Output text to stderr without any formatting\.
+ - **hbmk\_Macro\( hbmk, <cMacro> \) \-> <cResult>**
+Evaluate hbmk2 macro expression\.
+ - **hbmk\_FNameEscape\( hbmk, cFileName \) \-> <cFileName>**
+Escape/quote filename for using it as external command parameter\.
+ - **hbmk\_PathSepToTarget\( hbmk, cFileName \) \-> <cFileName>**
+Convert filename to the format required for the target toolchain\.
+ - **hbmk\_PathSepToForward\( <cPath> \) \-> <cPath>**
+Convert filename to have forward slash directory separators\.
+ - **hbmk\_PathFromWorkdirToCWD\( hbmk \) \-> <cRelativePath>**
+Return relative path of \-workdir= value from current working directory\.
+ - **hbmk\_FindInPath\( <cFileName>, \[<xPath>\], \[<aExtDef>\] \) \-> <cFNFound> | NIL**
+Find file in <xPath> \(array or pathsep delimited string are accepted\) with list of <aExtDef> alternate extensions \(defaults to executable binaries\)\. Returns filename if found and NIL if not\.
+ - **hbmk\_FNameDirExtSet\( <cFileName>, \[<cDirNew>\], \[<cExtNew>\] \) \-> <cFileName>**
+Change directory and/or extension in filename\.
+ - **hbmk\_FuncNameEncode\( <cFuncName> \) \-> <cFuncNameEncoded>**
+Encode function name according to Harbour compiler rules for forming HB\_FUNC\(\) function names in C code\.
+ - **hbmk\_StrStripQuote\( cString \) \-> <cString>**
+Strip double quote enclosure from a string\.
+ - **hbmk\_ArrayToList\( <aList>, \[<cSeparator>\] \) \-> <cList>**
+Convert array of strings to a string\. Default separator is a single space\.
+
+
+Plugin variables:
+\('hbmk' context hash items, case\-sensitive, read\-only unless marked otherwise\)
+
+
+ - **"apiver"** API version as an integer
+ - **"cSTATE"** callback state\. Can be: 'init', 'pre\_all', 'pre\_prg', 'pre\_res', 'pre\_c', 'pre\_link', 'pre\_lib', 'pre\_cleanup', 'post\_build', 'post\_all'
+ - **"params"** array of parameters passed to plugins via \-pflag=/pi= options or having an extension registered via hbmk\_Register\_Input\_File\_Extension\(\)
+ - **"vars"** hash of plugin custom variables\. Writable, local to each plugin
+ - **"cPLAT"** \-plat value
+ - **"cCOMP"** \-comp value
+ - **"nCOMPVer"** see HB\_COMPILER\_VER envvar
+ - **"cCPU"** \-cpu value
+ - **"cBUILD"** \-build= value
+ - **"cOUTPUTNAME"** \-o value
+ - **"cTARGETNAME"** see $\{hb\_targetname\} macro
+ - **"cTARGETTYPE"** see $\{hb\_targettype\} macro
+ - **"lREBUILD"** \-rebuild option status
+ - **"lCLEAN"** \-clean option status
+ - **"lDEBUG"** \-debug option status
+ - **"lMAP"** \-map option status
+ - **"lSTRIP"** \-strip option status
+ - **"lDONTEXEC"** \-traceonly option status
+ - **"lIGNOREERROR"** \-ignore option status
+ - **"lTRACE"** \-trace option status
+ - **"lQUIET"** \-q option status
+ - **"lINFO"** \-info option status
+ - **"lBEEP"** \-beep option status
+ - **"lRUN"** \-run option status
+ - **"lINC"** \-inc option status
+ - **"cCCPATH"** see HB\_CCPATH envvar
+ - **"cCCPREFIX"** see HB\_CCPREFIX envvar
+ - **"cCCSUFFIX"** see HB\_CCSUFFIX envvar
+ - **"cCCEXT"** see HB\_CCEXT envvar
+ - **"cWorkDir"** \-workdir= value
+ - **"nExitCode"** Code de sortie actuel
+
+Shell API available in Harbour scripts:
+
+
+ - **hbshell\_gtSelect\( \[<cGT>\] \) \-> NIL**
+Switch GT\. Default \[\*\]: 'gtwin'
+ - **hbshell\_Clipper\(\) \-> NIL**
+Enable Clipper compatibility \(non\-Unicode\) mode\.
+ - **hbshell\_include\( <cHeader> \) \-> <lSuccess>**
+Load Harbour header\.
+ - **hbshell\_uninclude\( <cHeader> \) \-> <lSuccess>**
+Unload Harbour header\.
+ - **hbshell\_include\_list\(\) \-> NIL**
+Display list of loaded Harbour header\.
+ - **hbshell\_ext\_load\( <cPackageName> \) \-> <lSuccess>**
+Load package\. Similar to \#request PP directive\.
+ - **hbshell\_ext\_unload\( <cPackageName> \) \-> <lSuccess>**
+Unload package\.
+ - **hbshell\_ext\_get\_list\(\) \-> <aPackages>**
+List of loaded packages\.
+ - **hbshell\_DirBase\(\) \-> <cBaseDir>**
+DirBase\(\) not mapped to script\.
+ - **hbshell\_ProgName\(\) \-> <cPath>**
+ProgName\(\) not mapped to script\.
+
+
+Examples to start with hbmk2:
+
+
+ - **To run the interactive shell \('dot' prompt\)**
+$ hbmk2 \.
+ - **To run a Harbour script**
+$ hbmk2 myscript\.hb \[<parameter\[s\]>\]
+
+
+Examples to build and run Harbour portable binary \(aka precompiled Harbour script\):
+
+
+ - **To build**
+$ hbmk2 \-gh myscript\.hb
+ - **To run result of above**
+$ hbmk2 myscript\.hrb \[<parameter\[s\]>\]
+
+
+Examples to build a Harbour application:
+
+
+ - **To build one simple \.prg**
+$ hbmk2 hello\.prg
+ - **To build multiple \.prg sources into one application in incremental mode**
+$ hbmk2 mymain\.prg myfuncs\.prg \-inc
+ - **To build an application using a project file**
+$ hbmk2 myapp\.hbp
+ - **To build an application using incremental mode**
+$ hbmk2 myapp\.hbp \-inc
+ - **To build an application which uses a contrib package or 3rd party \(add\-on\) package that ships with an \.hbc file**
+$ hbmk2 myapp\.prg hbct\.hbc
+ - **To build an application which uses a raw library**
+$ hbmk2 myapp\.prg \-lmylib \-L<path\_to\_mylib>
+ - **To build an application which uses a Windows resource**
+$ hbmk2 mymain\.prg myres\.rc
+ - **To build an application which links against Harbour dynamic libraries**
+$ hbmk2 \-shared myapp\.prg
+ - **To build an application out of all \.prg and \.c sources residing in 'source' subdir**
+$ hbmk2 \-omyapp src/\*\.prg src/\*\.c
+
+
+Examples to build a Harbour static library:
+
+
+ - **To build library 'mylib' from sources**
+$ hbmk2 \-hblib mylibsrc\.prg \-omylib
+ - **To build library 'mylib' from sources using incremental mode**
+$ hbmk2 \-hblib mylibsrc\.prg \-omylib \-inc
+
+Exit codes \("errorlevels"\):
+
+
+ - **0** no error
+ - **1** unknown platform
+ - **2** unknown compiler
+ - **3** failed Harbour detection
+ - **5** failed stub creation
+ - **6** failed in compilation \(Harbour, C compiler, Resource compiler\)
+ - **7** failed in final assembly \(linker or library manager\)
+ - **8** unsupported
+ - **9** failed to create working directory
+ - **19** help
+ - **10** dependency missing or disabled
+ - **20** plugin initialization
+ - **30** too deep nesting
+ - **50** stop requested
+ - **<other>** quand l'option \-run est utilisée, le code de sortie est le même que celui retourné par l'exécutable cible
+
+Notes:
+
+
+ - <script> can be:
+ <@script> or <script\.hbm>: command\-line options in file
+ <script\.hbp>: command\-line options in file, it also marks a new target if specified on the command\-line
+ <script\.hbc>: package configuration file
+ - Source filename without extension will load the \.hbp file, if such \.hbp file exists in current directory\. If not, \.prg extension will be used\.
+ - Multiple \-l, \-L, \-i and <script> parameters are accepted\.
+ - Regular Harbour compiler options are also accepted as is\.
+\(see them with \-harbourhelp option\)
+ - hbmk\.hbc option file in hbmk2 directory is always processed if it exists\. On \*nix platforms ~/\.harbour, /etc/harbour, <base>/etc/harbour, <base>/etc are checked \(in that order\) before the hbmk2 directory\.
+ - hbmk\.hbm make script in current directory is always processed if it exists\.
+ - Using forwards slashes is recommended in option values as directory separator, but backslashes are also equally accepted\.
+ - Filters are accepted in each \.hbc line and most options\.
+Filters can be combined using '&' \(and\), '|' \(or\) operators, negated by '\!' operator and grouped by parentheses\. Ex\.: \{win\}, \{gcc\}, \{linux|darwin\}, \{win&\!pocc\}, \{\(win|linux\)&\!watcom\}, \{unix&mt&gui\}, \-cflag=\{win\}\-DMYDEF, \-stop\{dos\}, \-stop\{\!allwin\}
+ - Most \.hbc lines \(libs=, hbcs=, prgflags=, cflags=, ldflags=, libpaths=, instfiles=, instpaths=, echo=\) and corresponding command\-line parameters will accept macro variables\. libpaths= also accepts %\{hb\_name\} which translates to the name of the \.hbc file under search\.
+ - Options accepting macro variables also support command substitution\. Enclose command inside \`\`, and, if the command contains space, also enclose in double quotes\. Standard output of the command will be used as the value\. F\.e\. "\-cflag=\`wx\-config \-\-cflags\`", or ldflags=\{unix&gcc\}"\`wx\-config \-\-libs\`"\.
+ - When multiple target type selection options \(\-hblib, \-hbdyn, etc\.\) are specified, the first one will be significant, the rest will be silently ignored\.
+ - Libraries and object files built with/for CA\-Cl\*pper will not work with any supported platform/compiler\.
+ - Defaults and feature support may vary by platform/compiler\.
+ - GNU Make or any C compiler specific make tool and MSYS \(on Windows\) are not needed to run hbmk2\.
+ - \. \(dot\) passed as first parameter will enter the interactive Harbour shell\.
+
+
+ - \.hb, \.hrb or \.dbf file passed as first parameter will be run as Harbour script\. If the filename contains no path components, it will be searched in current working directory and in PATH\. If not extension is given, \.hb and \.hrb extensions are searched, in that order\. \.dbf file will be opened automatically in shared mode and interactive Harbour shell launched\. Non\-standard extensions will be autodetected for source and precompiled script types\. Note, for Harbour scripts, the codepage is set to UTF\-8 by default\. The default core header 'hb\.ch' is automatically \#included\. The default date format is the ISO standard: yyyy\-mm\-dd\. The default GT is 'gtcgi', unless full\-screen CUI calls are detected, when 'gtwin' \[\*\] is automatically selected \(except for INIT PROCEDUREs\)\.
+ - You can use key <Alt\+V> in interactive Harbour shell to paste text from the clipboard\.
+ - Values marked with \[\*\] may be host platform and/or configuration dependent\. This help was generated on 'win' host platform\.
+
+
+Supported <compiler> values for each supported <platform> value:
+
+
+ - **linux** gcc, clang, icc, watcom, sunpro, open64
+ - **darwin** gcc, clang, icc
+ - **win** mingw, msvc, clang, bcc, bcc64, watcom, icc, pocc, xcc, mingw64, msvc64, msvcia64, iccia64, pocc64
+ - **wce** mingwarm, mingw, msvcarm, poccarm
+ - **os2** gcc, gccomf, watcom
+ - **dos** djgpp, watcom
+ - **bsd** gcc, clang, pcc
+ - **hpux** gcc
+ - **beos** gcc
+ - **qnx** gcc
+ - **android** gcc, gccarm
+ - **vxworks** gcc, diab
+ - **symbian** gcc
+ - **cygwin** gcc
+ - **minix** clang, gcc
+ - **aix** gcc
+ - **sunos** gcc, sunpro
+
+License:
+
+
+ This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+\(at your option\) any later version\.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\. See the
+GNU General Public License for more details\.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc\., 675 Mass Ave, Cambridge, MA 02139, USA \(or visit
+their web site at http://www\.gnu\.org/\)\.
+
+License extensions:
+ \- This source code must be kept and distributed as part
+ of the Harbour package and/or the placement of the tool sources
+ and files must reflect that it is part of Harbour Project\.
+ \- Copyright information must always be presented by
+ projects including this tool or help text\.
+ \- Modified versions of the tool must clearly state this
+ fact on the copyright screen\.
+ \- Source code modifications shall always be made available
+ along with binaries\.
+ \- Help text and documentation is licensed under
+ Creative Commons Attribution\-ShareAlike 3\.0:
+ http://creativecommons\.org/licenses/by\-sa/3\.0/
+
+
+Author:
+
+
+ - Viktor Szakáts \(harbour syenar\.net\)
diff --git a/utils/hbmk2/doc/hbmk2.hu.md b/utils/hbmk2/doc/hbmk2.hu.md
new file mode 100644
index 0000000000..37dc29de2d
--- /dev/null
+++ b/utils/hbmk2/doc/hbmk2.hu.md
@@ -0,0 +1,718 @@
+Harbour Make \(hbmk2\) 3\.2\.0dev \(r2013\-03\-28 03:24\)
+Copyright \(c\) 1999\-2013, Viktor Szakáts
+
+Magyar \(hu\) fordítás: Copyright \(c\) 2009\-2013, Szakáts Viktor
+
+Használat:
+
+ hbmk2 \[kapcsolók\] \[<parancsállomány\[s\]>\] <forrás\[\.prg|\.c|\.obj|\.o|\.rc|\.res|\.def|\.po|\.pot|\.hbl|@\.clp|\.d|\.ch\]>
+
+Description:
+
+
+ hbmk2 is an integrated and portable build tool, making it possible to create various types of executable binaries \(executable, dynamic library, static library, Harbour portable binary\) out of multiple types of source files \(C, C\+\+, Objective\-C, Harbour, gettext translations, Windows resources\)\. 'Integrated' means that a single hbmk2 project file can control all or most aspects of the build process\. 'Portable' means that a single hbmk2 project file can control the build on all supported OS platforms and across all supported C compilers\. It also aims to cover the majority of build tasks via short and simple project files \(options\)\. hbmk2 supports pure \-non\-Harbour\- C/C\+\+/Objective\-C projects as well\. In order to achieve above goals, hbmk2 will autodetect Harbour, C compiler and other required tools, then configure and call them appropriately\. hbmk2 allows to extend the types of supported source files via plugins\.
+Besides building executables, hbmk2 is able to run Harbour scripts \(both source and precompiled\) directly, and it also features an interactive shell prompt\.
+
+Kapcsolók:
+
+
+ - **\-o<outname>** kimeneti fájlnév
+ - **\-l<libname>** link with <libname> library\. <libname> should be without path, extension and 'lib' prefix \(unless part of the name\)\. Do not add core Harbour libraries, they are automatically added as needed\. If <libname> starts with a '\-' character, the library will be removed from the list of libraries at link time\.
+ - **\-L<libpath>** további keresési útvonal függvénykönyvtárakhoz
+ - **\-i<p>|\-incpath=<p>** további keresési útvonal a fejlécekhez
+ - **\-static|\-shared** használjon a szerkesztéskor statikus/dinamikus függvénykönyvtárakat
+ - **\-gt<name>** link with GT<name> GT driver, can be repeated to link with more GTs\. First one will be the default at run\-time
+ - **\-inc\[\-\]** kapcsolja be/ki a lépcsőzetes \(incremental\) üzemmódot \(alapértelmezés: kikapcsolva\)
+ - **\-hbexe** create executable \(default\)
+ - **\-hblib** statikus függvénykönyvtár létrehozása
+ - **\-hbdyn** dinamikus függvénykönyvtár létrehozása \(Harbour VM nélkül\)
+ - **\-hbdynvm** dinamikus függvénykönyvtár létrehozása \(Harbour VM\-mel\)
+
+
+ - **\-mt|\-st** többszálú/egyszálú virtuális gép használata
+ - **\-gui|\-std** GUI/konzol alkalmazás létrehozása
+ - **\-main=<mainfunc>** állítson be alternatív kezdő/belépési függvénynevet
+ - **\-request=<func>** force function/procedure to be linked
+ - **\-fullstatic** csak statikus függvénykönyvtárak használata
+ - **\-pic\[\-\]** create position independent object code \(always enabled in \-hbdyn/\-hbdynvm modes\)
+ - **\-\[full|fix\]shared** használjon a szerkesztéskor dinamikus függvénykönyvtárakat közvetlen hivatkozás nélkül/hivtakozással a dinamikus Harbour függvénykönyvtár felé\. \(alapértelmezés: 'fullshared', ha a Harbour telepítve van\) \(fix/full opció csak \*nix rendszereken\)
+ - **\-nulrdd\[\-\]** nulrdd használata
+ - **\-debug\[\-\]** C fordító debug információ hozzáadása \(vagy sem\)\. Harbour szintű debughoz használja a \-b kapcsolót
+ - **\-optim\[\-\]** C fordító optimalizálási szintjét állítja \(alapértelmezés: be\)
+ - **\-cpp\[\-\]** force C\+\+/C mode
+ - **\-cpp=<value>** select C\+\+ mode\. Allowed values are: def, yes, no
+ - **\-map\[\-\]** készítsen \(vagy ne\) térkép \(map\) fájlt
+ - **\-implib\[\-\]** create \(or not\) an import library \(in \-hbdyn/\-hbexe mode\)\. The name will have a postfix added\.
+ - **\-implib=<output>** create import library \(in \-hbdyn/\-hbexe mode\) name to <output> \(default: same as output\)
+ - **\-ln=<link>** create symbolic link pointing to <output> \(<link> is considered relative to <output>\)
+ - **\-strip\[\-\]** távolítsa el \(vagy ne\) a kimenetről az extra belső információkat \(strip\)
+ - **\-trace\[\-\]** mutassa a végrehajtott parancsokat
+ - **\-beep\[\-\]** egyszeri sípolás sikeres végrehajtás esetén, dupla sípolás hiba esetén
+ - **\-ignore\[\-\]** külső parancsok hibáinak figyelmen hagyása \(alapértelmezés: ki\)
+ - **\-hbcppmm\[\-\]** override standard C\+\+ memory management functions with Harbour ones
+ - **\-winuni\[\-\]** select between UNICODE \(WIDE\) and ANSI compilation modes \(default: ANSI\) \(Windows only\. For WinCE it is always set to UNICODE\)
+ - **\-nohblib\[\-\]** do not use static core Harbour libraries when linking
+ - **\-nodefgt\[\-\]** do not link default GTs \(effective in \-static mode\)
+ - **\-nolibgrouping\[\-\]** disable library grouping on gcc based compilers
+ - **\-nomiscsyslib\[\-\]** do not add extra list of system libraries to default library list
+ - **\-traceonly** mutassa a végrehajtandó parancsokat, anélkül hogy végrehajtaná őket
+ - **\-warn=<lev>** set C compiler warning level
+<lev> can be: max, yes, low, no, def \(default: yes\)
+ - **\-safe\[\-\]** enable safety options in C compiler/linker \(default: enabled on Windows, disabled on other systems\)
+ - **\-compr=<lev>** tömörítse a végeredményt \(UPX szükséges\)
+<lev> lehet: yes, no, min, max
+ - **\-run\[\-\]** futtassa/ne az elkészült alkalmazást
+ - **\-vcshead=<file>** generate \.ch header file with local repository information\. Git, SVN, Mercurial, Bazaar, Fossil, CVS and Monotone are currently supported\. Generated header will define preprocessor constant \_HBMK\_VCS\_TYPE\_ with the name of detected VCS and \_HBMK\_VCS\_ID\_ with the unique ID of local repository\. If no VCS system is detected, a sequential number will be rolled automatically on each build\.
+ - **\-tshead=<file>** hozzon létre egy \.ch fejlécet időpont adatokkal\. Generált fejléc \_HBMK\_BUILD\_DATE\_, \_HBMK\_BUILD\_TIME\_, \_HBMK\_BUILD\_TIMESTAMP\_ makrói az aktuális dátumokkal kerülnek feltöltésre
+ - **\-icon=<file>** set <file> as application icon\. <file> should be a supported format on the target platform \(not supported by some platforms/compilers\)\. On Windows, it is implemented by generating and linking a resource file\.
+ - **\-manifest=<file>** embed manifest <file> in executable/dynamic lib \(Windows only\)
+ - **\-sign=<key>** sign executable with <key> \(Windows and Darwin only\)\. On Windows signtool\.exe is used \(part of MS Windows SDK\) or posign\.exe \(part of Pelles C 7\), in that order, both autodetected\.
+ - **\-signpw=<pw>** use <pw> as password when signing executable \(Windows and Darwin only\)
+ - **\-instfile=<g:file>** add <file> in to the list of files to be copied to path specified by \-instpath option\. <g> is an optional copy group \(case sensitive\), it must be at least two characters long\. In case you do not specify <file>, the list of files in that group will be emptied\.
+ - **\-instpath=<g:path>** copy target to <path>\. if <path> is a directory, it should end with path separator, in this case files specified by \-instfile option will also be copied\. can be specified multiple times\. <g> is an optional copy group, it must be at least two characters long\. Build target will be automatically copied to default \(empty\) copy group\. There exist following built\-in <g> groups: 'depimplib' for import libraries and 'depimplibsrc' for import library source \(\.dll\) files, both belonging to dependencies\.
+ - **\-instforce\[\-\]** copy target to install path even if it is up to date
+ - **\-depimplib\[\-\]** enable \(or disable\) import library generation for import library sources specified in \-depimplibs= options \(default: yes\)
+ - **\-stop\[=<text>\]** álljon meg anélkül hogy bármit csinálna
+ - **\-echo=<text>** echo text on screen
+ - **\-pause** várjon billentyűre sikertelen befejezés esetén\. \(csak alternatív GT használata esetén\)
+ - **\-exitstr** show error result as human readable text on exit
+ - **\-info** tájékoztató üzenetek bekapcsolása
+ - **\-quiet\[\-\]** semmit ne írjon a képernyőre
+
+
+ - **\-bldf\[\-\]** örököljön minden/semmi \(alapért\.\) kapcsolót a Harbourtól
+ - **\-bldf=\[p\]\[c\]\[l\]** örökölje a \.prg/\.c/szerkesztő kapcsolókat \(vagy ne\) a Harbourtól
+ - **\-F<framework>** link with <framework> framework \(Darwin only\)
+ - **\-prgflag=<f>** kapcsoló továbbítása Harbour fordítónak
+ - **\-cflag=<f>** kapcsoló továbbítása C fordítónak
+ - **\-resflag=<f>** továbbítsa a kapcsolót az erőforrás fordítónak \(csak Windows\-on\)
+ - **\-ldflag=<f>** kapcsoló továbbítása \(alkalmazás\) szerkesztőnek
+ - **\-dflag=<f>** kapcsoló továbbítása \(dinamikus függvénykönyvtár\) szerkesztőnek
+ - **\-aflag=<f>** kapcsoló továbbítása \(statikus függvénykönyvtár\) szerkesztőnek
+ - **\-iflag=<f>** pass single flag to import library creation command
+ - **\-signflag=<f>** pass single flag to code sign command
+ - **\-runflag=<f>** továbbítsa a kapcsolót a létrehozott alkalmazásnak, \-run kapcsoló használatakor
+ - **\-cflag\+=<f>** pass single flag to C compiler overriding C compiler flags added by hbmk2 itself\. Use with caution\.
+ - **\-ldflag\+=<f>** pass single raw option to linker \(executable\) after the library list\. Use with caution\.
+ - **\-dflag\+=<f>** pass single raw option to linker \(dynamic library\) after the library list\. Use with caution\.
+ - **\-3rd=<f>** options/flags reserved for 3rd party tools, always ignored by hbmk2 itself
+ - **\-env:<e>\[<o>\[<v>\]\]** alter local environment\. <e> is the name of the environment variable to alter\. <o> can be '=' to set/override, '\-' to delete, '\+' to append to the end of existing value, '\#' to insert to the beginning of existing value\. <v> is the value to set/append/insert\.
+ - **\-jobs=<n>** n szálon futtassa a fordítókat \(csak támogatott platformokon\)
+ - **\-head=<m>** control source header parsing \(in incremental build mode\)
+<m> can be: native \(uses compiler to extract dependencies\), full \(default, uses simple text parser on the whole file\), dep, off
+ - **\-rebuild** rebuild \(in incremental build mode\)
+ - **\-rebuildall** rebuild with sub\-projects \(in incremental build mode\)
+ - **\-clean** törlés \(lépcsőzetes üzemmódban\)
+ - **\-workdir=<dir>** working directory
+\(default: \.hbmk/<platform>/<compiler> \[\*\] in incremental mode, OS temp directory otherwise\)
+
+
+ - **\-hbcontainer** virtual target, it does not create anything\. Useful for creating an \.hbp with the sole purpose of referencing sub\-projects
+ - **\-hbimplib** create import library \(Windows only\)
+
+
+ - **\-hbl\[=<output>\]** kimeneti \.hbl fájlnév\. %\{hb\_lng\} makró használható a fájlnévben
+ - **\-lng=<languages>** nyelvek listája, amelyek a \.pot/\.po és \.hbl/\.po állományokban levő %\{hb\_lng\} makrókba kerülnek behelyettesítésre\. Vesszővel elválasztott lista:
+\-lng=en,hu\-HU,de
+ - **\-po=<output>** hozzon létre/frissítse a \.po fálj a forráskód alapján\. Használja a meglévő \.po fájlban levő fordításokat
+ - **\-minipo\[\-\]** írja bele \(vagy ne\) a Harbour verizószámát és a forrásállomány referenciákat a \.po állományba \(alapértelmezés: írja\)
+ - **\-rebuildpo** Generálja újra a \.po fájlt, törölve ezáltal minden szükségtelen bejegyzést
+
+
+ - **\-hbx=\[<\.ch>\]** Create Harbour header \(in \.hbx format\) with all external symbols\. Empty parameter will disable it\.
+ - **\-autohbc=<\.ch:\.hbc>** <\.ch> is a header file name\. <\.hbc> is a \.hbc filename to be automatically included in case the header is found in any of the compiled sources\. \(EXPERIMENTAL\)
+
+
+ - **\-deppkgname=<d:n>** <d> is the name of the dependency\. <n> name of the package dependency\. Can be specified multiple times\.
+ - **\-depkeyhead=<d:h>** <d> is the name of the dependency\. <h> is the key header \(\.h\) of the package dependency\. Multiple alternative headers can be specified\.
+ - **\-depoptional=<d:f>** <d> is the name of the dependency\. <f> can be 'yes' or 'no', specifies whether the dependency is optional\. Default: no
+ - **\-depcontrol=<d:v>** <d> is the name of the dependency\. <v> is a value that controls how detection is done\. Accepted values: no, yes, force, nolocal, local\. Default: content of environment variable HBMK\_WITH\_<d>
+ - **\-depincroot=<d:r>** <d> is the name of the dependency\. Set <r> as root directory for paths specified in \-depincpath options\.
+ - **\-depincpath=<d:i>** <d> is the name of the dependency\. Add <i> to the header detection path list\.
+ - **\-depincpathlocal=<d:i>** <d> is the name of the dependency\. Add <i> to the header detection path list, where <i> is pointing to a directory local to the project and containing an embedded \(aka\. 'locally hosted'\) dependency\.
+ - **\-depimplibs=<d:dll>** <d> is the name of the dependency\. Add <dll> to the import library source list\.
+ - **\-depimplibd=<d:lib>** <d> is the name of the dependency\. Set generated import library name to <lib>
+ - **\-depfinish=<d>** <d> is the name of the dependency\. Closes the dependency definition and does the actual dependency detection, setting all predefined filter macro variables and build options accordingly\. Optional, if omitted, detection will take place after processing all options\.
+
+
+ - **\-plugin=<filename>** add plugin\. <filename> can be: \.hb, \.prg, \.hrb
+ - **\-pi=<filename>** pass input file to plugins
+ - **\-pflag=<f>** pass single flag to plugins
+
+Options below are available on command\-line:
+
+
+ - **\-target=<script>** specify a new build target\. <script> can be \.prg \(or no extension\) or \.hbp file\. Note that \.hbp files are automatically considered as separate targets\.
+
+
+ - **\-hbrun** cél futtatása
+ - **\-hbraw** stop after running Harbour compiler
+ - **\-hbcmp|\-clipper** álljon meg az object állományok létrehozása után
+A hbmk2 program hbcmp/clipper nevekre való másolásával/átnevezésével hasonló hatás érhet el
+ - **\-hbcc** accept raw C flags
+create link/copy hbmk2 to hbcc for the same effect
+ - **\-hblnk** kapcsolókat adja tovább a szerkesztőnek
+ - **\-autohbm\[\-\]** enable \(or disable\) processing of hbmk\.hbm in current directory \(default: yes\)
+ - **\-hb10** enable Harbour 1\.0\.x compatibility mode
+ - **\-hb20** enable Harbour 2\.0\.x compatibility mode
+ - **\-hb30** enable Harbour 3\.0\.x compatibility mode
+ - **\-xhb** kapcsolja be az xhb üzemmódot
+ - **\-hbc** enable pure C mode
+ - \-rtlink
+ - \-blinker
+ - **\-exospace** emuláljon Clipper kompatibilis szerkesztő üzemmódot\.
+A hbmk2 program rtlink/blinker/exospace nevekre való másolásával/átnevezésével hasonló hatás érhet el
+
+
+ - **\-hbreg\[=global\]** register Harbour Script \(\.hb\) with hbmk2 \(Windows only\)
+ - **\-hbunreg\[=global\]** unregister Harbour Script \(\.hb\) from hbmk2 \(Windows only\)
+
+
+ - **\-find <text>** lists all known Harbour functions that contain <text> in their name, along with their package \(case insensitive, accepts multiple values, can contain wildcard characters\)
+
+
+ - **\-hbmake=<file>** convert hbmake project <file> to \.hbp file
+ - **\-xbp=<file>** \.xbp \(xbuild\) project állomány konvertálása \.hbp állományba
+ - **\-xhp=<file>** \.xhp \(xMate\) project állomány konvertálása \.hbp állományba
+
+
+ - **\-\-hbdirbin** visszatér a Harbour program könyvtárral
+ - **\-\-hbdirdyn** visszatér a Harbour dinamikus függvénykönyvtárak könyvtárával
+ - **\-\-hbdirlib** visszatér a Harbour statikus függvénykönyvtárak könyvtárával
+ - **\-\-hbdirinc** visszatér a Harbour fejléc könyvtárral
+ - **\-\-hbinfo\[=nested\]** output Harbour build information\. Output is in JSON format\. The included paths always contain forward slashes\. Each JSON block is followed by an 0x0A byte\.
+
+
+ - **\-plat=<platform>** felülbírálja az alapértelmezett cél platformot \(alapértelmezés: automatikus\)
+ - **\-cpu=<cpu>** override default target CPU \(default: automatic\) \(EXPERIMENTAL\)
+ - **\-comp=<compiler>** felülbírálja a C fordító detektálást
+Speciális érték:
+ \- bld: használja a Harbour fordításához használtat \(\*nix\-okon alapértelmezés\)
+ - **\-build=<name>** specify a build name
+ - **\-lang=<lang>** override default language\. <lang> is an ISO language code\.
+ - **\-width=<n>** set output width to <n> characters \(0=unlimited\)\.
+ - **\-shl** show sub\-project level in output lines
+ - **\-viewhelp** long help in text viewer
+ - **\-longhelp** teljes súgó
+ - **\-longhelpmd** long help in [Markdown](http://daringfireball.net/projects/markdown/) format
+ - **\-harbourhelp** Harbour compiler help \(all Harbour compiler options are accepted as is by hbmk2\)
+ - **\-credits** Harbour compiler credits
+ - **\-build** Harbour compiler build information
+ - **\-version** csak a verziószám kijelzése
+
+Options below are internal/developer ones \(compatibility not guaranteed\):
+
+
+ - **\-debugtime** measure time spent on the build
+ - **\-debuginc** display internals of incremental build
+ - **\-debugstub** display content of all internally generated source files
+ - **\-debugi18n** display internals on translation file generation
+ - **\-debugdepd** display internals of dependency detection
+ - **\-debugpars** display all input parameters in processing order
+ - **\-debugrte** generate a run\-time error
+
+
+You can sym\-link/copy/rename hbmk2 to the following names to alter default mode of operation:
+
+
+ - **hbrun\*|\*hbrun** mode script runner / interactive shell
+ - **hbrund|hbrun\*d** mode script runner / interactive shell in debug mode
+ - **harbour** mode \-hbraw \(emulate \- raw \- Harbour compiler\)
+ - **clipper** mode \-hbcmp \(emulate Clipper compiler\)
+ - **rtlink** mode \-rtlink \(emulate Clipper linker\)
+ - **exospace** mode \-rtlink \(emulate Clipper linker\)
+ - **blinker** mode \-rtlink \(emulate Clipper linker\)
+ - **\*10** option \-hb10
+ - **\*20** option \-hb20
+ - **\*30** option \-hb30
+ - **x\*** option \-xhb
+ - **hbcmp\*|\*hbcmp** mode \-hbcmp \(emulate Harbour compiler producing a binary object\)
+ - **hbcc\*|\*hbcc** mode \-hbcc \(emulate C compiler\)
+ - **hblnk\*|\*hblnk** mode \-hblnk \(emulate C linker\)
+ - **hbexe\*|\*hbexe** mode \-hbexe
+ - **hblib\*|\*hblib** mode \-hblib
+ - **hbdyn\*|\*hbdyn** mode \-hbdyn
+
+Files:
+
+
+ - **\*\.hbp** project file\. Can contain any number of command\-line options, which are expected to create an output\. Lines beginning with '\#' character are ignored, otherwise newline is optional and options are space separated, just like on the command\-line\. You must enclose option containing space in double quotes\. Each \.hbp file reference will be executed as a sub\-project\.
+ - **\*\.hbm** collection of options\. Can be used to collect common ones into a file and include that into project files\. Uses same format as \.hbp files\.
+ - **\*\.hbc** collection of options that accompany components \(aka 'libs', aka packages\)\. Use different syntax than command\-line and \.hbp/\.hbm files\. Lines beginning with '\#' character are ignored, each directive must be placed in separate lines\.
+ - **\*\.ch** if passed directly as a source file, it will be used as additional standard header
+ - **hbmk\.hbc** standard \.hbc file that gets automatically processed, if present\. Possible location\(s\) \(in order of precedence\) \[\*\]: %APPDATA%\\\.harbour, <hbmk2 mappa>
+ - **hbmk\.hbm** optional \.hbm file residing in current working directory, which gets automatically processed before other options
+ - **$hb\_pkg\_dynlib\.hbm** special \.hbm file embedded inside hbmk2\. It manages the details of creating a dynamic library \(in the style of Harbour contribs\)\.
+ - **$hb\_pkg\_install\.hbm** special \.hbm file embedded inside hbmk2\. It manages the details of installing targets and related package files to standard locations \(in the style of Harbour contribs\)\.
+
+
+ - **\*\.hb** Harbour script
+ - **\*\.hrb** Harbour portable binary \(aka precompiled Harbour script\)
+ - **hbstart\.hb** startup Harbour script for interactive Harbour shell\. It gets executed automatically on shell startup, if present\. Possible locations \(in order of precedence\) \[\*\]: \.\\, %APPDATA%\\\.harbour, <hbmk2 mappa>
+ - **shell plugins** \.hb and \.hrb plugins for interactive Harbour shell\. They may reside in \[\*\]: %APPDATA%\\\.harbour\\
+ - **\.hb\_history** stores command history for interactive Harbour shell\. You can disable history by making the first line 'no' \(without quotes and with newline\)\. Resides in \[\*\]: %APPDATA%\\\.harbour\\
+ - **hb\_extension** list of extensions to load in interactive Harbour shell\. One extension per line, part of line beyond a '\#' character is ignored\. Alternate filename on MS\-DOS: hb\_ext\.ini\. Resides in \[\*\]: %APPDATA%\\\.harbour\\
+
+Macro variables:
+
+
+ - **$\{hb\_root\}** directory of hbmk2
+ - **$\{hb\_dir\}** directory of the filename it is used in
+ - **$\{hb\_dirname\}** top directory of the filename it is used in
+ - **$\{hb\_name\}** name of the filename it is used in \(without directory and extension\)
+ - **$\{hb\_self\}** full filename it is used in
+ - **$\{hb\_curdir\}** current working directory
+ - **$\{hb\_tempdir\}** OS directory for temporary files
+ - **$\{hb\_targetname\}** name of the project \(without directory and extension\)\. Returns \.adhoc\. if there is not project file\.
+ - **$\{hb\_targettype\}** type of the project \(hbexe, hblib, hbdyn, hbdynvm, hbimplib, hbppo, hbhrb, hbcontainer\)
+ - **$\{hb\_plat\}** selected platform
+ - **$\{hb\_comp\}** selected C compiler
+ - **$\{hb\_comp\_ver\}** C compiler version
+ - **$\{hb\_build\}** build name
+ - **$\{hb\_cpu\}** selected CPU
+ - **$\{hb\_work\}** default base workdir name
+ - **$\{hb\_workdynsub\}** default workdir subdirectory for dynamic library targets
+ - **$\{hb\_dynprefix\}** dynamic library prefix
+ - **$\{hb\_dynsuffix\}** dynamic library suffix
+ - **$\{hb\_dynext\}** dynamic library extension
+ - **$\{hb\_ver\}** Harbour version in hexadecimal triple byte format\. F\.e\.: 030200
+ - **$\{hb\_verstr\}** Harbour version in human readable format <major>\.<minor>\.<release><status>\. F\.e\.: 3\.2\.0dev
+ - **$\{hb\_major\}** Harbour major version number
+ - **$\{hb\_minor\}** Harbour minor version number
+ - **$\{hb\_release\}** Harbour release version number
+ - **$\{hb\_status\}** Harbour version status
+ - **$\{hb\_revision\}** Harbour revision
+ - **$\{hb\_host\_plat\}** Harbour host platform
+ - **$\{hb\_host\_plat\_unix\}** returns '1' if Harbour host platform is \*nix compatible
+ - **$\{hb\_bin\}** Harbour binary directory
+ - **$\{hb\_lib\}** Harbour static library directory
+ - **$\{hb\_lib3rd\}** Harbour 3rd party static library directory
+ - **$\{hb\_dyn\}** Harbour dynamic library directory
+ - **$\{hb\_inc\}** Harbour header directory
+ - **$\{hb\_addons\}** Harbour add\-ons base directory
+ - **$\{hb\_first\}** name of source file that holds the entry function \(without directory and extension\)
+ - **$\{hb\_outputdir\}** directory of the output
+ - **$\{hb\_outputname\}** name of the output \(without extension\)
+ - **$\{hb\_level\}** sub\-project recursion level
+ - **$\{<depname>\}** returns the header directory of dependency <depname>, or '1' if it is not detected
+ - **$\{<envvar>\}** returns the value of the environment variable <envvar>
+
+Filters \(you can combine and/or negate them\):
+
+
+ - **\{<platform>\}** target platform\. Where <platform> can be any value accepted by \-plat= option\.
+ - **\{<compiler>\}** target C compiler\. Where <compiler> can be any value accepted by \-comp= option\.
+ - **\{<cpu>\}** target CPU\. Where <cpu> can be any of: x86, x86\_64, ia64, arm, mips, sh
+ - **\{<targettype>\}** target type\. Where <targettype> is any of the values returned by macro variable $\{hb\_targettype\}\.
+ - **\{mt\}** target is multi\-threaded \(see \-mt option\)
+ - **\{st\}** target is single\-threaded \(see \-st option\)
+ - **\{gui\}** GUI target \(see \-gui option\)
+ - **\{std\}** console target \(see \-console option\)
+ - **\{debug\}** C level debugging is enabled \(see \-debug option\)
+ - **\{nodebug\}** C level debugging is disabled \(see \-debug\- option\)
+ - **\{shared\}** shared build \(see \-shared and related options\)
+ - **\{static\}** static build \(see \-static and related options\)
+ - **\{lngcpp\}** forced C\+\+ mode \(see \-cpp option\)
+ - **\{lngc\}** forced C mode \(see \-cpp\- option\)
+ - **\{winuni\}** Windows UNICODE \(WIDE\) mode \(see \-winuni option\)
+ - **\{winansi\}** Windows ANSI mode \(see \-winuni\- option\)
+ - **\{unix\}** target platform is \*nix compatible \(bsd, hpux, sunos, beos, qnx, android, vxworks, symbian, linux, darwin, cygwin, minix, aix\)
+ - **\{allwin\}** target platform is Windows compatible \(win, wce\)
+ - **\{allgcc\}** target C compiler belongs to gcc family \(gcc, mingw, mingw64, mingwarm, djgpp, gccomf, clang, open64, pcc\)
+ - **\{allmingw\}** target C compiler is mingw\* \(mingw, mingw64, mingwarm\)
+ - **\{allmsvc\}** target C compiler is msvc\* \(msvc, msvc64, msvcia64, msvcarm\)
+ - **\{allbcc\}** target C compiler is bcc\* \(bcc, bcc64\)
+ - **\{allpocc\}** target C compiler is pocc\* \(pocc, pocc64, poccarm\)
+ - **\{allicc\}** target C compiler is icc\* \(icc, iccia64\)
+ - **\{hb10\}** Harbour 1\.0\.x compatibility mode \(see \-hb10 option\)
+ - **\{hb20\}** Harbour 2\.0\.x compatibility mode \(see \-hb20 option\)
+ - **\{hb30\}** Harbour 3\.0\.x compatibility mode \(see \-hb30 option\)
+ - **\{xhb\}** xhb mode \(see \-xhb option\)
+ - **\{hb\_ispath='<file|dir>'\}** filter will pass if <file> or <dir> name exists on disk\.
+ - **\{MACRO\}** filter will pass if $\{MACRO\} value is not empty and not equal to '0' or 'no' \(case insensitive\)
+ - **\{MACRO='<value>'\}** filter will pass if $\{MACRO\} value equals to <value> \(case insensitive\)\.
+ - **\{MACRO>'<value>'\}** filter will pass if $\{MACRO\} value is larger than <value> \(case insensitive\)\.
+ - **\{MACRO<'<value>'\}** filter will pass if $\{MACRO\} value is smaller than <value> \(case insensitive\)\.
+
+
+Predefined constants in sources:
+
+
+ - **\_\_HBSCRIPT\_\_HBMK\_PLUGIN** when an \.hb script is compiled as hbmk2 plugin
+ - **\_\_HBEXTREQ\_\_** when an \.hbx source file is present in a project \(available in Harbour sources\)
+ - **HBMK\_HAS\_<hbcname>** when <hbcname>\.hbc package is linked to the target\. The value is the version= value from the \.hbc file, converted to a decimal number, which is '1', if not specified\. \(available in Harbour sources\)
+ - **HBMK\_HAS\_<depname>** when <depname> dependency was detected \(available in C sources\)
+
+
+ - **\_\_HBSCRIPT\_\_HBSHELL** when a Harbour source file is run as a shell script
+ - **<standard Harbour>** \_\_PLATFORM\_\_\*, \_\_ARCH\*BIT\_\_, \_\_\*\_ENDIAN\_\_, etc\.\.\.
+
+
+Predefined constants in build files \(they are available after '\-depfinish=<depname>' / 'depfinish=<depname>'\):
+
+
+ - **HBMK\_HAS\_<depname>** when <depname> dependency was detected
+ - **HBMK\_DIR\_<depname>** return the header directory where <depname> was detected, or empty if it was not\.
+ - **HBMK\_HAS\_<depname>\_LOCAL** when <depname> dependency was detected in a location configured by \-depincpathlocal= option
+
+Environment variables:
+
+
+ - **HBMK\_OPTIONS** accepts any options as if they were passed in the beginning of the command\-line
+ - **HB\_PLATFORM** accepts same values as \-plat= option
+ - **HB\_COMPILER** accepts same values as \-comp= option
+ - **HB\_CPU** accepts same values as \-cpu= option
+ - **HB\_BUILD\_NAME** accepts same values as \-build= option
+ - **HB\_LANG** accepts same values as \-lang= option
+ - **HB\_USER\_LIBS** accepts same values \(space separated\) as \-l option
+ - **HB\_USER\_LIBPATHS** accepts same values \(space separated\) as \-L option
+ - **HB\_USER\_PRGFLAGS** options to be passed to Harbour compiler \(before command\-line options\)
+ - **HB\_USER\_CFLAGS** options to be passed to C compiler \(before command\-line options\)
+ - **HB\_USER\_RESFLAGS** options to be passed to resource compiler \(before command\-line options\) \(Windows only\)
+ - **HB\_USER\_LDFLAGS** options to be passed to linker \(executable\) \(before command\-line options\)
+ - **HB\_USER\_DFLAGS** options to be passed to linker \(dynamic library\) \(before command\-line options\)
+ - **HB\_USER\_AFLAGS** options to be passed to linker \(static library\) \(before command\-line options\)
+ - **HB\_COMPILER\_VER** override C compiler version autodetection \(gcc and msvc compiler families only\)\. Format: <15><00>\[\.<00>\] = <major><minor>\[\.<revision>\]
+ - **HB\_CCPATH** override C compiler executable directory \(gcc compiler families only\)
+ - **HB\_CCPREFIX** override C compiler executable prefix \(gcc compiler families only\)
+ - **HB\_CCSUFFIX** override C compiler executable suffix \(gcc compiler families only\)
+ - **HB\_INSTALL\_PREFIX** override Harbour base installation directory
+ - **HB\_INSTALL\_ADDONS** override Harbour base add\-ons directory
+
+
+ - **HB\_EXTENSION** space separated list of extensions to load in interactive Harbour shell
+
+\.hbc directives \(they should be written in separate lines\):
+
+
+ - **echo=<msg>** display <msg>
+ - **skip=\[<msg>\]** skip processing the rest of the \.hbc file\. Display <msg>, if specified\.
+ - **stop=\[<msg>\]** stop the build\. Display <msg>, if specified\.
+ - **sources=** add space separated list of files as input files
+ - **headers=** add space separated list of \.ch format headers as standard header
+ - **libs=** add space separated list of libraries \(see more at \-l option\)
+ - **frameworks=** add space separated list of frameworks \(Darwin only\)
+ - **requests=** add space separated list of symbols to force link to the target
+ - **syslibs=** add space separated list of libraries as system libraries \(before regular libraries\)
+ - **hbcs=** embed space separated list of \.hbc files\. Names without the extension is accepted\. These references are processed in place\.
+ - **autohbcs=** space separated list of values as in \-autohbc= option
+ - **libpaths=** space separated list of additional library paths
+ - **incpaths=** add space separated list of additional header paths \(for both Harbour and C\)
+ - **instfiles=** space separated list of values as in \-instfile= option
+ - **instpaths=** space separated list of values as in \-instpath= option
+ - **prgflags=** space separated list of values as in \-prgflag= option
+ - **cflags=** space separated list of values as in \-cflag= option
+ - **resflags=** space separated list of values as in \-resflag= option
+ - **ldflags=** space separated list of values as in \-ldflag= option
+ - **ldflags\+=** space separated list of values as in \-ldflag\+= option
+ - **dflags=** space separated list of values as in \-dflag= option
+ - **dflags\+=** space separated list of values as in \-dflag\+= option
+ - **pflags=** space separated list of values as in \-pflag= option
+ - **psources=** space separated list of values as in \-pi= option
+ - **gui=<bool>** 'yes' = \-gui, 'no' = \-std option
+ - **mt=<bool>** 'yes' = \-mt, 'no' = \-st option
+ - **pic=<bool>** 'yes' = \-pic, 'no' = \-pic\- option
+ - **shared=<bool>** 'yes' = \-shared, 'no' = \-static option
+ - **shareddef=<bool>** similar to shared=, but works only if shared/static mode was not set before
+ - **fullstatic=<bool>** 'yes' = \-fullstatic, 'no' = \-static option
+ - **debug=<bool>** 'yes' = \-debug, 'no' = \-debug\- option
+ - **optim=** 'yes' = \-optim, 'no' = \-optim\- option
+ - **nulrdd=<bool>** 'yes' = \-nulrdd, 'no' = \-nulrdd\- option
+ - **nodefgt=<bool>** 'yes' = \-nodefgt, 'no' = \-nodefgt\- option
+ - **map=<bool>** 'yes' = \-map, 'no' = \-map\- option
+ - **hbcppmm=<bool>** 'yes' = \-hbcpmm, 'no' = \-hbcpmm\- option
+ - **implib=<bool>** 'yes' = \-implib, 'no' = \-implib\- option
+ - **winuni=<bool>** 'yes' = \-winuni, 'no' = \-winuni\- option
+ - **strip=<bool>** 'yes' = \-strip, 'no' = \-strip\- option
+ - **run=<bool>** 'yes' = \-run, 'no' = \-run\- option
+ - **inc=<bool>** 'yes' = \-inc, 'no' = \-inc\- option
+ - **safe=<bool>** 'yes' = \-safe, 'no' = \-safe\- option
+ - **cpp=** ugyanaz mint \-cpp= kapcsoló
+ - **warn=** ugyanaz mint \-warn= kapcsoló
+ - **compr=** ugyanaz mint \-compr= kapcsoló
+ - **head=** ugyanaz mint \-head= kapcsoló
+ - **plugins=** space separated list of hbmk2 plugins to load
+ - **gt=<name>** ugyanaz mint \-gt<name> kapcsoló
+ - **gtdef=<name>** set the default GT to be used
+ - **env=** ugyanaz mint \-env: kapcsoló
+ - **deppkgname=** ugyanaz mint \-deppkgname= kapcsoló
+ - **depkeyhead=** ugyanaz mint \-depkeyhead= kapcsoló
+ - **depoptional=** ugyanaz mint \-depoptional= kapcsoló
+ - **depcontrol=** ugyanaz mint \-depcontrol= kapcsoló
+ - **depincroot=** ugyanaz mint \-depincroot= kapcsoló
+ - **depincpath=** ugyanaz mint \-depincpath= kapcsoló
+ - **depincpathlocal=** ugyanaz mint \-depincpathlocal= kapcsoló
+ - **depimplibs=** ugyanaz mint \-depimplibs= kapcsoló
+ - **depimplibd=** ugyanaz mint \-depimplibd= kapcsoló
+ - **name=** package name
+ - **description=** package description
+ - **version=<x\.y\.z>** package version number, where x,y,z >= 0 <= 255\. Defaults to 0\.0\.1, if not specified\.
+ - **keywords=** space separated list of keywords
+ - **licences=** space separated list of licenses
+ - **repository=** space separated list of source repository references
+
+
+Plugin API:
+\('hbmk' is the context variable received by the plugin entry function\)
+
+
+ - **hbmk\_Register\_Input\_File\_Extension\( hbmk, cExt \) \-> NIL**
+Register input file extension to be passed to plugin \(by default all unknown file extensions are passed to Harbour compiler\)\.
+ - **hbmk\_AddInput\_PRG\( hbmk, cFileName \) \-> NIL**
+Add a Harbour input file to the project\.
+ - **hbmk\_AddInput\_C\( hbmk, cFileName \) \-> NIL**
+Add a C input file to the project\.
+ - **hbmk\_AddInput\_CPP\( hbmk, cFileName \) \-> NIL**
+Add a C\+\+ input file to the project\.
+ - **hbmk\_AddInput\_RC\( hbmk, cFileName \) \-> NIL**
+Add a Windows resource input file to the project\.
+ - **hbmk\_AddInput\_OBJ\( hbmk, cFileName \) \-> NIL**
+Add a binary object file to the project\.
+ - **hbmk\_AddInput\_INSTFILE\( hbmk, cFileName, \[<cGroup>\] \) \-> NIL**
+Add a file to be installed, with an optional \-instpath= group name\.
+ - **hbmk\_OutStd\( hbmk, cText \) \-> NIL**
+Output text to stdout\.
+ - **hbmk\_OutErr\( hbmk, cText \) \-> NIL**
+Output text to stderr\.
+ - **hbmk\_OutStdRaw\( hbmk, \.\.\. \) \-> NIL**
+Output text to stdout without any formatting\.
+ - **hbmk\_OutErrRaw\( hbmk, \.\.\. \) \-> NIL**
+Output text to stderr without any formatting\.
+ - **hbmk\_Macro\( hbmk, <cMacro> \) \-> <cResult>**
+Evaluate hbmk2 macro expression\.
+ - **hbmk\_FNameEscape\( hbmk, cFileName \) \-> <cFileName>**
+Escape/quote filename for using it as external command parameter\.
+ - **hbmk\_PathSepToTarget\( hbmk, cFileName \) \-> <cFileName>**
+Convert filename to the format required for the target toolchain\.
+ - **hbmk\_PathSepToForward\( <cPath> \) \-> <cPath>**
+Convert filename to have forward slash directory separators\.
+ - **hbmk\_PathFromWorkdirToCWD\( hbmk \) \-> <cRelativePath>**
+Return relative path of \-workdir= value from current working directory\.
+ - **hbmk\_FindInPath\( <cFileName>, \[<xPath>\], \[<aExtDef>\] \) \-> <cFNFound> | NIL**
+Find file in <xPath> \(array or pathsep delimited string are accepted\) with list of <aExtDef> alternate extensions \(defaults to executable binaries\)\. Returns filename if found and NIL if not\.
+ - **hbmk\_FNameDirExtSet\( <cFileName>, \[<cDirNew>\], \[<cExtNew>\] \) \-> <cFileName>**
+Change directory and/or extension in filename\.
+ - **hbmk\_FuncNameEncode\( <cFuncName> \) \-> <cFuncNameEncoded>**
+Encode function name according to Harbour compiler rules for forming HB\_FUNC\(\) function names in C code\.
+ - **hbmk\_StrStripQuote\( cString \) \-> <cString>**
+Strip double quote enclosure from a string\.
+ - **hbmk\_ArrayToList\( <aList>, \[<cSeparator>\] \) \-> <cList>**
+Convert array of strings to a string\. Default separator is a single space\.
+
+
+Plugin variables:
+\('hbmk' context hash items, case\-sensitive, read\-only unless marked otherwise\)
+
+
+ - **"apiver"** API version as an integer
+ - **"cSTATE"** callback state\. Can be: 'init', 'pre\_all', 'pre\_prg', 'pre\_res', 'pre\_c', 'pre\_link', 'pre\_lib', 'pre\_cleanup', 'post\_build', 'post\_all'
+ - **"params"** array of parameters passed to plugins via \-pflag=/pi= options or having an extension registered via hbmk\_Register\_Input\_File\_Extension\(\)
+ - **"vars"** hash of plugin custom variables\. Writable, local to each plugin
+ - **"cPLAT"** \-plat value
+ - **"cCOMP"** \-comp value
+ - **"nCOMPVer"** see HB\_COMPILER\_VER envvar
+ - **"cCPU"** \-cpu value
+ - **"cBUILD"** \-build= value
+ - **"cOUTPUTNAME"** \-o value
+ - **"cTARGETNAME"** see $\{hb\_targetname\} macro
+ - **"cTARGETTYPE"** see $\{hb\_targettype\} macro
+ - **"lREBUILD"** \-rebuild option status
+ - **"lCLEAN"** \-clean option status
+ - **"lDEBUG"** \-debug option status
+ - **"lMAP"** \-map option status
+ - **"lSTRIP"** \-strip option status
+ - **"lDONTEXEC"** \-traceonly option status
+ - **"lIGNOREERROR"** \-ignore option status
+ - **"lTRACE"** \-trace option status
+ - **"lQUIET"** \-q option status
+ - **"lINFO"** \-info option status
+ - **"lBEEP"** \-beep option status
+ - **"lRUN"** \-run option status
+ - **"lINC"** \-inc option status
+ - **"cCCPATH"** see HB\_CCPATH envvar
+ - **"cCCPREFIX"** see HB\_CCPREFIX envvar
+ - **"cCCSUFFIX"** see HB\_CCSUFFIX envvar
+ - **"cCCEXT"** see HB\_CCEXT envvar
+ - **"cWorkDir"** \-workdir= value
+ - **"nExitCode"** Aktuális kilépési érték
+
+Shell API available in Harbour scripts:
+
+
+ - **hbshell\_gtSelect\( \[<cGT>\] \) \-> NIL**
+Switch GT\. Default \[\*\]: 'gtwin'
+ - **hbshell\_Clipper\(\) \-> NIL**
+Enable Clipper compatibility \(non\-Unicode\) mode\.
+ - **hbshell\_include\( <cHeader> \) \-> <lSuccess>**
+Load Harbour header\.
+ - **hbshell\_uninclude\( <cHeader> \) \-> <lSuccess>**
+Unload Harbour header\.
+ - **hbshell\_include\_list\(\) \-> NIL**
+Display list of loaded Harbour header\.
+ - **hbshell\_ext\_load\( <cPackageName> \) \-> <lSuccess>**
+Load package\. Similar to \#request PP directive\.
+ - **hbshell\_ext\_unload\( <cPackageName> \) \-> <lSuccess>**
+Unload package\.
+ - **hbshell\_ext\_get\_list\(\) \-> <aPackages>**
+List of loaded packages\.
+ - **hbshell\_DirBase\(\) \-> <cBaseDir>**
+DirBase\(\) not mapped to script\.
+ - **hbshell\_ProgName\(\) \-> <cPath>**
+ProgName\(\) not mapped to script\.
+
+
+Examples to start with hbmk2:
+
+
+ - **To run the interactive shell \('dot' prompt\)**
+$ hbmk2 \.
+ - **To run a Harbour script**
+$ hbmk2 myscript\.hb \[<parameter\[s\]>\]
+
+
+Examples to build and run Harbour portable binary \(aka precompiled Harbour script\):
+
+
+ - **To build**
+$ hbmk2 \-gh myscript\.hb
+ - **To run result of above**
+$ hbmk2 myscript\.hrb \[<parameter\[s\]>\]
+
+
+Examples to build a Harbour application:
+
+
+ - **To build one simple \.prg**
+$ hbmk2 hello\.prg
+ - **To build multiple \.prg sources into one application in incremental mode**
+$ hbmk2 mymain\.prg myfuncs\.prg \-inc
+ - **To build an application using a project file**
+$ hbmk2 myapp\.hbp
+ - **To build an application using incremental mode**
+$ hbmk2 myapp\.hbp \-inc
+ - **To build an application which uses a contrib package or 3rd party \(add\-on\) package that ships with an \.hbc file**
+$ hbmk2 myapp\.prg hbct\.hbc
+ - **To build an application which uses a raw library**
+$ hbmk2 myapp\.prg \-lmylib \-L<path\_to\_mylib>
+ - **To build an application which uses a Windows resource**
+$ hbmk2 mymain\.prg myres\.rc
+ - **To build an application which links against Harbour dynamic libraries**
+$ hbmk2 \-shared myapp\.prg
+ - **To build an application out of all \.prg and \.c sources residing in 'source' subdir**
+$ hbmk2 \-omyapp src/\*\.prg src/\*\.c
+
+
+Examples to build a Harbour static library:
+
+
+ - **To build library 'mylib' from sources**
+$ hbmk2 \-hblib mylibsrc\.prg \-omylib
+ - **To build library 'mylib' from sources using incremental mode**
+$ hbmk2 \-hblib mylibsrc\.prg \-omylib \-inc
+
+Exit codes \("errorlevels"\):
+
+
+ - **0** no error
+ - **1** unknown platform
+ - **2** unknown compiler
+ - **3** failed Harbour detection
+ - **5** failed stub creation
+ - **6** failed in compilation \(Harbour, C compiler, Resource compiler\)
+ - **7** failed in final assembly \(linker or library manager\)
+ - **8** unsupported
+ - **9** failed to create working directory
+ - **19** help
+ - **10** dependency missing or disabled
+ - **20** plugin initialization
+ - **30** too deep nesting
+ - **50** stop requested
+ - **<other>** when \-run option is used, the exit code will be the one returned by the target executable
+
+Megjegyzések:
+
+
+ - <script> can be:
+ <@script> or <script\.hbm>: command\-line options in file
+ <script\.hbp>: command\-line options in file, it also marks a new target if specified on the command\-line
+ <script\.hbc>: package configuration file
+ - Source filename without extension will load the \.hbp file, if such \.hbp file exists in current directory\. If not, \.prg extension will be used\.
+ - Több \-l, \-L, \-i és <parancsállomány> kapcsoló/paraméter is megengedett\.
+ - Normál Harbour fordító kapcsolók is megadhatók\.
+ - hbmk\.hbc opció fájl a hbmk2 könyvtárában mindig feldolgozásra kerül amennyiben létezik\. \*nix platformokon a fájl a ~/\.harbour, /etc/harbour, <base>/etc/harbour, <base>/etc könyvtárak \(ebben a sorrendben\) szintén ellenőrzésre kerülnek\.
+ - hbmk\.hbm make script in current directory is always processed if it exists\.
+ - Using forwards slashes is recommended in option values as directory separator, but backslashes are also equally accepted\.
+ - A szűrők az egyes \.hbc sorokban használhatók és számos opció esetén támogatottak\.
+Szűrő formátum: \{\[\!\]\[<platform>|<compiler>|<cpu>|<keyword>\]\}\. Szűrők kombinálhatók '&', '|' operátorokkal és zárójelekkel csoportosíthatók\. Pl\.: \{win\}, \{gcc\}, \{linux|darwin\}, \{win&\!pocc\}, \{\(win|linux\)&\!watcom\}, \{unix&mt&gui\}, \-cflag=\{win\}\-DMYDEF, \-stop\{dos\}, \-stop\{\!allwin\}
+ - A legtöbb \.hbc opcióban és parancssori megfelelőikben \(libs=, hbcs=, prgflags=, cflags=, ldflags=, libpaths=, instfiles=, instpaths=, echo=\) használhatók makró változókat\. libpaths= also accepts %\{hb\_name\} which translates to the name of the \.hbc file under search\.
+ - Options accepting macro variables also support command substitution\. Enclose command inside \`\`, and, if the command contains space, also enclose in double quotes\. Standard output of the command will be used as the value\. F\.e\. "\-cflag=\`wx\-config \-\-cflags\`", or ldflags=\{unix&gcc\}"\`wx\-config \-\-libs\`"\.
+ - When multiple target type selection options \(\-hblib, \-hbdyn, etc\.\) are specified, the first one will be significant, the rest will be silently ignored\.
+ - Libraries and object files built with/for CA\-Cl\*pper will not work with any supported platform/compiler\.
+ - Defaults and feature support may vary by platform/compiler\.
+ - GNU Make or any C compiler specific make tool and MSYS \(on Windows\) are not needed to run hbmk2\.
+ - \. \(dot\) passed as first parameter will enter the interactive Harbour shell\.
+
+
+ - \.hb, \.hrb or \.dbf file passed as first parameter will be run as Harbour script\. If the filename contains no path components, it will be searched in current working directory and in PATH\. If not extension is given, \.hb and \.hrb extensions are searched, in that order\. \.dbf file will be opened automatically in shared mode and interactive Harbour shell launched\. Non\-standard extensions will be autodetected for source and precompiled script types\. Note, for Harbour scripts, the codepage is set to UTF\-8 by default\. The default core header 'hb\.ch' is automatically \#included\. The default date format is the ISO standard: yyyy\-mm\-dd\. The default GT is 'gtcgi', unless full\-screen CUI calls are detected, when 'gtwin' \[\*\] is automatically selected \(except for INIT PROCEDUREs\)\.
+ - You can use key <Alt\+V> in interactive Harbour shell to paste text from the clipboard\.
+ - Values marked with \[\*\] may be host platform and/or configuration dependent\. This help was generated on 'win' host platform\.
+
+
+Az egyes <platform> értékekhez tartozó <compiler> értékek a következők:
+
+
+ - **linux** gcc, clang, icc, watcom, sunpro, open64
+ - **darwin** gcc, clang, icc
+ - **win** mingw, msvc, clang, bcc, bcc64, watcom, icc, pocc, xcc, mingw64, msvc64, msvcia64, iccia64, pocc64
+ - **wce** mingwarm, mingw, msvcarm, poccarm
+ - **os2** gcc, gccomf, watcom
+ - **dos** djgpp, watcom
+ - **bsd** gcc, clang, pcc
+ - **hpux** gcc
+ - **beos** gcc
+ - **qnx** gcc
+ - **android** gcc, gccarm
+ - **vxworks** gcc, diab
+ - **symbian** gcc
+ - **cygwin** gcc
+ - **minix** clang, gcc
+ - **aix** gcc
+ - **sunos** gcc, sunpro
+
+License:
+
+
+ This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+\(at your option\) any later version\.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\. See the
+GNU General Public License for more details\.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc\., 675 Mass Ave, Cambridge, MA 02139, USA \(or visit
+their web site at http://www\.gnu\.org/\)\.
+
+License extensions:
+ \- This source code must be kept and distributed as part
+ of the Harbour package and/or the placement of the tool sources
+ and files must reflect that it is part of Harbour Project\.
+ \- Copyright information must always be presented by
+ projects including this tool or help text\.
+ \- Modified versions of the tool must clearly state this
+ fact on the copyright screen\.
+ \- Source code modifications shall always be made available
+ along with binaries\.
+ \- Help text and documentation is licensed under
+ Creative Commons Attribution\-ShareAlike 3\.0:
+ http://creativecommons\.org/licenses/by\-sa/3\.0/
+
+
+Author:
+
+
+ - Viktor Szakáts \(harbour syenar\.net\)
diff --git a/utils/hbmk2/doc/hbmk2.it.md b/utils/hbmk2/doc/hbmk2.it.md
new file mode 100644
index 0000000000..2b1038c2c4
--- /dev/null
+++ b/utils/hbmk2/doc/hbmk2.it.md
@@ -0,0 +1,718 @@
+Harbour Make \(hbmk2\) 3\.2\.0dev \(r2013\-03\-28 03:24\)
+Copyright \(c\) 1999\-2013, Viktor Szakáts
+
+
+Syntax:
+
+ hbmk2 \[options\] \[<script\[s\]>\] <src\[s\]\[\.prg|\.c|\.obj|\.o|\.rc|\.res|\.def|\.po|\.pot|\.hbl|@\.clp|\.d|\.ch\]>
+
+Description:
+
+
+ hbmk2 is an integrated and portable build tool, making it possible to create various types of executable binaries \(executable, dynamic library, static library, Harbour portable binary\) out of multiple types of source files \(C, C\+\+, Objective\-C, Harbour, gettext translations, Windows resources\)\. 'Integrated' means that a single hbmk2 project file can control all or most aspects of the build process\. 'Portable' means that a single hbmk2 project file can control the build on all supported OS platforms and across all supported C compilers\. It also aims to cover the majority of build tasks via short and simple project files \(options\)\. hbmk2 supports pure \-non\-Harbour\- C/C\+\+/Objective\-C projects as well\. In order to achieve above goals, hbmk2 will autodetect Harbour, C compiler and other required tools, then configure and call them appropriately\. hbmk2 allows to extend the types of supported source files via plugins\.
+Besides building executables, hbmk2 is able to run Harbour scripts \(both source and precompiled\) directly, and it also features an interactive shell prompt\.
+
+Options:
+
+
+ - **\-o<outname>** output file name
+ - **\-l<libname>** link with <libname> library\. <libname> should be without path, extension and 'lib' prefix \(unless part of the name\)\. Do not add core Harbour libraries, they are automatically added as needed\. If <libname> starts with a '\-' character, the library will be removed from the list of libraries at link time\.
+ - **\-L<libpath>** additional path to search for libraries
+ - **\-i<p>|\-incpath=<p>** additional path to search for headers
+ - **\-static|\-shared** link with static/shared libs
+ - **\-gt<name>** link with GT<name> GT driver, can be repeated to link with more GTs\. First one will be the default at run\-time
+ - **\-inc\[\-\]** enable/disable incremental build mode \(default: disabled\)
+ - **\-hbexe** create executable \(default\)
+ - **\-hblib** create static library
+ - **\-hbdyn** create dynamic library \(without linked Harbour VM\)
+ - **\-hbdynvm** create dynamic library \(with linked Harbour VM\)
+
+
+ - **\-mt|\-st** link with multi/single\-thread Harbour VM
+ - **\-gui|\-std** create GUI/console executable
+ - **\-main=<mainfunc>** override the name of starting function/procedure
+ - **\-request=<func>** force function/procedure to be linked
+ - **\-fullstatic** link with all static libs
+ - **\-pic\[\-\]** create position independent object code \(always enabled in \-hbdyn/\-hbdynvm modes\)
+ - **\-\[full|fix\]shared** create shared Harbour binaries without/with absolute dir reference to Harbour library \(default: 'fullshared' when Harbour is installed on system location, 'fixshared' otherwise\) \(fix/full option in \*nix only\)
+ - **\-nulrdd\[\-\]** link with nulrdd
+ - **\-debug\[\-\]** add/exclude C compiler debug info\. For Harbour level debug, use Harbour option \-b as usual
+ - **\-optim\[\-\]** toggle C compiler optimizations \(default: on\)
+ - **\-cpp\[\-\]** force C\+\+/C mode
+ - **\-cpp=<value>** select C\+\+ mode\. Allowed values are: def, yes, no
+ - **\-map\[\-\]** create \(or not\) a map file
+ - **\-implib\[\-\]** crea \(o non\) una libreria d'importazione \(in modalita \-hbdyn/\-hbexe\)\. Al nome verra aggiunto un suffisso\.
+ - **\-implib=<output>** crea la libreria di importazione \(in modalita \-hbdyn/\-hbexe\) di nome <output> \(default: identica all'output\)
+ - **\-ln=<link>** create symbolic link pointing to <output> \(<link> is considered relative to <output>\)
+ - **\-strip\[\-\]** strip \(no strip\) binaries
+ - **\-trace\[\-\]** show commands executed
+ - **\-beep\[\-\]** enable \(or disable\) single beep on successful exit, double beep on failure
+ - **\-ignore\[\-\]** ignore errors when running compiler tools \(default: off\)
+ - **\-hbcppmm\[\-\]** override standard C\+\+ memory management functions with Harbour ones
+ - **\-winuni\[\-\]** select between UNICODE \(WIDE\) and ANSI compilation modes \(default: ANSI\) \(Windows only\. For WinCE it is always set to UNICODE\)
+ - **\-nohblib\[\-\]** do not use static core Harbour libraries when linking
+ - **\-nodefgt\[\-\]** do not link default GTs \(effective in \-static mode\)
+ - **\-nolibgrouping\[\-\]** disable library grouping on gcc based compilers
+ - **\-nomiscsyslib\[\-\]** do not add extra list of system libraries to default library list
+ - **\-traceonly** show commands to be executed, but do not execute them
+ - **\-warn=<lev>** set C compiler warning level
+<lev> can be: max, yes, low, no, def \(default: yes\)
+ - **\-safe\[\-\]** enable safety options in C compiler/linker \(default: enabled on Windows, disabled on other systems\)
+ - **\-compr=<lev>** compress executable/dynamic lib \(needs UPX tool\)
+<lev> can be: yes, no, min, max
+ - **\-run\[\-\]** run/do not run output executable
+ - **\-vcshead=<file>** generate \.ch header file with local repository information\. Git, SVN, Mercurial, Bazaar, Fossil, CVS and Monotone are currently supported\. Generated header will define preprocessor constant \_HBMK\_VCS\_TYPE\_ with the name of detected VCS and \_HBMK\_VCS\_ID\_ with the unique ID of local repository\. If no VCS system is detected, a sequential number will be rolled automatically on each build\.
+ - **\-tshead=<file>** generate \.ch header file with timestamp information\. Generated header will define preprocessor constants \_HBMK\_BUILD\_DATE\_, \_HBMK\_BUILD\_TIME\_, \_HBMK\_BUILD\_TIMESTAMP\_ with the date/time of build
+ - **\-icon=<file>** set <file> as application icon\. <file> should be a supported format on the target platform \(not supported by some platforms/compilers\)\. On Windows, it is implemented by generating and linking a resource file\.
+ - **\-manifest=<file>** embed manifest <file> in executable/dynamic lib \(Windows only\)
+ - **\-sign=<key>** sign executable with <key> \(Windows and Darwin only\)\. On Windows signtool\.exe is used \(part of MS Windows SDK\) or posign\.exe \(part of Pelles C 7\), in that order, both autodetected\.
+ - **\-signpw=<pw>** use <pw> as password when signing executable \(Windows and Darwin only\)
+ - **\-instfile=<g:file>** add <file> in to the list of files to be copied to path specified by \-instpath option\. <g> is an optional copy group \(case sensitive\), it must be at least two characters long\. In case you do not specify <file>, the list of files in that group will be emptied\.
+ - **\-instpath=<g:path>** copy target to <path>\. if <path> is a directory, it should end with path separator, in this case files specified by \-instfile option will also be copied\. can be specified multiple times\. <g> is an optional copy group, it must be at least two characters long\. Build target will be automatically copied to default \(empty\) copy group\. There exist following built\-in <g> groups: 'depimplib' for import libraries and 'depimplibsrc' for import library source \(\.dll\) files, both belonging to dependencies\.
+ - **\-instforce\[\-\]** copy target to install path even if it is up to date
+ - **\-depimplib\[\-\]** enable \(or disable\) import library generation for import library sources specified in \-depimplibs= options \(default: yes\)
+ - **\-stop\[=<text>\]** stop without doing anything and display <text> if specified
+ - **\-echo=<text>** echo text on screen
+ - **\-pause** force waiting for a key on exit in case of failure \(with alternate GTs only\)
+ - **\-exitstr** show error result as human readable text on exit
+ - **\-info** turn on informational messages
+ - **\-quiet\[\-\]** suppress all screen messages
+
+
+ - **\-bldf\[\-\]** inherit all/no \(default\) flags from Harbour build
+ - **\-bldf=\[p\]\[c\]\[l\]** inherit \.prg/\.c/linker flags \(or none\) from Harbour build
+ - **\-F<framework>** link with <framework> framework \(Darwin only\)
+ - **\-prgflag=<f>** pass single flag to Harbour compiler
+ - **\-cflag=<f>** pass single flag to C compiler
+ - **\-resflag=<f>** pass single flag to resource compiler \(Windows only\)
+ - **\-ldflag=<f>** pass single flag to linker \(executable\)
+ - **\-dflag=<f>** pass single flag to linker \(dynamic library\)
+ - **\-aflag=<f>** pass single flag to linker \(static library\)
+ - **\-iflag=<f>** pass single flag to import library creation command
+ - **\-signflag=<f>** pass single flag to code sign command
+ - **\-runflag=<f>** pass single flag to output executable when \-run option is used
+ - **\-cflag\+=<f>** pass single flag to C compiler overriding C compiler flags added by hbmk2 itself\. Use with caution\.
+ - **\-ldflag\+=<f>** pass single raw option to linker \(executable\) after the library list\. Use with caution\.
+ - **\-dflag\+=<f>** passa una singola opzione direttamente al linker \(libreria dinamica\) dopo la lista di libreria\. Usare con cautela\.
+ - **\-3rd=<f>** options/flags reserved for 3rd party tools, always ignored by hbmk2 itself
+ - **\-env:<e>\[<o>\[<v>\]\]** alter local environment\. <e> is the name of the environment variable to alter\. <o> can be '=' to set/override, '\-' to delete, '\+' to append to the end of existing value, '\#' to insert to the beginning of existing value\. <v> is the value to set/append/insert\.
+ - **\-jobs=<n>** start n compilation threads \(multiprocess platforms only\)
+ - **\-head=<m>** control source header parsing \(in incremental build mode\)
+<m> can be: native \(uses compiler to extract dependencies\), full \(default, uses simple text parser on the whole file\), dep, off
+ - **\-rebuild** rebuild \(in incremental build mode\)
+ - **\-rebuildall** rebuild with sub\-projects \(in incremental build mode\)
+ - **\-clean** clean \(in incremental build mode\)
+ - **\-workdir=<dir>** working directory
+\(default: \.hbmk/<platform>/<compiler> \[\*\] in incremental mode, OS temp directory otherwise\)
+
+
+ - **\-hbcontainer** virtual target, it does not create anything\. Useful for creating an \.hbp with the sole purpose of referencing sub\-projects
+ - **\-hbimplib** create import library \(Windows only\)
+
+
+ - **\-hbl\[=<output>\]** output \.hbl filename\. %\{hb\_lng\} macro is accepted in filename
+ - **\-lng=<languages>** list of languages to be replaced in %\{hb\_lng\} macros in \.pot/\.po filenames and output \.hbl/\.po filenames\. Comma separated list:
+\-lng=en,hu\-HU,de
+ - **\-po=<output>** create/update \.po file from source\. Merge it with previous \.po file of the same name
+ - **\-minipo\[\-\]** do \(not\) add Harbour version number and source file reference to \.po \(default: add them\)
+ - **\-rebuildpo** recreate \.po file, thus removing all obsolete entries in it
+
+
+ - **\-hbx=\[<\.ch>\]** Create Harbour header \(in \.hbx format\) with all external symbols\. Empty parameter will disable it\.
+ - **\-autohbc=<\.ch:\.hbc>** <\.ch> is a header file name\. <\.hbc> is a \.hbc filename to be automatically included in case the header is found in any of the compiled sources\. \(EXPERIMENTAL\)
+
+
+ - **\-deppkgname=<d:n>** <d> is the name of the dependency\. <n> name of the package dependency\. Can be specified multiple times\.
+ - **\-depkeyhead=<d:h>** <d> is the name of the dependency\. <h> is the key header \(\.h\) of the package dependency\. Multiple alternative headers can be specified\.
+ - **\-depoptional=<d:f>** <d> is the name of the dependency\. <f> can be 'yes' or 'no', specifies whether the dependency is optional\. Default: no
+ - **\-depcontrol=<d:v>** <d> is the name of the dependency\. <v> is a value that controls how detection is done\. Accepted values: no, yes, force, nolocal, local\. Default: content of environment variable HBMK\_WITH\_<d>
+ - **\-depincroot=<d:r>** <d> is the name of the dependency\. Set <r> as root directory for paths specified in \-depincpath options\.
+ - **\-depincpath=<d:i>** <d> is the name of the dependency\. Add <i> to the header detection path list\.
+ - **\-depincpathlocal=<d:i>** <d> is the name of the dependency\. Add <i> to the header detection path list, where <i> is pointing to a directory local to the project and containing an embedded \(aka\. 'locally hosted'\) dependency\.
+ - **\-depimplibs=<d:dll>** <d> is the name of the dependency\. Add <dll> to the import library source list\.
+ - **\-depimplibd=<d:lib>** <d> is the name of the dependency\. Set generated import library name to <lib>
+ - **\-depfinish=<d>** <d> is the name of the dependency\. Closes the dependency definition and does the actual dependency detection, setting all predefined filter macro variables and build options accordingly\. Optional, if omitted, detection will take place after processing all options\.
+
+
+ - **\-plugin=<filename>** add plugin\. <filename> can be: \.hb, \.prg, \.hrb
+ - **\-pi=<filename>** pass input file to plugins
+ - **\-pflag=<f>** pass single flag to plugins
+
+Options below are available on command\-line:
+
+
+ - **\-target=<script>** specify a new build target\. <script> can be \.prg \(or no extension\) or \.hbp file\. Note that \.hbp files are automatically considered as separate targets\.
+
+
+ - **\-hbrun** run target
+ - **\-hbraw** stop after running Harbour compiler
+ - **\-hbcmp|\-clipper** stop after creating the object files
+create link/copy hbmk2 to hbcmp/clipper for the same effect
+ - **\-hbcc** accept raw C flags
+create link/copy hbmk2 to hbcc for the same effect
+ - **\-hblnk** accept raw linker flags
+ - **\-autohbm\[\-\]** enable \(or disable\) processing of hbmk\.hbm in current directory \(default: yes\)
+ - **\-hb10** enable Harbour 1\.0\.x compatibility mode
+ - **\-hb20** enable Harbour 2\.0\.x compatibility mode
+ - **\-hb30** enable Harbour 3\.0\.x compatibility mode
+ - **\-xhb** enable xhb mode
+ - **\-hbc** enable pure C mode
+ - \-rtlink
+ - \-blinker
+ - **\-exospace** emulate Clipper compatible linker behavior
+create link/copy hbmk2 to rtlink/blinker/exospace for the same effect
+
+
+ - **\-hbreg\[=global\]** register Harbour Script \(\.hb\) with hbmk2 \(Windows only\)
+ - **\-hbunreg\[=global\]** unregister Harbour Script \(\.hb\) from hbmk2 \(Windows only\)
+
+
+ - **\-find <text>** lists all known Harbour functions that contain <text> in their name, along with their package \(case insensitive, accepts multiple values, can contain wildcard characters\)
+
+
+ - **\-hbmake=<file>** convert hbmake project <file> to \.hbp file
+ - **\-xbp=<file>** convert \.xbp \(xbuild\) project <file> to \.hbp file
+ - **\-xhp=<file>** convert \.xhp \(xMate\) project <file> to \.hbp file
+
+
+ - **\-\-hbdirbin** output Harbour binary directory
+ - **\-\-hbdirdyn** output Harbour dynamic library directory
+ - **\-\-hbdirlib** output Harbour static library directory
+ - **\-\-hbdirinc** output Harbour header directory
+ - **\-\-hbinfo\[=nested\]** output Harbour build information\. Output is in JSON format\. The included paths always contain forward slashes\. Each JSON block is followed by an 0x0A byte\.
+
+
+ - **\-plat=<platform>** override default target platform \(default: automatic\)
+ - **\-cpu=<cpu>** override default target CPU \(default: automatic\) \(EXPERIMENTAL\)
+ - **\-comp=<compiler>** override C compiler autodetection
+Special value:
+ \- bld: use original build settings \(default on \*nix\)
+ - **\-build=<name>** specify a build name
+ - **\-lang=<lang>** override default language\. <lang> is an ISO language code\.
+ - **\-width=<n>** set output width to <n> characters \(0=unlimited\)\.
+ - **\-shl** show sub\-project level in output lines
+ - **\-viewhelp** long help in text viewer
+ - **\-longhelp** long help
+ - **\-longhelpmd** long help in [Markdown](http://daringfireball.net/projects/markdown/) format
+ - **\-harbourhelp** Harbour compiler help \(all Harbour compiler options are accepted as is by hbmk2\)
+ - **\-credits** Harbour compiler credits
+ - **\-build** Harbour compiler build information
+ - **\-version** display version header only
+
+Options below are internal/developer ones \(compatibility not guaranteed\):
+
+
+ - **\-debugtime** measure time spent on the build
+ - **\-debuginc** display internals of incremental build
+ - **\-debugstub** display content of all internally generated source files
+ - **\-debugi18n** display internals on translation file generation
+ - **\-debugdepd** display internals of dependency detection
+ - **\-debugpars** display all input parameters in processing order
+ - **\-debugrte** generate a run\-time error
+
+
+You can sym\-link/copy/rename hbmk2 to the following names to alter default mode of operation:
+
+
+ - **hbrun\*|\*hbrun** mode script runner / interactive shell
+ - **hbrund|hbrun\*d** mode script runner / interactive shell in debug mode
+ - **harbour** mode \-hbraw \(emulate \- raw \- Harbour compiler\)
+ - **clipper** mode \-hbcmp \(emulate Clipper compiler\)
+ - **rtlink** mode \-rtlink \(emulate Clipper linker\)
+ - **exospace** mode \-rtlink \(emulate Clipper linker\)
+ - **blinker** mode \-rtlink \(emulate Clipper linker\)
+ - **\*10** option \-hb10
+ - **\*20** option \-hb20
+ - **\*30** option \-hb30
+ - **x\*** option \-xhb
+ - **hbcmp\*|\*hbcmp** mode \-hbcmp \(emulate Harbour compiler producing a binary object\)
+ - **hbcc\*|\*hbcc** mode \-hbcc \(emulate C compiler\)
+ - **hblnk\*|\*hblnk** mode \-hblnk \(emulate C linker\)
+ - **hbexe\*|\*hbexe** mode \-hbexe
+ - **hblib\*|\*hblib** mode \-hblib
+ - **hbdyn\*|\*hbdyn** mode \-hbdyn
+
+Files:
+
+
+ - **\*\.hbp** project file\. Can contain any number of command\-line options, which are expected to create an output\. Lines beginning with '\#' character are ignored, otherwise newline is optional and options are space separated, just like on the command\-line\. You must enclose option containing space in double quotes\. Each \.hbp file reference will be executed as a sub\-project\.
+ - **\*\.hbm** collection of options\. Can be used to collect common ones into a file and include that into project files\. Uses same format as \.hbp files\.
+ - **\*\.hbc** collection of options that accompany components \(aka 'libs', aka packages\)\. Use different syntax than command\-line and \.hbp/\.hbm files\. Lines beginning with '\#' character are ignored, each directive must be placed in separate lines\.
+ - **\*\.ch** if passed directly as a source file, it will be used as additional standard header
+ - **hbmk\.hbc** standard \.hbc file that gets automatically processed, if present\. Possible location\(s\) \(in order of precedence\) \[\*\]: %APPDATA%\\\.harbour, <hbmk2 cartella>
+ - **hbmk\.hbm** optional \.hbm file residing in current working directory, which gets automatically processed before other options
+ - **$hb\_pkg\_dynlib\.hbm** special \.hbm file embedded inside hbmk2\. It manages the details of creating a dynamic library \(in the style of Harbour contribs\)\.
+ - **$hb\_pkg\_install\.hbm** special \.hbm file embedded inside hbmk2\. It manages the details of installing targets and related package files to standard locations \(in the style of Harbour contribs\)\.
+
+
+ - **\*\.hb** Harbour script
+ - **\*\.hrb** Harbour portable binary \(aka precompiled Harbour script\)
+ - **hbstart\.hb** startup Harbour script for interactive Harbour shell\. It gets executed automatically on shell startup, if present\. Possible locations \(in order of precedence\) \[\*\]: \.\\, %APPDATA%\\\.harbour, <hbmk2 cartella>
+ - **shell plugins** \.hb and \.hrb plugins for interactive Harbour shell\. They may reside in \[\*\]: %APPDATA%\\\.harbour\\
+ - **\.hb\_history** stores command history for interactive Harbour shell\. You can disable history by making the first line 'no' \(without quotes and with newline\)\. Resides in \[\*\]: %APPDATA%\\\.harbour\\
+ - **hb\_extension** list of extensions to load in interactive Harbour shell\. One extension per line, part of line beyond a '\#' character is ignored\. Alternate filename on MS\-DOS: hb\_ext\.ini\. Resides in \[\*\]: %APPDATA%\\\.harbour\\
+
+Macro variables:
+
+
+ - **$\{hb\_root\}** directory of hbmk2
+ - **$\{hb\_dir\}** directory of the filename it is used in
+ - **$\{hb\_dirname\}** top directory of the filename it is used in
+ - **$\{hb\_name\}** name of the filename it is used in \(without directory and extension\)
+ - **$\{hb\_self\}** full filename it is used in
+ - **$\{hb\_curdir\}** current working directory
+ - **$\{hb\_tempdir\}** OS directory for temporary files
+ - **$\{hb\_targetname\}** name of the project \(without directory and extension\)\. Returns \.adhoc\. if there is not project file\.
+ - **$\{hb\_targettype\}** type of the project \(hbexe, hblib, hbdyn, hbdynvm, hbimplib, hbppo, hbhrb, hbcontainer\)
+ - **$\{hb\_plat\}** selected platform
+ - **$\{hb\_comp\}** selected C compiler
+ - **$\{hb\_comp\_ver\}** C compiler version
+ - **$\{hb\_build\}** build name
+ - **$\{hb\_cpu\}** selected CPU
+ - **$\{hb\_work\}** default base workdir name
+ - **$\{hb\_workdynsub\}** default workdir subdirectory for dynamic library targets
+ - **$\{hb\_dynprefix\}** dynamic library prefix
+ - **$\{hb\_dynsuffix\}** dynamic library suffix
+ - **$\{hb\_dynext\}** dynamic library extension
+ - **$\{hb\_ver\}** Harbour version in hexadecimal triple byte format\. F\.e\.: 030200
+ - **$\{hb\_verstr\}** Harbour version in human readable format <major>\.<minor>\.<release><status>\. F\.e\.: 3\.2\.0dev
+ - **$\{hb\_major\}** Harbour major version number
+ - **$\{hb\_minor\}** Harbour minor version number
+ - **$\{hb\_release\}** Harbour release version number
+ - **$\{hb\_status\}** Harbour version status
+ - **$\{hb\_revision\}** Harbour revision
+ - **$\{hb\_host\_plat\}** Harbour host platform
+ - **$\{hb\_host\_plat\_unix\}** returns '1' if Harbour host platform is \*nix compatible
+ - **$\{hb\_bin\}** Harbour binary directory
+ - **$\{hb\_lib\}** Harbour static library directory
+ - **$\{hb\_lib3rd\}** Harbour 3rd party static library directory
+ - **$\{hb\_dyn\}** Harbour dynamic library directory
+ - **$\{hb\_inc\}** Harbour header directory
+ - **$\{hb\_addons\}** Harbour add\-ons base directory
+ - **$\{hb\_first\}** name of source file that holds the entry function \(without directory and extension\)
+ - **$\{hb\_outputdir\}** directory of the output
+ - **$\{hb\_outputname\}** name of the output \(without extension\)
+ - **$\{hb\_level\}** sub\-project recursion level
+ - **$\{<depname>\}** returns the header directory of dependency <depname>, or '1' if it is not detected
+ - **$\{<envvar>\}** returns the value of the environment variable <envvar>
+
+Filters \(you can combine and/or negate them\):
+
+
+ - **\{<platform>\}** target platform\. Where <platform> can be any value accepted by \-plat= option\.
+ - **\{<compiler>\}** target C compiler\. Where <compiler> can be any value accepted by \-comp= option\.
+ - **\{<cpu>\}** target CPU\. Where <cpu> can be any of: x86, x86\_64, ia64, arm, mips, sh
+ - **\{<targettype>\}** target type\. Where <targettype> is any of the values returned by macro variable $\{hb\_targettype\}\.
+ - **\{mt\}** target is multi\-threaded \(see \-mt option\)
+ - **\{st\}** target is single\-threaded \(see \-st option\)
+ - **\{gui\}** GUI target \(see \-gui option\)
+ - **\{std\}** console target \(see \-console option\)
+ - **\{debug\}** C level debugging is enabled \(see \-debug option\)
+ - **\{nodebug\}** C level debugging is disabled \(see \-debug\- option\)
+ - **\{shared\}** shared build \(see \-shared and related options\)
+ - **\{static\}** static build \(see \-static and related options\)
+ - **\{lngcpp\}** forced C\+\+ mode \(see \-cpp option\)
+ - **\{lngc\}** forced C mode \(see \-cpp\- option\)
+ - **\{winuni\}** Windows UNICODE \(WIDE\) mode \(see \-winuni option\)
+ - **\{winansi\}** Windows ANSI mode \(see \-winuni\- option\)
+ - **\{unix\}** target platform is \*nix compatible \(bsd, hpux, sunos, beos, qnx, android, vxworks, symbian, linux, darwin, cygwin, minix, aix\)
+ - **\{allwin\}** target platform is Windows compatible \(win, wce\)
+ - **\{allgcc\}** target C compiler belongs to gcc family \(gcc, mingw, mingw64, mingwarm, djgpp, gccomf, clang, open64, pcc\)
+ - **\{allmingw\}** target C compiler is mingw\* \(mingw, mingw64, mingwarm\)
+ - **\{allmsvc\}** target C compiler is msvc\* \(msvc, msvc64, msvcia64, msvcarm\)
+ - **\{allbcc\}** target C compiler is bcc\* \(bcc, bcc64\)
+ - **\{allpocc\}** target C compiler is pocc\* \(pocc, pocc64, poccarm\)
+ - **\{allicc\}** target C compiler is icc\* \(icc, iccia64\)
+ - **\{hb10\}** Harbour 1\.0\.x compatibility mode \(see \-hb10 option\)
+ - **\{hb20\}** Harbour 2\.0\.x compatibility mode \(see \-hb20 option\)
+ - **\{hb30\}** Harbour 3\.0\.x compatibility mode \(see \-hb30 option\)
+ - **\{xhb\}** xhb mode \(see \-xhb option\)
+ - **\{hb\_ispath='<file|dir>'\}** filter will pass if <file> or <dir> name exists on disk\.
+ - **\{MACRO\}** filter will pass if $\{MACRO\} value is not empty and not equal to '0' or 'no' \(case insensitive\)
+ - **\{MACRO='<value>'\}** filter will pass if $\{MACRO\} value equals to <value> \(case insensitive\)\.
+ - **\{MACRO>'<value>'\}** filter will pass if $\{MACRO\} value is larger than <value> \(case insensitive\)\.
+ - **\{MACRO<'<value>'\}** filter will pass if $\{MACRO\} value is smaller than <value> \(case insensitive\)\.
+
+
+Predefined constants in sources:
+
+
+ - **\_\_HBSCRIPT\_\_HBMK\_PLUGIN** when an \.hb script is compiled as hbmk2 plugin
+ - **\_\_HBEXTREQ\_\_** when an \.hbx source file is present in a project \(available in Harbour sources\)
+ - **HBMK\_HAS\_<hbcname>** when <hbcname>\.hbc package is linked to the target\. The value is the version= value from the \.hbc file, converted to a decimal number, which is '1', if not specified\. \(available in Harbour sources\)
+ - **HBMK\_HAS\_<depname>** when <depname> dependency was detected \(available in C sources\)
+
+
+ - **\_\_HBSCRIPT\_\_HBSHELL** when a Harbour source file is run as a shell script
+ - **<standard Harbour>** \_\_PLATFORM\_\_\*, \_\_ARCH\*BIT\_\_, \_\_\*\_ENDIAN\_\_, etc\.\.\.
+
+
+Predefined constants in build files \(they are available after '\-depfinish=<depname>' / 'depfinish=<depname>'\):
+
+
+ - **HBMK\_HAS\_<depname>** when <depname> dependency was detected
+ - **HBMK\_DIR\_<depname>** return the header directory where <depname> was detected, or empty if it was not\.
+ - **HBMK\_HAS\_<depname>\_LOCAL** when <depname> dependency was detected in a location configured by \-depincpathlocal= option
+
+Environment variables:
+
+
+ - **HBMK\_OPTIONS** accepts any options as if they were passed in the beginning of the command\-line
+ - **HB\_PLATFORM** accepts same values as \-plat= option
+ - **HB\_COMPILER** accepts same values as \-comp= option
+ - **HB\_CPU** accepts same values as \-cpu= option
+ - **HB\_BUILD\_NAME** accepts same values as \-build= option
+ - **HB\_LANG** accepts same values as \-lang= option
+ - **HB\_USER\_LIBS** accepts same values \(space separated\) as \-l option
+ - **HB\_USER\_LIBPATHS** accepts same values \(space separated\) as \-L option
+ - **HB\_USER\_PRGFLAGS** options to be passed to Harbour compiler \(before command\-line options\)
+ - **HB\_USER\_CFLAGS** options to be passed to C compiler \(before command\-line options\)
+ - **HB\_USER\_RESFLAGS** options to be passed to resource compiler \(before command\-line options\) \(Windows only\)
+ - **HB\_USER\_LDFLAGS** options to be passed to linker \(executable\) \(before command\-line options\)
+ - **HB\_USER\_DFLAGS** options to be passed to linker \(dynamic library\) \(before command\-line options\)
+ - **HB\_USER\_AFLAGS** options to be passed to linker \(static library\) \(before command\-line options\)
+ - **HB\_COMPILER\_VER** override C compiler version autodetection \(gcc and msvc compiler families only\)\. Format: <15><00>\[\.<00>\] = <major><minor>\[\.<revision>\]
+ - **HB\_CCPATH** override C compiler executable directory \(gcc compiler families only\)
+ - **HB\_CCPREFIX** override C compiler executable prefix \(gcc compiler families only\)
+ - **HB\_CCSUFFIX** override C compiler executable suffix \(gcc compiler families only\)
+ - **HB\_INSTALL\_PREFIX** override Harbour base installation directory
+ - **HB\_INSTALL\_ADDONS** override Harbour base add\-ons directory
+
+
+ - **HB\_EXTENSION** space separated list of extensions to load in interactive Harbour shell
+
+\.hbc directives \(they should be written in separate lines\):
+
+
+ - **echo=<msg>** display <msg>
+ - **skip=\[<msg>\]** skip processing the rest of the \.hbc file\. Display <msg>, if specified\.
+ - **stop=\[<msg>\]** stop the build\. Display <msg>, if specified\.
+ - **sources=** add space separated list of files as input files
+ - **headers=** add space separated list of \.ch format headers as standard header
+ - **libs=** add space separated list of libraries \(see more at \-l option\)
+ - **frameworks=** add space separated list of frameworks \(Darwin only\)
+ - **requests=** add space separated list of symbols to force link to the target
+ - **syslibs=** add space separated list of libraries as system libraries \(before regular libraries\)
+ - **hbcs=** embed space separated list of \.hbc files\. Names without the extension is accepted\. These references are processed in place\.
+ - **autohbcs=** space separated list of values as in \-autohbc= option
+ - **libpaths=** space separated list of additional library paths
+ - **incpaths=** add space separated list of additional header paths \(for both Harbour and C\)
+ - **instfiles=** space separated list of values as in \-instfile= option
+ - **instpaths=** space separated list of values as in \-instpath= option
+ - **prgflags=** space separated list of values as in \-prgflag= option
+ - **cflags=** space separated list of values as in \-cflag= option
+ - **resflags=** space separated list of values as in \-resflag= option
+ - **ldflags=** space separated list of values as in \-ldflag= option
+ - **ldflags\+=** space separated list of values as in \-ldflag\+= option
+ - **dflags=** space separated list of values as in \-dflag= option
+ - **dflags\+=** space separated list of values as in \-dflag\+= option
+ - **pflags=** space separated list of values as in \-pflag= option
+ - **psources=** space separated list of values as in \-pi= option
+ - **gui=<bool>** 'yes' = \-gui, 'no' = \-std option
+ - **mt=<bool>** 'yes' = \-mt, 'no' = \-st option
+ - **pic=<bool>** 'yes' = \-pic, 'no' = \-pic\- option
+ - **shared=<bool>** 'yes' = \-shared, 'no' = \-static option
+ - **shareddef=<bool>** similar to shared=, but works only if shared/static mode was not set before
+ - **fullstatic=<bool>** 'yes' = \-fullstatic, 'no' = \-static option
+ - **debug=<bool>** 'yes' = \-debug, 'no' = \-debug\- option
+ - **optim=** 'yes' = \-optim, 'no' = \-optim\- option
+ - **nulrdd=<bool>** 'yes' = \-nulrdd, 'no' = \-nulrdd\- option
+ - **nodefgt=<bool>** 'yes' = \-nodefgt, 'no' = \-nodefgt\- option
+ - **map=<bool>** 'yes' = \-map, 'no' = \-map\- option
+ - **hbcppmm=<bool>** 'yes' = \-hbcpmm, 'no' = \-hbcpmm\- option
+ - **implib=<bool>** 'yes' = \-implib, 'no' = \-implib\- option
+ - **winuni=<bool>** 'yes' = \-winuni, 'no' = \-winuni\- option
+ - **strip=<bool>** 'yes' = \-strip, 'no' = \-strip\- option
+ - **run=<bool>** 'yes' = \-run, 'no' = \-run\- option
+ - **inc=<bool>** 'yes' = \-inc, 'no' = \-inc\- option
+ - **safe=<bool>** 'yes' = \-safe, 'no' = \-safe\- option
+ - **cpp=** come l'opzione \-cpp=
+ - **warn=** come l'opzione \-warn=
+ - **compr=** come l'opzione \-compr=
+ - **head=** come l'opzione \-head=
+ - **plugins=** space separated list of hbmk2 plugins to load
+ - **gt=<name>** come l'opzione \-gt<name>
+ - **gtdef=<name>** set the default GT to be used
+ - **env=** come l'opzione \-env:
+ - **deppkgname=** come l'opzione \-deppkgname=
+ - **depkeyhead=** come l'opzione \-depkeyhead=
+ - **depoptional=** come l'opzione \-depoptional=
+ - **depcontrol=** come l'opzione \-depcontrol=
+ - **depincroot=** come l'opzione \-depincroot=
+ - **depincpath=** come l'opzione \-depincpath=
+ - **depincpathlocal=** come l'opzione \-depincpathlocal=
+ - **depimplibs=** come l'opzione \-depimplibs=
+ - **depimplibd=** come l'opzione \-depimplibd=
+ - **name=** package name
+ - **description=** descrizione del pacchetto
+ - **version=<x\.y\.z>** package version number, where x,y,z >= 0 <= 255\. Defaults to 0\.0\.1, if not specified\.
+ - **keywords=** space separated list of keywords
+ - **licences=** space separated list of licenses
+ - **repository=** space separated list of source repository references
+
+
+Plugin API:
+\('hbmk' is the context variable received by the plugin entry function\)
+
+
+ - **hbmk\_Register\_Input\_File\_Extension\( hbmk, cExt \) \-> NIL**
+Register input file extension to be passed to plugin \(by default all unknown file extensions are passed to Harbour compiler\)\.
+ - **hbmk\_AddInput\_PRG\( hbmk, cFileName \) \-> NIL**
+Add a Harbour input file to the project\.
+ - **hbmk\_AddInput\_C\( hbmk, cFileName \) \-> NIL**
+Add a C input file to the project\.
+ - **hbmk\_AddInput\_CPP\( hbmk, cFileName \) \-> NIL**
+Add a C\+\+ input file to the project\.
+ - **hbmk\_AddInput\_RC\( hbmk, cFileName \) \-> NIL**
+Add a Windows resource input file to the project\.
+ - **hbmk\_AddInput\_OBJ\( hbmk, cFileName \) \-> NIL**
+Add a binary object file to the project\.
+ - **hbmk\_AddInput\_INSTFILE\( hbmk, cFileName, \[<cGroup>\] \) \-> NIL**
+Add a file to be installed, with an optional \-instpath= group name\.
+ - **hbmk\_OutStd\( hbmk, cText \) \-> NIL**
+Output text to stdout\.
+ - **hbmk\_OutErr\( hbmk, cText \) \-> NIL**
+Output text to stderr\.
+ - **hbmk\_OutStdRaw\( hbmk, \.\.\. \) \-> NIL**
+Output text to stdout without any formatting\.
+ - **hbmk\_OutErrRaw\( hbmk, \.\.\. \) \-> NIL**
+Output text to stderr without any formatting\.
+ - **hbmk\_Macro\( hbmk, <cMacro> \) \-> <cResult>**
+Evaluate hbmk2 macro expression\.
+ - **hbmk\_FNameEscape\( hbmk, cFileName \) \-> <cFileName>**
+Escape/quote filename for using it as external command parameter\.
+ - **hbmk\_PathSepToTarget\( hbmk, cFileName \) \-> <cFileName>**
+Convert filename to the format required for the target toolchain\.
+ - **hbmk\_PathSepToForward\( <cPath> \) \-> <cPath>**
+Convert filename to have forward slash directory separators\.
+ - **hbmk\_PathFromWorkdirToCWD\( hbmk \) \-> <cRelativePath>**
+Return relative path of \-workdir= value from current working directory\.
+ - **hbmk\_FindInPath\( <cFileName>, \[<xPath>\], \[<aExtDef>\] \) \-> <cFNFound> | NIL**
+Find file in <xPath> \(array or pathsep delimited string are accepted\) with list of <aExtDef> alternate extensions \(defaults to executable binaries\)\. Returns filename if found and NIL if not\.
+ - **hbmk\_FNameDirExtSet\( <cFileName>, \[<cDirNew>\], \[<cExtNew>\] \) \-> <cFileName>**
+Change directory and/or extension in filename\.
+ - **hbmk\_FuncNameEncode\( <cFuncName> \) \-> <cFuncNameEncoded>**
+Encode function name according to Harbour compiler rules for forming HB\_FUNC\(\) function names in C code\.
+ - **hbmk\_StrStripQuote\( cString \) \-> <cString>**
+Strip double quote enclosure from a string\.
+ - **hbmk\_ArrayToList\( <aList>, \[<cSeparator>\] \) \-> <cList>**
+Convert array of strings to a string\. Default separator is a single space\.
+
+
+Plugin variables:
+\('hbmk' context hash items, case\-sensitive, read\-only unless marked otherwise\)
+
+
+ - **"apiver"** API version as an integer
+ - **"cSTATE"** callback state\. Can be: 'init', 'pre\_all', 'pre\_prg', 'pre\_res', 'pre\_c', 'pre\_link', 'pre\_lib', 'pre\_cleanup', 'post\_build', 'post\_all'
+ - **"params"** array of parameters passed to plugins via \-pflag=/pi= options or having an extension registered via hbmk\_Register\_Input\_File\_Extension\(\)
+ - **"vars"** hash of plugin custom variables\. Writable, local to each plugin
+ - **"cPLAT"** \-plat value
+ - **"cCOMP"** \-comp value
+ - **"nCOMPVer"** see HB\_COMPILER\_VER envvar
+ - **"cCPU"** \-cpu value
+ - **"cBUILD"** \-build= value
+ - **"cOUTPUTNAME"** \-o value
+ - **"cTARGETNAME"** see $\{hb\_targetname\} macro
+ - **"cTARGETTYPE"** see $\{hb\_targettype\} macro
+ - **"lREBUILD"** \-rebuild option status
+ - **"lCLEAN"** \-clean option status
+ - **"lDEBUG"** \-debug option status
+ - **"lMAP"** \-map option status
+ - **"lSTRIP"** \-strip option status
+ - **"lDONTEXEC"** \-traceonly option status
+ - **"lIGNOREERROR"** \-ignore option status
+ - **"lTRACE"** \-trace option status
+ - **"lQUIET"** \-q option status
+ - **"lINFO"** \-info option status
+ - **"lBEEP"** \-beep option status
+ - **"lRUN"** \-run option status
+ - **"lINC"** \-inc option status
+ - **"cCCPATH"** see HB\_CCPATH envvar
+ - **"cCCPREFIX"** see HB\_CCPREFIX envvar
+ - **"cCCSUFFIX"** see HB\_CCSUFFIX envvar
+ - **"cCCEXT"** see HB\_CCEXT envvar
+ - **"cWorkDir"** \-workdir= value
+ - **"nExitCode"** Codice di uscita attuale
+
+Shell API available in Harbour scripts:
+
+
+ - **hbshell\_gtSelect\( \[<cGT>\] \) \-> NIL**
+Switch GT\. Default \[\*\]: 'gtwin'
+ - **hbshell\_Clipper\(\) \-> NIL**
+Enable Clipper compatibility \(non\-Unicode\) mode\.
+ - **hbshell\_include\( <cHeader> \) \-> <lSuccess>**
+Load Harbour header\.
+ - **hbshell\_uninclude\( <cHeader> \) \-> <lSuccess>**
+Unload Harbour header\.
+ - **hbshell\_include\_list\(\) \-> NIL**
+Display list of loaded Harbour header\.
+ - **hbshell\_ext\_load\( <cPackageName> \) \-> <lSuccess>**
+Load package\. Similar to \#request PP directive\.
+ - **hbshell\_ext\_unload\( <cPackageName> \) \-> <lSuccess>**
+Unload package\.
+ - **hbshell\_ext\_get\_list\(\) \-> <aPackages>**
+List of loaded packages\.
+ - **hbshell\_DirBase\(\) \-> <cBaseDir>**
+DirBase\(\) not mapped to script\.
+ - **hbshell\_ProgName\(\) \-> <cPath>**
+ProgName\(\) not mapped to script\.
+
+
+Examples to start with hbmk2:
+
+
+ - **To run the interactive shell \('dot' prompt\)**
+$ hbmk2 \.
+ - **To run a Harbour script**
+$ hbmk2 myscript\.hb \[<parameter\[s\]>\]
+
+
+Examples to build and run Harbour portable binary \(aka precompiled Harbour script\):
+
+
+ - **To build**
+$ hbmk2 \-gh myscript\.hb
+ - **To run result of above**
+$ hbmk2 myscript\.hrb \[<parameter\[s\]>\]
+
+
+Examples to build a Harbour application:
+
+
+ - **To build one simple \.prg**
+$ hbmk2 hello\.prg
+ - **To build multiple \.prg sources into one application in incremental mode**
+$ hbmk2 mymain\.prg myfuncs\.prg \-inc
+ - **To build an application using a project file**
+$ hbmk2 myapp\.hbp
+ - **To build an application using incremental mode**
+$ hbmk2 myapp\.hbp \-inc
+ - **To build an application which uses a contrib package or 3rd party \(add\-on\) package that ships with an \.hbc file**
+$ hbmk2 myapp\.prg hbct\.hbc
+ - **To build an application which uses a raw library**
+$ hbmk2 myapp\.prg \-lmylib \-L<path\_to\_mylib>
+ - **To build an application which uses a Windows resource**
+$ hbmk2 mymain\.prg myres\.rc
+ - **To build an application which links against Harbour dynamic libraries**
+$ hbmk2 \-shared myapp\.prg
+ - **To build an application out of all \.prg and \.c sources residing in 'source' subdir**
+$ hbmk2 \-omyapp src/\*\.prg src/\*\.c
+
+
+Examples to build a Harbour static library:
+
+
+ - **To build library 'mylib' from sources**
+$ hbmk2 \-hblib mylibsrc\.prg \-omylib
+ - **To build library 'mylib' from sources using incremental mode**
+$ hbmk2 \-hblib mylibsrc\.prg \-omylib \-inc
+
+Exit codes \("errorlevels"\):
+
+
+ - **0** no error
+ - **1** unknown platform
+ - **2** unknown compiler
+ - **3** failed Harbour detection
+ - **5** failed stub creation
+ - **6** failed in compilation \(Harbour, C compiler, Resource compiler\)
+ - **7** failed in final assembly \(linker or library manager\)
+ - **8** unsupported
+ - **9** failed to create working directory
+ - **19** help
+ - **10** dependency missing or disabled
+ - **20** plugin initialization
+ - **30** too deep nesting
+ - **50** stop requested
+ - **<other>** when \-run option is used, the exit code will be the one returned by the target executable
+
+Notes:
+
+
+ - <script> can be:
+ <@script> or <script\.hbm>: command\-line options in file
+ <script\.hbp>: command\-line options in file, it also marks a new target if specified on the command\-line
+ <script\.hbc>: package configuration file
+ - Source filename without extension will load the \.hbp file, if such \.hbp file exists in current directory\. If not, \.prg extension will be used\.
+ - Multiple \-l, \-L, \-i and <script> parameters are accepted\.
+ - Regular Harbour compiler options are also accepted as is\.
+\(see them with \-harbourhelp option\)
+ - hbmk\.hbc option file in hbmk2 directory is always processed if it exists\. On \*nix platforms ~/\.harbour, /etc/harbour, <base>/etc/harbour, <base>/etc are checked \(in that order\) before the hbmk2 directory\.
+ - hbmk\.hbm make script in current directory is always processed if it exists\.
+ - Using forwards slashes is recommended in option values as directory separator, but backslashes are also equally accepted\.
+ - Filters are accepted in each \.hbc line and most options\.
+Filters can be combined using '&' \(and\), '|' \(or\) operators, negated by '\!' operator and grouped by parentheses\. Ex\.: \{win\}, \{gcc\}, \{linux|darwin\}, \{win&\!pocc\}, \{\(win|linux\)&\!watcom\}, \{unix&mt&gui\}, \-cflag=\{win\}\-DMYDEF, \-stop\{dos\}, \-stop\{\!allwin\}
+ - Most \.hbc lines \(libs=, hbcs=, prgflags=, cflags=, ldflags=, libpaths=, instfiles=, instpaths=, echo=\) and corresponding command\-line parameters will accept macro variables\. libpaths= also accepts %\{hb\_name\} which translates to the name of the \.hbc file under search\.
+ - Options accepting macro variables also support command substitution\. Enclose command inside \`\`, and, if the command contains space, also enclose in double quotes\. Standard output of the command will be used as the value\. F\.e\. "\-cflag=\`wx\-config \-\-cflags\`", or ldflags=\{unix&gcc\}"\`wx\-config \-\-libs\`"\.
+ - When multiple target type selection options \(\-hblib, \-hbdyn, etc\.\) are specified, the first one will be significant, the rest will be silently ignored\.
+ - Libraries and object files built with/for CA\-Cl\*pper will not work with any supported platform/compiler\.
+ - Defaults and feature support may vary by platform/compiler\.
+ - GNU Make or any C compiler specific make tool and MSYS \(on Windows\) are not needed to run hbmk2\.
+ - \. \(dot\) passed as first parameter will enter the interactive Harbour shell\.
+
+
+ - \.hb, \.hrb or \.dbf file passed as first parameter will be run as Harbour script\. If the filename contains no path components, it will be searched in current working directory and in PATH\. If not extension is given, \.hb and \.hrb extensions are searched, in that order\. \.dbf file will be opened automatically in shared mode and interactive Harbour shell launched\. Non\-standard extensions will be autodetected for source and precompiled script types\. Note, for Harbour scripts, the codepage is set to UTF\-8 by default\. The default core header 'hb\.ch' is automatically \#included\. The default date format is the ISO standard: yyyy\-mm\-dd\. The default GT is 'gtcgi', unless full\-screen CUI calls are detected, when 'gtwin' \[\*\] is automatically selected \(except for INIT PROCEDUREs\)\.
+ - You can use key <Alt\+V> in interactive Harbour shell to paste text from the clipboard\.
+ - Values marked with \[\*\] may be host platform and/or configuration dependent\. This help was generated on 'win' host platform\.
+
+
+Supported <compiler> values for each supported <platform> value:
+
+
+ - **linux** gcc, clang, icc, watcom, sunpro, open64
+ - **darwin** gcc, clang, icc
+ - **win** mingw, msvc, clang, bcc, bcc64, watcom, icc, pocc, xcc, mingw64, msvc64, msvcia64, iccia64, pocc64
+ - **wce** mingwarm, mingw, msvcarm, poccarm
+ - **os2** gcc, gccomf, watcom
+ - **dos** djgpp, watcom
+ - **bsd** gcc, clang, pcc
+ - **hpux** gcc
+ - **beos** gcc
+ - **qnx** gcc
+ - **android** gcc, gccarm
+ - **vxworks** gcc, diab
+ - **symbian** gcc
+ - **cygwin** gcc
+ - **minix** clang, gcc
+ - **aix** gcc
+ - **sunos** gcc, sunpro
+
+License:
+
+
+ This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+\(at your option\) any later version\.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\. See the
+GNU General Public License for more details\.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc\., 675 Mass Ave, Cambridge, MA 02139, USA \(or visit
+their web site at http://www\.gnu\.org/\)\.
+
+License extensions:
+ \- This source code must be kept and distributed as part
+ of the Harbour package and/or the placement of the tool sources
+ and files must reflect that it is part of Harbour Project\.
+ \- Copyright information must always be presented by
+ projects including this tool or help text\.
+ \- Modified versions of the tool must clearly state this
+ fact on the copyright screen\.
+ \- Source code modifications shall always be made available
+ along with binaries\.
+ \- Help text and documentation is licensed under
+ Creative Commons Attribution\-ShareAlike 3\.0:
+ http://creativecommons\.org/licenses/by\-sa/3\.0/
+
+
+Author:
+
+
+ - Viktor Szakáts \(harbour syenar\.net\)
diff --git a/utils/hbmk2/doc/hbmk2.pt_BR.md b/utils/hbmk2/doc/hbmk2.pt_BR.md
new file mode 100644
index 0000000000..d6288067dc
--- /dev/null
+++ b/utils/hbmk2/doc/hbmk2.pt_BR.md
@@ -0,0 +1,718 @@
+Harbour Make \(hbmk2\) 3\.2\.0dev \(r2013\-03\-28 03:24\)
+Copyright \(c\) 1999\-2013, Viktor Szakáts
+
+Translation \(pt\_BR\): Vailton Renato <vailtom@gmail\.com>
+
+Sintaxe:
+
+ hbmk2 \[opções\] \[<script\[s\]>\] <src\[s\]\[\.prg|\.c|\.obj|\.o|\.rc|\.res|\.def|\.po|\.pot|\.hbl|@\.clp|\.d|\.ch\]>
+
+Descrições:
+
+
+ hbmk2 is an integrated and portable build tool, making it possible to create various types of executable binaries \(executable, dynamic library, static library, Harbour portable binary\) out of multiple types of source files \(C, C\+\+, Objective\-C, Harbour, gettext translations, Windows resources\)\. 'Integrated' means that a single hbmk2 project file can control all or most aspects of the build process\. 'Portable' means that a single hbmk2 project file can control the build on all supported OS platforms and across all supported C compilers\. It also aims to cover the majority of build tasks via short and simple project files \(options\)\. hbmk2 supports pure \-non\-Harbour\- C/C\+\+/Objective\-C projects as well\. In order to achieve above goals, hbmk2 will autodetect Harbour, C compiler and other required tools, then configure and call them appropriately\. hbmk2 allows to extend the types of supported source files via plugins\.
+Besides building executables, hbmk2 is able to run Harbour scripts \(both source and precompiled\) directly, and it also features an interactive shell prompt\.
+
+Opções
+
+
+ - **\-o<outname>** nome de arquivo de saída
+ - **\-l<libname>** link with <libname> library\. <libname> should be without path, extension and 'lib' prefix \(unless part of the name\)\. Do not add core Harbour libraries, they are automatically added as needed\. If <libname> starts with a '\-' character, the library will be removed from the list of libraries at link time\.
+ - **\-L<libpath>** path adicional para pesquisar por bibliotecas
+ - **\-i<p>|\-incpath=<p>** paths adicionais para pesquisa de arquivos headers
+ - **\-static|\-shared** linkar com biliotecas estáticas/compartilhadas
+ - **\-gt<name>** link with GT<name> GT driver, can be repeated to link with more GTs\. First one will be the default at run\-time
+ - **\-inc\[\-\]** habilita o modo de compilação incremental
+ - **\-hbexe** create executable \(default\)
+ - **\-hblib** criar biblioteca estática
+ - **\-hbdyn** create dynamic library \(without linked Harbour VM\)
+ - **\-hbdynvm** create dynamic library \(with linked Harbour VM\)
+
+
+ - **\-mt|\-st** linkar com suporte multi ou single\-thread na HVM
+ - **\-gui|\-std** criar um executável GUI/console
+ - **\-main=<mainfunc>** sobrescreva o nome da função/procedimento inicial
+ - **\-request=<func>** force function/procedure to be linked
+ - **\-fullstatic** linkar com todas as bibliotecas estáticas
+ - **\-pic\[\-\]** create position independent object code \(always enabled in \-hbdyn/\-hbdynvm modes\)
+ - **\-\[full|fix\]shared** criar binário que faça uso da biblioteca compartilhada do Harbour com referência absoluta \(ou não\) \(padrão: 'fullshared' quando Harbour é instalado no local do sistema, caso contrário será 'fixshared'\) \(fix/full é somente para \*nix\)
+ - **\-nulrdd\[\-\]** linkar com o nulrdd
+ - **\-debug\[\-\]** adicionar/excluir informações de debug do compilador C\. Para compilar com Harbour utilize a opção \-b como de costume\.
+ - **\-optim\[\-\]** alterna as optimizações do compilador C \(ativado por padrão\)
+ - **\-cpp\[\-\]** forçar compilação em modo C\+\+/C
+ - **\-cpp=<value>** selecione modo C\+\+\.Os Valores permitidos são: def, yes, no
+ - **\-map\[\-\]** criar \(ou não\) o arquivo map
+ - **\-implib\[\-\]** create \(or not\) an import library \(in \-hbdyn/\-hbexe mode\)\. The name will have a postfix added\.
+ - **\-implib=<output>** create import library \(in \-hbdyn/\-hbexe mode\) name to <output> \(default: same as output\)
+ - **\-ln=<link>** create symbolic link pointing to <output> \(<link> is considered relative to <output>\)
+ - **\-strip\[\-\]** strip \(ou não\) arquivos binários
+ - **\-trace\[\-\]** exibir os comandos executados
+ - **\-beep\[\-\]** ativa \(ou desativa\) um beep simples em caso de sucesso ou um beep duplo em caso de erro
+ - **\-ignore\[\-\]** ignore erros quando executar as ferramentas de compilação \(padrão: off\)
+ - **\-hbcppmm\[\-\]** override standard C\+\+ memory management functions with Harbour ones
+ - **\-winuni\[\-\]** select between UNICODE \(WIDE\) and ANSI compilation modes \(default: ANSI\) \(Windows only\. For WinCE it is always set to UNICODE\)
+ - **\-nohblib\[\-\]** não usar bibliotecas estáticas do núcleo do Harbour quando linkar
+ - **\-nodefgt\[\-\]** do not link default GTs \(effective in \-static mode\)
+ - **\-nolibgrouping\[\-\]** desativar agrupamento de LIBs em compiladores baseados no gcc\.
+ - **\-nomiscsyslib\[\-\]** não adicione bibliotecas extras do sistema à lista padrão de bibliotecas
+ - **\-traceonly** exibir os comandos à serem executados, mas não execute\-os
+ - **\-warn=<lev>** define o nível de avisos \(warnings\) do compilador C
+<lev> pode ser: max, yes, low, no, def \(padrão: yes\)
+ - **\-safe\[\-\]** enable safety options in C compiler/linker \(default: enabled on Windows, disabled on other systems\)
+ - **\-compr=<lev>** comprime o executável/biblioteca dinânica \(necessita de UPX\)
+<lev> pode ser: yes, no, min, max
+ - **\-run\[\-\]** executar/não executar o aplicativo gerado\.
+ - **\-vcshead=<file>** generate \.ch header file with local repository information\. Git, SVN, Mercurial, Bazaar, Fossil, CVS and Monotone are currently supported\. Generated header will define preprocessor constant \_HBMK\_VCS\_TYPE\_ with the name of detected VCS and \_HBMK\_VCS\_ID\_ with the unique ID of local repository\. If no VCS system is detected, a sequential number will be rolled automatically on each build\.
+ - **\-tshead=<file>** gerar cabeçalho \.ch com informação de data/hora\. Cabeçalho gerado conterá as macros \_HBMK\_BUILD\_DATE\_, \_HBMK\_BUILD\_TIME\_, \_HBMK\_BUILD\_TIMESTAMP\_ com a data/hora de criação do arquivo\.
+ - **\-icon=<file>** set <file> as application icon\. <file> should be a supported format on the target platform \(not supported by some platforms/compilers\)\. On Windows, it is implemented by generating and linking a resource file\.
+ - **\-manifest=<file>** embed manifest <file> in executable/dynamic lib \(Windows only\)
+ - **\-sign=<key>** sign executable with <key> \(Windows and Darwin only\)\. On Windows signtool\.exe is used \(part of MS Windows SDK\) or posign\.exe \(part of Pelles C 7\), in that order, both autodetected\.
+ - **\-signpw=<pw>** use <pw> as password when signing executable \(Windows and Darwin only\)
+ - **\-instfile=<g:file>** add <file> in to the list of files to be copied to path specified by \-instpath option\. <g> is an optional copy group \(case sensitive\), it must be at least two characters long\. In case you do not specify <file>, the list of files in that group will be emptied\.
+ - **\-instpath=<g:path>** copy target to <path>\. if <path> is a directory, it should end with path separator, in this case files specified by \-instfile option will also be copied\. can be specified multiple times\. <g> is an optional copy group, it must be at least two characters long\. Build target will be automatically copied to default \(empty\) copy group\. There exist following built\-in <g> groups: 'depimplib' for import libraries and 'depimplibsrc' for import library source \(\.dll\) files, both belonging to dependencies\.
+ - **\-instforce\[\-\]** copie para o destino mesmo que ele esteja atualizado
+ - **\-depimplib\[\-\]** enable \(or disable\) import library generation for import library sources specified in \-depimplibs= options \(default: yes\)
+ - **\-stop\[=<text>\]** interromper sem executar nada
+ - **\-echo=<text>** ecoa texto na tela
+ - **\-pause** forçar pause por uma tela em caso de erro \(somente com driver GT alternativo\)
+ - **\-exitstr** Exibir erros na forma de texto amigável "human readable"
+ - **\-info** ativar mensagens informativas
+ - **\-quiet\[\-\]** suprimir todas as mensagens
+
+
+ - **\-bldf\[\-\]** herdar flags do Harbour: todos/nenhum \(padrão\)
+ - **\-bldf=\[p\]\[c\]\[l\]** herdar todos os flags \.prg/\.c/linker \(ou nenhum\) provindos do Harbour
+ - **\-F<framework>** link with <framework> framework \(Darwin only\)
+ - **\-prgflag=<f>** especifica flags para o Harbour
+ - **\-cflag=<f>** especifica flags para o compilador C
+ - **\-resflag=<f>** especifica flags para o compilador de recursos \(apenas windows\)
+ - **\-ldflag=<f>** especifica flags para o linkeditor \(executável\)
+ - **\-dflag=<f>** informar flags para o linkeditor \(biblioteca dinânica\)
+ - **\-aflag=<f>** passa flag para o linkeditor \(lib estática\)
+ - **\-iflag=<f>** pass single flag to import library creation command
+ - **\-signflag=<f>** pass single flag to code sign command
+ - **\-runflag=<f>** argumentos à serem passados ao executável gerado quando \-run for utilizado
+ - **\-cflag\+=<f>** pass single flag to C compiler overriding C compiler flags added by hbmk2 itself\. Use with caution\.
+ - **\-ldflag\+=<f>** pass single raw option to linker \(executable\) after the library list\. Use with caution\.
+ - **\-dflag\+=<f>** pass single raw option to linker \(dynamic library\) after the library list\. Use with caution\.
+ - **\-3rd=<f>** "options/flags" reservado para ferramentas de terceiros, sempre ignorado por hbmk2
+ - **\-env:<e>\[<o>\[<v>\]\]** alter local environment\. <e> is the name of the environment variable to alter\. <o> can be '=' to set/override, '\-' to delete, '\+' to append to the end of existing value, '\#' to insert to the beginning of existing value\. <v> is the value to set/append/insert\.
+ - **\-jobs=<n>** dispara <n> threads de compilação \(apenas plataformas multiprocessadas\)
+ - **\-head=<m>** control source header parsing \(in incremental build mode\)
+<m> can be: native \(uses compiler to extract dependencies\), full \(default, uses simple text parser on the whole file\), dep, off
+ - **\-rebuild** rebuild \(in incremental build mode\)
+ - **\-rebuildall** recriar com os sub\-projetos \(em modo incremental\)
+ - **\-clean** compilação limpa \(em modo de compilação incremental\)
+ - **\-workdir=<dir>** working directory
+\(default: \.hbmk/<platform>/<compiler> \[\*\] in incremental mode, OS temp directory otherwise\)
+
+
+ - **\-hbcontainer** virtual target, it does not create anything\. Useful for creating an \.hbp with the sole purpose of referencing sub\-projects
+ - **\-hbimplib** Criar Bibliotecas de importação \(só para Windows\)
+
+
+ - **\-hbl\[=<output>\]** nome\-de\-arquivo \.hbl resultante\. A macro %\{hb\_lng\} é aceita no nome\-de\-arquivo\.
+ - **\-lng=<languages>** lista de idiomas à serem substituidos nas macros %\{hb\_lng\} nos arquivos \.pot/\.po e nos nomes de arquivos de saída \.hbl/\.po\. Lista separada por vírgula:
+\-lng=en,hu\-HU,de
+ - **\-po=<output>** criar/atualizar arquivo \.po à partir dos fontes\. Se um arquivo \.po com o mesmo nome existir, o arquivo será mesclado\.
+ - **\-minipo\[\-\]** adicionar \(ou não\) a referência do número da versão do Harbour e o arquivo de origem ao \.po \(ativo por padrão\)
+ - **\-rebuildpo** recria o arquivo \.po removendo assim todas as entradas obsoletas no mesmo
+
+
+ - **\-hbx=\[<\.ch>\]** Create Harbour header \(in \.hbx format\) with all external symbols\. Empty parameter will disable it\.
+ - **\-autohbc=<\.ch:\.hbc>** <\.ch> is a header file name\. <\.hbc> is a \.hbc filename to be automatically included in case the header is found in any of the compiled sources\. \(EXPERIMENTAL\)
+
+
+ - **\-deppkgname=<d:n>** <d> is the name of the dependency\. <n> name of the package dependency\. Can be specified multiple times\.
+ - **\-depkeyhead=<d:h>** <d> is the name of the dependency\. <h> is the key header \(\.h\) of the package dependency\. Multiple alternative headers can be specified\.
+ - **\-depoptional=<d:f>** <d> is the name of the dependency\. <f> can be 'yes' or 'no', specifies whether the dependency is optional\. Default: no
+ - **\-depcontrol=<d:v>** <d> is the name of the dependency\. <v> is a value that controls how detection is done\. Accepted values: no, yes, force, nolocal, local\. Default: content of environment variable HBMK\_WITH\_<d>
+ - **\-depincroot=<d:r>** <d> is the name of the dependency\. Set <r> as root directory for paths specified in \-depincpath options\.
+ - **\-depincpath=<d:i>** <d> é o nome da dependêcia\. Adicione <i> para detectar o cabeçalho na lista de caminhos\.
+ - **\-depincpathlocal=<d:i>** <d> is the name of the dependency\. Add <i> to the header detection path list, where <i> is pointing to a directory local to the project and containing an embedded \(aka\. 'locally hosted'\) dependency\.
+ - **\-depimplibs=<d:dll>** <d> é o nome da dependencia\. Adicione <dll> para importar a biblioteca na lista de fontes\.
+ - **\-depimplibd=<d:lib>** <d> é o nome da dependência\. Coloque no nome da biblioteca de importação para <lib>
+ - **\-depfinish=<d>** <d> is the name of the dependency\. Closes the dependency definition and does the actual dependency detection, setting all predefined filter macro variables and build options accordingly\. Optional, if omitted, detection will take place after processing all options\.
+
+
+ - **\-plugin=<filename>** add plugin\. <filename> can be: \.hb, \.prg, \.hrb
+ - **\-pi=<filename>** pass input file to plugins
+ - **\-pflag=<f>** pass single flag to plugins
+
+Opções abaixo estão disponíveis em linha de comando:
+
+
+ - **\-target=<script>** specify a new build target\. <script> can be \.prg \(or no extension\) or \.hbp file\. Note that \.hbp files are automatically considered as separate targets\.
+
+
+ - **\-hbrun** executar alvo
+ - **\-hbraw** interromper após executar o compilador Harbour
+ - **\-hbcmp|\-clipper** interromper após criar os arquivos objetos
+criar um link ou copiar o hbmk2 para hbcmp/clipper resultará no mesmo efeito
+ - **\-hbcc** accept raw C flags
+create link/copy hbmk2 to hbcc for the same effect
+ - **\-hblnk** parâmetros específicos do linkeditor\.
+ - **\-autohbm\[\-\]** enable \(or disable\) processing of hbmk\.hbm in current directory \(default: yes\)
+ - **\-hb10** habilita modo de compatibilidade 'Harbour 1\.0\.x'
+ - **\-hb20** habilita modo de compatibilidade 'Harbour 2\.0\.x'
+ - **\-hb30** habilita modo de compatibilidade 'Harbour 3\.0\.x'
+ - **\-xhb** habilitar modo xHb
+ - **\-hbc** ativa modo C puro
+ - \-rtlink
+ - \-blinker
+ - **\-exospace** emula o comportamento de um linkeditor compatível com clipper
+criar um link ou copiar o hbmk2 para rtlink/blinker/exospace resultará no mesmo efeito
+
+
+ - **\-hbreg\[=global\]** register Harbour Script \(\.hb\) with hbmk2 \(Windows only\)
+ - **\-hbunreg\[=global\]** Harbour Script \(\.hb\) não registrado hbmk2 \(somente para Windows\)
+
+
+ - **\-find <text>** lists all known Harbour functions that contain <text> in their name, along with their package \(case insensitive, accepts multiple values, can contain wildcard characters\)
+
+
+ - **\-hbmake=<file>** converte um projeto do hbmake em um arquivo \.hbp
+ - **\-xbp=<file>** converte um projeto \.xbp \(xbuild\) em um arquivo \.hbp
+ - **\-xhp=<file>** converte um projeto \.xhp \(xMate\) em um arquivo \.hbp
+
+
+ - **\-\-hbdirbin** exibe o diretório dos binários do Harbour
+ - **\-\-hbdirdyn** exibe o diretório das bibliotecas dinâmicas do Harbour
+ - **\-\-hbdirlib** exibe o diretório das bibliotecas estáticas do Harbour
+ - **\-\-hbdirinc** exibe o diretório dos headers do Harbour
+ - **\-\-hbinfo\[=nested\]** output Harbour build information\. Output is in JSON format\. The included paths always contain forward slashes\. Each JSON block is followed by an 0x0A byte\.
+
+
+ - **\-plat=<platform>** override default target platform \(default: automatic\)
+ - **\-cpu=<cpu>** override default target CPU \(default: automatic\) \(EXPERIMENTAL\)
+ - **\-comp=<compiler>** override C compiler autodetection
+Special value:
+ \- bld: use original build settings \(default on \*nix\)
+ - **\-build=<name>** utilizar um nome de build especifico
+ - **\-lang=<lang>** Sobrescrever a linguagem padrão\. <lang> está em formato de código ISO\.
+ - **\-width=<n>** ajuste a largura de saída para <n> caracteres \(0=ilimitado\)\.
+ - **\-shl** exibir niveis de sub\-projeto nas linhas de saída
+ - **\-viewhelp** long help in text viewer
+ - **\-longhelp** ajuda detalhada
+ - **\-longhelpmd** long help in [Markdown](http://daringfireball.net/projects/markdown/) format
+ - **\-harbourhelp** Harbour compiler help \(all Harbour compiler options are accepted as is by hbmk2\)
+ - **\-credits** Harbour compiler credits
+ - **\-build** Compilador Harbour \(build\)
+ - **\-version** exibir somente o cabeçalho com a versão do hbmk
+
+Options below are internal/developer ones \(compatibility not guaranteed\):
+
+
+ - **\-debugtime** measure time spent on the build
+ - **\-debuginc** display internals of incremental build
+ - **\-debugstub** display content of all internally generated source files
+ - **\-debugi18n** display internals on translation file generation
+ - **\-debugdepd** display internals of dependency detection
+ - **\-debugpars** display all input parameters in processing order
+ - **\-debugrte** generate a run\-time error
+
+
+You can sym\-link/copy/rename hbmk2 to the following names to alter default mode of operation:
+
+
+ - **hbrun\*|\*hbrun** mode script runner / interactive shell
+ - **hbrund|hbrun\*d** rodando em modo script / debugador em "shell" interativo
+ - **harbour** mode \-hbraw \(emulate \- raw \- Harbour compiler\)
+ - **clipper** mode \-hbcmp \(emulate Clipper compiler\)
+ - **rtlink** modo \-rtlink \(emular linkeditor Clipper\)
+ - **exospace** modo \-rtlink \(emular linkeditor Clipper\)
+ - **blinker** modo \-rtlink \(emular linkeditor Clipper\)
+ - **\*10** option \-hb10
+ - **\*20** option \-hb20
+ - **\*30** option \-hb30
+ - **x\*** option \-xhb
+ - **hbcmp\*|\*hbcmp** modo \-hbcmp \(emular compilador Harbour produzindo um objeto binario "binary object"\)
+ - **hbcc\*|\*hbcc** mode \-hbcc \(emulate C compiler\)
+ - **hblnk\*|\*hblnk** mode \-hblnk \(emulate C linker\)
+ - **hbexe\*|\*hbexe** mode \-hbexe
+ - **hblib\*|\*hblib** mode \-hblib
+ - **hbdyn\*|\*hbdyn** mode \-hbdyn
+
+Files:
+
+
+ - **\*\.hbp** project file\. Can contain any number of command\-line options, which are expected to create an output\. Lines beginning with '\#' character are ignored, otherwise newline is optional and options are space separated, just like on the command\-line\. You must enclose option containing space in double quotes\. Each \.hbp file reference will be executed as a sub\-project\.
+ - **\*\.hbm** collection of options\. Can be used to collect common ones into a file and include that into project files\. Uses same format as \.hbp files\.
+ - **\*\.hbc** collection of options that accompany components \(aka 'libs', aka packages\)\. Use different syntax than command\-line and \.hbp/\.hbm files\. Lines beginning with '\#' character are ignored, each directive must be placed in separate lines\.
+ - **\*\.ch** if passed directly as a source file, it will be used as additional standard header
+ - **hbmk\.hbc** standard \.hbc file that gets automatically processed, if present\. Possible location\(s\) \(in order of precedence\) \[\*\]: %APPDATA%\\\.harbour, <hbmk2 diretório>
+ - **hbmk\.hbm** optional \.hbm file residing in current working directory, which gets automatically processed before other options
+ - **$hb\_pkg\_dynlib\.hbm** special \.hbm file embedded inside hbmk2\. It manages the details of creating a dynamic library \(in the style of Harbour contribs\)\.
+ - **$hb\_pkg\_install\.hbm** special \.hbm file embedded inside hbmk2\. It manages the details of installing targets and related package files to standard locations \(in the style of Harbour contribs\)\.
+
+
+ - **\*\.hb** Harbour script
+ - **\*\.hrb** Harbour portable binary \(aka precompiled Harbour script\)
+ - **hbstart\.hb** startup Harbour script for interactive Harbour shell\. It gets executed automatically on shell startup, if present\. Possible locations \(in order of precedence\) \[\*\]: \.\\, %APPDATA%\\\.harbour, <hbmk2 diretório>
+ - **shell plugins** \.hb and \.hrb plugins for interactive Harbour shell\. They may reside in \[\*\]: %APPDATA%\\\.harbour\\
+ - **\.hb\_history** stores command history for interactive Harbour shell\. You can disable history by making the first line 'no' \(without quotes and with newline\)\. Resides in \[\*\]: %APPDATA%\\\.harbour\\
+ - **hb\_extension** list of extensions to load in interactive Harbour shell\. One extension per line, part of line beyond a '\#' character is ignored\. Alternate filename on MS\-DOS: hb\_ext\.ini\. Resides in \[\*\]: %APPDATA%\\\.harbour\\
+
+Macro variables:
+
+
+ - **$\{hb\_root\}** directory of hbmk2
+ - **$\{hb\_dir\}** directory of the filename it is used in
+ - **$\{hb\_dirname\}** top directory of the filename it is used in
+ - **$\{hb\_name\}** name of the filename it is used in \(without directory and extension\)
+ - **$\{hb\_self\}** full filename it is used in
+ - **$\{hb\_curdir\}** current working directory
+ - **$\{hb\_tempdir\}** Diretório do Sistema Operacional para arquivos temporários
+ - **$\{hb\_targetname\}** name of the project \(without directory and extension\)\. Returns \.adhoc\. if there is not project file\.
+ - **$\{hb\_targettype\}** type of the project \(hbexe, hblib, hbdyn, hbdynvm, hbimplib, hbppo, hbhrb, hbcontainer\)
+ - **$\{hb\_plat\}** selected platform
+ - **$\{hb\_comp\}** selected C compiler
+ - **$\{hb\_comp\_ver\}** C compiler version
+ - **$\{hb\_build\}** build name
+ - **$\{hb\_cpu\}** selected CPU
+ - **$\{hb\_work\}** default base workdir name
+ - **$\{hb\_workdynsub\}** default workdir subdirectory for dynamic library targets
+ - **$\{hb\_dynprefix\}** dynamic library prefix
+ - **$\{hb\_dynsuffix\}** dynamic library suffix
+ - **$\{hb\_dynext\}** dynamic library extension
+ - **$\{hb\_ver\}** Versão do Harbour no formato de tres bytes em hexadecimal\. Por exemplo: 030200
+ - **$\{hb\_verstr\}** Harbour version in human readable format <major>\.<minor>\.<release><status>\. F\.e\.: 3\.2\.0dev
+ - **$\{hb\_major\}** Harbour major version number
+ - **$\{hb\_minor\}** Harbour minor version number
+ - **$\{hb\_release\}** Harbour release version number
+ - **$\{hb\_status\}** Harbour version status
+ - **$\{hb\_revision\}** Harbour revision
+ - **$\{hb\_host\_plat\}** Harbour host platform
+ - **$\{hb\_host\_plat\_unix\}** retorna '1' se o Harbour estiver hospedado numa plataforma compatível com \*nix
+ - **$\{hb\_bin\}** Harbour binary directory
+ - **$\{hb\_lib\}** diretório de bibliotécas estáticas Harbour
+ - **$\{hb\_lib3rd\}** Harbour 3rd party static library directory
+ - **$\{hb\_dyn\}** diretório de bibliotécas dinâmicas Harbour
+ - **$\{hb\_inc\}** Harbour header directory
+ - **$\{hb\_addons\}** Harbour add\-ons base directory
+ - **$\{hb\_first\}** name of source file that holds the entry function \(without directory and extension\)
+ - **$\{hb\_outputdir\}** directory of the output
+ - **$\{hb\_outputname\}** nome de saída \(sem a extensão\)
+ - **$\{hb\_level\}** sub\-project recursion level
+ - **$\{<depname>\}** returns the header directory of dependency <depname>, or '1' if it is not detected
+ - **$\{<envvar>\}** returna os valores das variáveis de ambiente <envvar>
+
+Filters \(you can combine and/or negate them\):
+
+
+ - **\{<platform>\}** target platform\. Where <platform> can be any value accepted by \-plat= option\.
+ - **\{<compiler>\}** target C compiler\. Where <compiler> can be any value accepted by \-comp= option\.
+ - **\{<cpu>\}** target CPU\. Where <cpu> can be any of: x86, x86\_64, ia64, arm, mips, sh
+ - **\{<targettype>\}** target type\. Where <targettype> is any of the values returned by macro variable $\{hb\_targettype\}\.
+ - **\{mt\}** target is multi\-threaded \(see \-mt option\)
+ - **\{st\}** target is single\-threaded \(see \-st option\)
+ - **\{gui\}** GUI target \(see \-gui option\)
+ - **\{std\}** alvo console \(veja opção \-console\)
+ - **\{debug\}** C level debugging is enabled \(see \-debug option\)
+ - **\{nodebug\}** Debugador nivel C está disabilitado \(veja a opção \-debug \)
+ - **\{shared\}** shared build \(see \-shared and related options\)
+ - **\{static\}** static build \(see \-static and related options\)
+ - **\{lngcpp\}** Forçado modo C\+\+ \(veja opção \-cpp \)
+ - **\{lngc\}** forçado modo C \(veja opção \-cpp\-\)
+ - **\{winuni\}** Modo Windows UNICODE \(WIDE\) \(veja opção \-winuni \)
+ - **\{winansi\}** Windows ANSI mode \(see \-winuni\- option\)
+ - **\{unix\}** target platform is \*nix compatible \(bsd, hpux, sunos, beos, qnx, android, vxworks, symbian, linux, darwin, cygwin, minix, aix\)
+ - **\{allwin\}** plataforma alvo é compátivel com Windows \(win, wce\)
+ - **\{allgcc\}** target C compiler belongs to gcc family \(gcc, mingw, mingw64, mingwarm, djgpp, gccomf, clang, open64, pcc\)
+ - **\{allmingw\}** compilador alvo C é mingw\* \(mingw, mingw64, mingwarm\)
+ - **\{allmsvc\}** target C compiler is msvc\* \(msvc, msvc64, msvcia64, msvcarm\)
+ - **\{allbcc\}** compilador alvo C é bcc\* \(bcc, bcc64\)
+ - **\{allpocc\}** target C compiler is pocc\* \(pocc, pocc64, poccarm\)
+ - **\{allicc\}** target C compiler is icc\* \(icc, iccia64\)
+ - **\{hb10\}** Harbour 1\.0\.x compatibility mode \(see \-hb10 option\)
+ - **\{hb20\}** Harbour 2\.0\.x compatibility mode \(see \-hb20 option\)
+ - **\{hb30\}** Harbour 3\.0\.x compatibility mode \(see \-hb30 option\)
+ - **\{xhb\}** xhb mode \(see \-xhb option\)
+ - **\{hb\_ispath='<file|dir>'\}** o filtro será passado no arquivo <file> ou <dir> diretório se existir no disco\.
+ - **\{MACRO\}** filter will pass if $\{MACRO\} value is not empty and not equal to '0' or 'no' \(case insensitive\)
+ - **\{MACRO='<value>'\}** filter will pass if $\{MACRO\} value equals to <value> \(case insensitive\)\.
+ - **\{MACRO>'<value>'\}** filter will pass if $\{MACRO\} value is larger than <value> \(case insensitive\)\.
+ - **\{MACRO<'<value>'\}** filter will pass if $\{MACRO\} value is smaller than <value> \(case insensitive\)\.
+
+
+Predefined constants in sources:
+
+
+ - **\_\_HBSCRIPT\_\_HBMK\_PLUGIN** when an \.hb script is compiled as hbmk2 plugin
+ - **\_\_HBEXTREQ\_\_** when an \.hbx source file is present in a project \(available in Harbour sources\)
+ - **HBMK\_HAS\_<hbcname>** when <hbcname>\.hbc package is linked to the target\. The value is the version= value from the \.hbc file, converted to a decimal number, which is '1', if not specified\. \(available in Harbour sources\)
+ - **HBMK\_HAS\_<depname>** when <depname> dependency was detected \(available in C sources\)
+
+
+ - **\_\_HBSCRIPT\_\_HBSHELL** when a Harbour source file is run as a shell script
+ - **<standard Harbour>** \_\_PLATFORM\_\_\*, \_\_ARCH\*BIT\_\_, \_\_\*\_ENDIAN\_\_, etc\.\.\.
+
+
+Predefined constants in build files \(they are available after '\-depfinish=<depname>' / 'depfinish=<depname>'\):
+
+
+ - **HBMK\_HAS\_<depname>** when <depname> dependency was detected
+ - **HBMK\_DIR\_<depname>** return the header directory where <depname> was detected, or empty if it was not\.
+ - **HBMK\_HAS\_<depname>\_LOCAL** when <depname> dependency was detected in a location configured by \-depincpathlocal= option
+
+Environment variables:
+
+
+ - **HBMK\_OPTIONS** accepts any options as if they were passed in the beginning of the command\-line
+ - **HB\_PLATFORM** accepts same values as \-plat= option
+ - **HB\_COMPILER** accepts same values as \-comp= option
+ - **HB\_CPU** accepts same values as \-cpu= option
+ - **HB\_BUILD\_NAME** accepts same values as \-build= option
+ - **HB\_LANG** accepts same values as \-lang= option
+ - **HB\_USER\_LIBS** aceita os mesmos valores \(separados por espaços\) como opção \-l
+ - **HB\_USER\_LIBPATHS** aceita os mesmos valores \(separados por espaços\) como opção \-L
+ - **HB\_USER\_PRGFLAGS** opções a serem passados para o compilador Harbour \(antes da linha de comando\)
+ - **HB\_USER\_CFLAGS** options to be passed to C compiler \(before command\-line options\)
+ - **HB\_USER\_RESFLAGS** options to be passed to resource compiler \(before command\-line options\) \(Windows only\)
+ - **HB\_USER\_LDFLAGS** options to be passed to linker \(executable\) \(before command\-line options\)
+ - **HB\_USER\_DFLAGS** options to be passed to linker \(dynamic library\) \(before command\-line options\)
+ - **HB\_USER\_AFLAGS** options to be passed to linker \(static library\) \(before command\-line options\)
+ - **HB\_COMPILER\_VER** override C compiler version autodetection \(gcc and msvc compiler families only\)\. Format: <15><00>\[\.<00>\] = <major><minor>\[\.<revision>\]
+ - **HB\_CCPATH** override C compiler executable directory \(gcc compiler families only\)
+ - **HB\_CCPREFIX** override C compiler executable prefix \(gcc compiler families only\)
+ - **HB\_CCSUFFIX** override C compiler executable suffix \(gcc compiler families only\)
+ - **HB\_INSTALL\_PREFIX** override Harbour base installation directory
+ - **HB\_INSTALL\_ADDONS** override Harbour base add\-ons directory
+
+
+ - **HB\_EXTENSION** space separated list of extensions to load in interactive Harbour shell
+
+\.hbc directives \(they should be written in separate lines\):
+
+
+ - **echo=<msg>** display <msg>
+ - **skip=\[<msg>\]** skip processing the rest of the \.hbc file\. Display <msg>, if specified\.
+ - **stop=\[<msg>\]** stop the build\. Display <msg>, if specified\.
+ - **sources=** add space separated list of files as input files
+ - **headers=** add space separated list of \.ch format headers as standard header
+ - **libs=** add space separated list of libraries \(see more at \-l option\)
+ - **frameworks=** add space separated list of frameworks \(Darwin only\)
+ - **requests=** add space separated list of symbols to force link to the target
+ - **syslibs=** add space separated list of libraries as system libraries \(before regular libraries\)
+ - **hbcs=** embed space separated list of \.hbc files\. Names without the extension is accepted\. These references are processed in place\.
+ - **autohbcs=** space separated list of values as in \-autohbc= option
+ - **libpaths=** space separated list of additional library paths
+ - **incpaths=** add space separated list of additional header paths \(for both Harbour and C\)
+ - **instfiles=** space separated list of values as in \-instfile= option
+ - **instpaths=** space separated list of values as in \-instpath= option
+ - **prgflags=** space separated list of values as in \-prgflag= option
+ - **cflags=** space separated list of values as in \-cflag= option
+ - **resflags=** space separated list of values as in \-resflag= option
+ - **ldflags=** space separated list of values as in \-ldflag= option
+ - **ldflags\+=** space separated list of values as in \-ldflag\+= option
+ - **dflags=** space separated list of values as in \-dflag= option
+ - **dflags\+=** space separated list of values as in \-dflag\+= option
+ - **pflags=** space separated list of values as in \-pflag= option
+ - **psources=** space separated list of values as in \-pi= option
+ - **gui=<bool>** 'yes' = \-gui, 'no' = \-std option
+ - **mt=<bool>** 'yes' = \-mt, 'no' = \-st option
+ - **pic=<bool>** 'yes' = \-pic, 'no' = \-pic\- option
+ - **shared=<bool>** 'yes' = \-shared, 'no' = \-static option
+ - **shareddef=<bool>** similar to shared=, but works only if shared/static mode was not set before
+ - **fullstatic=<bool>** 'yes' = \-fullstatic, 'no' = \-static option
+ - **debug=<bool>** 'yes' = \-debug, 'no' = \-debug\- option
+ - **optim=** 'yes' = \-optim, 'no' = \-optim\- option
+ - **nulrdd=<bool>** 'yes' = \-nulrdd, 'no' = \-nulrdd\- option
+ - **nodefgt=<bool>** 'yes' = \-nodefgt, 'no' = \-nodefgt\- option
+ - **map=<bool>** 'yes' = \-map, 'no' = \-map\- option
+ - **hbcppmm=<bool>** 'yes' = \-hbcpmm, 'no' = \-hbcpmm\- option
+ - **implib=<bool>** 'yes' = \-implib, 'no' = \-implib\- option
+ - **winuni=<bool>** 'yes' = \-winuni, 'no' = \-winuni\- option
+ - **strip=<bool>** 'yes' = \-strip, 'no' = \-strip\- option
+ - **run=<bool>** 'yes' = \-run, 'no' = \-run\- option
+ - **inc=<bool>** 'yes' = \-inc, 'no' = \-inc\- option
+ - **safe=<bool>** 'yes' = \-safe, 'no' = \-safe\- option
+ - **cpp=** mesmo que \-cpp= opções
+ - **warn=** mesmo que \-warn= opções
+ - **compr=** mesmo que \-compr= opções
+ - **head=** mesmo que \-head= opções
+ - **plugins=** space separated list of hbmk2 plugins to load
+ - **gt=<name>** mesmo que \-gt<name> opções
+ - **gtdef=<name>** set the default GT to be used
+ - **env=** mesmo que \-env: opções
+ - **deppkgname=** mesmo que \-deppkgname= opções
+ - **depkeyhead=** mesmo que \-depkeyhead= opções
+ - **depoptional=** mesmo que \-depoptional= opções
+ - **depcontrol=** mesmo que \-depcontrol= opções
+ - **depincroot=** mesmo que \-depincroot= opções
+ - **depincpath=** mesmo que \-depincpath= opções
+ - **depincpathlocal=** mesmo que \-depincpathlocal= opções
+ - **depimplibs=** mesmo que \-depimplibs= opções
+ - **depimplibd=** mesmo que \-depimplibd= opções
+ - **name=** Nome do Pacote
+ - **description=** descrição do pacote
+ - **version=<x\.y\.z>** package version number, where x,y,z >= 0 <= 255\. Defaults to 0\.0\.1, if not specified\.
+ - **keywords=** space separated list of keywords
+ - **licences=** space separated list of licenses
+ - **repository=** space separated list of source repository references
+
+
+Plugin API:
+\('hbmk' is the context variable received by the plugin entry function\)
+
+
+ - **hbmk\_Register\_Input\_File\_Extension\( hbmk, cExt \) \-> NIL**
+Register input file extension to be passed to plugin \(by default all unknown file extensions are passed to Harbour compiler\)\.
+ - **hbmk\_AddInput\_PRG\( hbmk, cFileName \) \-> NIL**
+Add a Harbour input file to the project\.
+ - **hbmk\_AddInput\_C\( hbmk, cFileName \) \-> NIL**
+Add a C input file to the project\.
+ - **hbmk\_AddInput\_CPP\( hbmk, cFileName \) \-> NIL**
+Add a C\+\+ input file to the project\.
+ - **hbmk\_AddInput\_RC\( hbmk, cFileName \) \-> NIL**
+Add a Windows resource input file to the project\.
+ - **hbmk\_AddInput\_OBJ\( hbmk, cFileName \) \-> NIL**
+Add a binary object file to the project\.
+ - **hbmk\_AddInput\_INSTFILE\( hbmk, cFileName, \[<cGroup>\] \) \-> NIL**
+Add a file to be installed, with an optional \-instpath= group name\.
+ - **hbmk\_OutStd\( hbmk, cText \) \-> NIL**
+Output text to stdout\.
+ - **hbmk\_OutErr\( hbmk, cText \) \-> NIL**
+Output text to stderr\.
+ - **hbmk\_OutStdRaw\( hbmk, \.\.\. \) \-> NIL**
+Output text to stdout without any formatting\.
+ - **hbmk\_OutErrRaw\( hbmk, \.\.\. \) \-> NIL**
+Output text to stderr without any formatting\.
+ - **hbmk\_Macro\( hbmk, <cMacro> \) \-> <cResult>**
+Evaluate hbmk2 macro expression\.
+ - **hbmk\_FNameEscape\( hbmk, cFileName \) \-> <cFileName>**
+Escape/quote filename for using it as external command parameter\.
+ - **hbmk\_PathSepToTarget\( hbmk, cFileName \) \-> <cFileName>**
+Convert filename to the format required for the target toolchain\.
+ - **hbmk\_PathSepToForward\( <cPath> \) \-> <cPath>**
+Convert filename to have forward slash directory separators\.
+ - **hbmk\_PathFromWorkdirToCWD\( hbmk \) \-> <cRelativePath>**
+Return relative path of \-workdir= value from current working directory\.
+ - **hbmk\_FindInPath\( <cFileName>, \[<xPath>\], \[<aExtDef>\] \) \-> <cFNFound> | NIL**
+Find file in <xPath> \(array or pathsep delimited string are accepted\) with list of <aExtDef> alternate extensions \(defaults to executable binaries\)\. Returns filename if found and NIL if not\.
+ - **hbmk\_FNameDirExtSet\( <cFileName>, \[<cDirNew>\], \[<cExtNew>\] \) \-> <cFileName>**
+Change directory and/or extension in filename\.
+ - **hbmk\_FuncNameEncode\( <cFuncName> \) \-> <cFuncNameEncoded>**
+Encode function name according to Harbour compiler rules for forming HB\_FUNC\(\) function names in C code\.
+ - **hbmk\_StrStripQuote\( cString \) \-> <cString>**
+Strip double quote enclosure from a string\.
+ - **hbmk\_ArrayToList\( <aList>, \[<cSeparator>\] \) \-> <cList>**
+Convert array of strings to a string\. Default separator is a single space\.
+
+
+Plugin variables:
+\('hbmk' context hash items, case\-sensitive, read\-only unless marked otherwise\)
+
+
+ - **"apiver"** API version as an integer
+ - **"cSTATE"** callback state\. Can be: 'init', 'pre\_all', 'pre\_prg', 'pre\_res', 'pre\_c', 'pre\_link', 'pre\_lib', 'pre\_cleanup', 'post\_build', 'post\_all'
+ - **"params"** array of parameters passed to plugins via \-pflag=/pi= options or having an extension registered via hbmk\_Register\_Input\_File\_Extension\(\)
+ - **"vars"** hash of plugin custom variables\. Writable, local to each plugin
+ - **"cPLAT"** \-plat value
+ - **"cCOMP"** \-comp value
+ - **"nCOMPVer"** see HB\_COMPILER\_VER envvar
+ - **"cCPU"** \-cpu value
+ - **"cBUILD"** \-build= value
+ - **"cOUTPUTNAME"** \-o value
+ - **"cTARGETNAME"** see $\{hb\_targetname\} macro
+ - **"cTARGETTYPE"** see $\{hb\_targettype\} macro
+ - **"lREBUILD"** \-rebuild option status
+ - **"lCLEAN"** \-clean option status
+ - **"lDEBUG"** \-debug option status
+ - **"lMAP"** \-map option status
+ - **"lSTRIP"** \-strip option status
+ - **"lDONTEXEC"** \-traceonly option status
+ - **"lIGNOREERROR"** \-ignore option status
+ - **"lTRACE"** \-trace option status
+ - **"lQUIET"** \-q option status
+ - **"lINFO"** \-info option status
+ - **"lBEEP"** \-beep option status
+ - **"lRUN"** \-run option status
+ - **"lINC"** \-inc option status
+ - **"cCCPATH"** see HB\_CCPATH envvar
+ - **"cCCPREFIX"** see HB\_CCPREFIX envvar
+ - **"cCCSUFFIX"** see HB\_CCSUFFIX envvar
+ - **"cCCEXT"** see HB\_CCEXT envvar
+ - **"cWorkDir"** \-workdir= value
+ - **"nExitCode"** Código de saída atual
+
+Shell API available in Harbour scripts:
+
+
+ - **hbshell\_gtSelect\( \[<cGT>\] \) \-> NIL**
+Switch GT\. Default \[\*\]: 'gtwin'
+ - **hbshell\_Clipper\(\) \-> NIL**
+Enable Clipper compatibility \(non\-Unicode\) mode\.
+ - **hbshell\_include\( <cHeader> \) \-> <lSuccess>**
+Load Harbour header\.
+ - **hbshell\_uninclude\( <cHeader> \) \-> <lSuccess>**
+Unload Harbour header\.
+ - **hbshell\_include\_list\(\) \-> NIL**
+Display list of loaded Harbour header\.
+ - **hbshell\_ext\_load\( <cPackageName> \) \-> <lSuccess>**
+Load package\. Similar to \#request PP directive\.
+ - **hbshell\_ext\_unload\( <cPackageName> \) \-> <lSuccess>**
+Descarregar pacote\.
+ - **hbshell\_ext\_get\_list\(\) \-> <aPackages>**
+List of loaded packages\.
+ - **hbshell\_DirBase\(\) \-> <cBaseDir>**
+DirBase\(\) not mapped to script\.
+ - **hbshell\_ProgName\(\) \-> <cPath>**
+ProgName\(\) not mapped to script\.
+
+
+Examples to start with hbmk2:
+
+
+ - **To run the interactive shell \('dot' prompt\)**
+$ hbmk2 \.
+ - **To run a Harbour script**
+$ hbmk2 myscript\.hb \[<parameter\[s\]>\]
+
+
+Examples to build and run Harbour portable binary \(aka precompiled Harbour script\):
+
+
+ - **To build**
+$ hbmk2 \-gh myscript\.hb
+ - **To run result of above**
+$ hbmk2 myscript\.hrb \[<parameter\[s\]>\]
+
+
+Examples to build a Harbour application:
+
+
+ - **To build one simple \.prg**
+$ hbmk2 hello\.prg
+ - **To build multiple \.prg sources into one application in incremental mode**
+$ hbmk2 mymain\.prg myfuncs\.prg \-inc
+ - **To build an application using a project file**
+$ hbmk2 myapp\.hbp
+ - **To build an application using incremental mode**
+$ hbmk2 myapp\.hbp \-inc
+ - **To build an application which uses a contrib package or 3rd party \(add\-on\) package that ships with an \.hbc file**
+$ hbmk2 myapp\.prg hbct\.hbc
+ - **To build an application which uses a raw library**
+$ hbmk2 myapp\.prg \-lmylib \-L<path\_to\_mylib>
+ - **To build an application which uses a Windows resource**
+$ hbmk2 mymain\.prg myres\.rc
+ - **To build an application which links against Harbour dynamic libraries**
+$ hbmk2 \-shared myapp\.prg
+ - **To build an application out of all \.prg and \.c sources residing in 'source' subdir**
+$ hbmk2 \-omyapp src/\*\.prg src/\*\.c
+
+
+Examples to build a Harbour static library:
+
+
+ - **To build library 'mylib' from sources**
+$ hbmk2 \-hblib mylibsrc\.prg \-omylib
+ - **To build library 'mylib' from sources using incremental mode**
+$ hbmk2 \-hblib mylibsrc\.prg \-omylib \-inc
+
+Exit codes \("errorlevels"\):
+
+
+ - **0** no error
+ - **1** unknown platform
+ - **2** unknown compiler
+ - **3** failed Harbour detection
+ - **5** failed stub creation
+ - **6** failed in compilation \(Harbour, C compiler, Resource compiler\)
+ - **7** Falha na montagem final \(linker ou gerenciador de bibliotecas\)
+ - **8** unsupported
+ - **9** Falhou na criação do diretório de trabalho
+ - **19** help
+ - **10** dependency missing or disabled
+ - **20** inicialização de plugin
+ - **30** too deep nesting
+ - **50** stop requested
+ - **<other>** when \-run option is used, the exit code will be the one returned by the target executable
+
+Notas:
+
+
+ - <script> can be:
+ <@script> or <script\.hbm>: command\-line options in file
+ <script\.hbp>: command\-line options in file, it also marks a new target if specified on the command\-line
+ <script\.hbc>: package configuration file
+ - Source filename without extension will load the \.hbp file, if such \.hbp file exists in current directory\. If not, \.prg extension will be used\.
+ - Multiplos parâmetros \-l, \-L, \-i e <script> são aceitos\.
+ - Opções usadas com o compilador Harbour também são aceitas\.
+ - O arquivo de configuração hbmk\.hbc no diretório do hbmk2 sempre ser processado caso exista\. Em plataformas \*nix este arquivo é sempre procurado nas pastas ~/\.harbour, /etc/harbour, <base>/etc/harbour, <base>/etc \(exatamente nesta ordem\) antes da pasta que contém o hbmk2\.
+ - O script hbmk\.hbm no diretório atual será sempre processado se existir\.
+ - Using forwards slashes is recommended in option values as directory separator, but backslashes are also equally accepted\.
+ - Os filtros para plataformas são aceitos para cada uma das linhas de um arquivo \.hbc e possuem diversas opções\.
+Formato de um filtro: \{\[\!\]\[<arquitetura>|<compilador>|<cpu>|<palavra\-chave>\]\}\. Os filtros podem ser combinados usando os operadores '&', '|' e agrupados por parênteses\. Ex\.: \{win\}, \{gcc\}, \{linux|darwin\}, \{win&\!pocc\}, \{\(win|linux\)&\!watcom\}, \{unix&mt&gui\}, \-cflag=\{win\}\-DMYDEF, \-stop\{dos\}, \-stop\{\!allwin\}
+ - Most \.hbc lines \(libs=, hbcs=, prgflags=, cflags=, ldflags=, libpaths=, instfiles=, instpaths=, echo=\) and corresponding command\-line parameters will accept macro variables\. libpaths= also accepts %\{hb\_name\} which translates to the name of the \.hbc file under search\.
+ - Opções aceitando macros também suportam linhas de comando\. Neste caso basta rodeiar o comando dentro de \`\`, e, se o comando contiver espaço, também adicione aspas duplas\. i\.e\. "\-cflag=\`wx\-config \-\-cflags\`", ou ldflags=\{unix&gcc\}"\`wx\-config \-\-libs\`"\.
+ - When multiple target type selection options \(\-hblib, \-hbdyn, etc\.\) are specified, the first one will be significant, the rest will be silently ignored\.
+ - Libraries and object files built with/for CA\-Cl\*pper will not work with any supported platform/compiler\.
+ - Defaults and feature support may vary by platform/compiler\.
+ - GNU Make or any C compiler specific make tool and MSYS \(on Windows\) are not needed to run hbmk2\.
+ - \. \(dot\) passed as first parameter will enter the interactive Harbour shell\.
+
+
+ - \.hb, \.hrb or \.dbf file passed as first parameter will be run as Harbour script\. If the filename contains no path components, it will be searched in current working directory and in PATH\. If not extension is given, \.hb and \.hrb extensions are searched, in that order\. \.dbf file will be opened automatically in shared mode and interactive Harbour shell launched\. Non\-standard extensions will be autodetected for source and precompiled script types\. Note, for Harbour scripts, the codepage is set to UTF\-8 by default\. The default core header 'hb\.ch' is automatically \#included\. The default date format is the ISO standard: yyyy\-mm\-dd\. The default GT is 'gtcgi', unless full\-screen CUI calls are detected, when 'gtwin' \[\*\] is automatically selected \(except for INIT PROCEDUREs\)\.
+ - You can use key <Alt\+V> in interactive Harbour shell to paste text from the clipboard\.
+ - Values marked with \[\*\] may be host platform and/or configuration dependent\. This help was generated on 'win' host platform\.
+
+
+Valores suportados para <compiler> conforme a <platform> disponível:
+
+
+ - **linux** gcc, clang, icc, watcom, sunpro, open64
+ - **darwin** gcc, clang, icc
+ - **win** mingw, msvc, clang, bcc, bcc64, watcom, icc, pocc, xcc, mingw64, msvc64, msvcia64, iccia64, pocc64
+ - **wce** mingwarm, mingw, msvcarm, poccarm
+ - **os2** gcc, gccomf, watcom
+ - **dos** djgpp, watcom
+ - **bsd** gcc, clang, pcc
+ - **hpux** gcc
+ - **beos** gcc
+ - **qnx** gcc
+ - **android** gcc, gccarm
+ - **vxworks** gcc, diab
+ - **symbian** gcc
+ - **cygwin** gcc
+ - **minix** clang, gcc
+ - **aix** gcc
+ - **sunos** gcc, sunpro
+
+License:
+
+
+ This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+\(at your option\) any later version\.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\. See the
+GNU General Public License for more details\.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc\., 675 Mass Ave, Cambridge, MA 02139, USA \(or visit
+their web site at http://www\.gnu\.org/\)\.
+
+License extensions:
+ \- This source code must be kept and distributed as part
+ of the Harbour package and/or the placement of the tool sources
+ and files must reflect that it is part of Harbour Project\.
+ \- Copyright information must always be presented by
+ projects including this tool or help text\.
+ \- Modified versions of the tool must clearly state this
+ fact on the copyright screen\.
+ \- Source code modifications shall always be made available
+ along with binaries\.
+ \- Help text and documentation is licensed under
+ Creative Commons Attribution\-ShareAlike 3\.0:
+ http://creativecommons\.org/licenses/by\-sa/3\.0/
+
+
+Author:
+
+
+ - Viktor Szakáts \(harbour syenar\.net\)
diff --git a/utils/hbmk2/hbmk2.hbp b/utils/hbmk2/hbmk2.hbp
index c343c5275f..c643dbfb25 100644
--- a/utils/hbmk2/hbmk2.hbp
+++ b/utils/hbmk2/hbmk2.hbp
@@ -22,7 +22,7 @@ hbmk2.prg
po/hbmk2.%{hb_lng}.po
-hbl=hbmk2.%{hb_lng}.hbl
--lng=el,es,hu,it,pt_BR
+-lng=el,es,fr,hu,it,pt_BR
# not using these together with .rc input, because some compilers (mingw)
# do not support multiple .rc inputs