- contrib/hbrun/doc/hbrun.md
- utils/hbmk2/doc/hbmk2.md
- deleted files uploaded accidentally
* config/lang.hb
! fixed last minute bug in adding extension to doc file
! fixed being wrongly based, now should be as passed option
relative to cwd (was self dir)
hbrun está habilitado a rodar scripts Harbour \(ambos fonte e pré\-compilado\), e dispõe também de um "prompt shell" interativo\.
Opções abaixo estão disponíveis em linha de comando:
- **\-\-hb:debug** ativar debugação de script
- **\-help** esta ajuda
- **\-viewhelp** help completo em formato "text viewer"
- **\-longhelp** ajuda detalhada
- **\-longhelpmd** help completo em formato [Markdown](http://daringfireball.net/projects/markdown/)
Arquivos:
- **\*\.hb** script Harbour
- **\*\.hrb** Harbour binario portável \(Também conhecida como Harbour script pré\-compilado\)
- **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\\
Constantes pré\-definidas nos fontes:
- **\_\_HBSCRIPT\_\_HBSHELL** quando um programa fonte Harbour está rudando como "shell script"
- \.hb, \.prg, \.hrb ou \.dbf arquivo passado como primeiro parâmetro irá rodar como Script Harbour\. Se o nome do arquivo não contiver componentes do "path", ele será procurado no diretório de trabalho atual e no "PATH"\.Se não é dada extensão, \.hb e \.hrb serão pesquisados nessa ordem\. arquivos \.dbf serão abertos no modo compartilhado "shared" e o "shell" interativo Harbour será lançado\. Extensões não padronizadas serão detectadas para fontes e e tipos de script pré\-compilados\. Nota, para Scripts Harbour, a pagina de códigos "codepage" será em UTF\-8 por padrão\. O nucleo padrão de cabeçalhos 'hb\.ch' será automaticamente incluido\. O formato da data será "aaaa\-mm\-dd" padrão "ISO"\. O Gt padrão é 'gtcgi', a menos que as chamadasCUI de tela cheia seja detectadas, quando 'gtwin' \[\*\] será automaticamente selecionado \(exeto para "INIT PROCEDUREs"\)\.
- Voce pode usar <Alt\+V> no "shell do Harbour" para colar um texto do clipboard\.
- Values marked with \[\*\] may be host platform and/or configuration dependent\. This help was generated on 'win' host platform\.
Licença:
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
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>** linkar com GT<name> GT driver, a linkagem pode ser repetido com mais GTs\. O primeiro será o GT padrão na execuçao do programa
- **\-inc\[\-\]** habilita/desabilitar o modo de compilação incremental \(padrão: desbilitado\)
- **\-hbexe** criar um executável \(padrão\)
- **\-hblib** criar biblioteca estática
- **\-hbdyn** criar biblioteca dinâmica \(não ligada com a Harbour VM\)
- **\-hbdynvm** criar biblioteca dinâmica \(ligada com a Harbour VM\)
- **\-mt|\-st** linkar com suporte multi ou single\-thread na HVM
- **\-gui|\-std** criar um executável GUI/console
- **\-main=<mainfunc>** sobrepor o nome inicial das função/procedures
- **\-request=<func>** forçar a linkagem da função/procedure
- **\-fullstatic** linkar com todas as bibliotecas estáticas
- **\-pic\[\-\]** criar posição independente do código objeto \(sempre habilitado no modo \-hbdyn/\-hbdynvm\)
- **\-\[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\[\-\]** Criar \(ou não\) uma biblioteca importação \(no modo \-hbdyn/\-hbexe\)\. O nome terá um sufixo adicionado\.
- **\-implib=<output>** Criar biblioteca importação \(no modo \-hbdyn/\-hbexe\) nomeado para <output> \(padrão: com o mesmo\)
- **\-ln=<link>** criar um link simbólico apontando para <output> \(<link> é considerado em relação ao <output>\)
- **\-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\[\-\]** sobrepor o as funções padrão C\+\+ de gerenciamento de memoria pelas do Harbour
- **\-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\[\-\]** Não link GTs padrão \(o modo \-static é mais eficaz\)
- **\-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=<level>** define o nível de aviso do compilador C
<level> 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=<level>** comprimir executável/lib dinamica \(precisa programa UPX\)
<level> pode ser: yes, no, min, max
- **\-run\[\-\]** executar/não executar o aplicativo gerado\.
- **\-vcshead=<file>** gerar arquivo de cabeçalho "\. ch" com informações do repositório local\. Git, SVN, Mercurial, Bazaar, Fossil, CVS e Monotone são suportados atualmente\. O cabeçalho gerado irá definir a constante \_HBMK\_VCS\_TYPE\_ no pré\-processador com o nome detectados de VCS e \_HBMK\_VCS\_ID\_ com o ID único do repositório local\. Se nenhum sistema VCS é detectado, um número seqüencial será lançado automaticamente em cada construção\.
VCS \- sistema de controle de versão\.
- **\-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>** incorporar arquivo manifest <file> no executável / lib dinâmica \(somente para 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>** usar <pw> como senha ao assinar executável \(somente Windows e Darwin\)
- **\-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 file\(s\) 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 os arquivo\(s\) para o destino do caminho de instalação mesmo que já atualizados
- **\-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>** linkar com <framework> framework \(somente Darwin\)
- **\-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>** passar um unico "flag" para criar o comando de impotação de bibliotecas
- **\-signflag=<f>** passar um único "flag" para criar o comando "code sign"
- **\-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>** passar uma unica opção "raw" para linkar \(executável\), após a lista da biblioteca\. Use com cuidado\.
- **\-dflag\+=<f>** passar uma unica opção "raw" para linkar \(biblioteca dinâmica\), após a lista da biblioteca\. Use com cuidado\.
- **\-3rd=<f>** "options/flags" reservado para ferramentas de terceiros, sempre ignorado por hbmk2
- **\-env:<e>\[<o>\[<v>\]\]** alterar as variáveis locais de ambiente\. <e>é o nome da variável a ser alterada\. <o> pode ser '=' para definir/sobrepor, '\-' para apagar, '\+' to adicionar ao fim do valor existente, '\#' para inserir o valor inicialização da variável\. <v> é o valor a ser definido/adicionardo/inserido "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** recriar \(em modo incremental\)
- **\-rebuildall** recriar com os sub\-projetos \(em modo incremental\)
- **\-clean** compilação limpa \(em modo de compilação incremental\)
- **\-workdir=<dir>** diretório de trabalho
\(padrão: \.hbmk/<platform>/<compiler> \[\*\] no modo incremental, outra forma diretório temporário do sistema operacional "OS temp directory"\)
- **\-hbcontainer** virtual build 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> é o nome da dependencia\. <f> pode ser 'yes' or 'no', especifica se a dependência é opcional\.
Padrão: 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>** adicionar plugin\. <filename> pode ser: \.hb, \.prg, \.hrb
- **\-pi=<filename>** passar arquivo de entrada paraplugins
- **\-pflag=<f>** passar um unico "flag" paraplugins
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 build targets\.
- **\-hbrun** executar programa gerado\.
- **\-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** aceita raw C flags
cria link/copia hbmk2 para hbcc para o mesmo efeito
- **\-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\]** registre Harbour Script \(\.hb\) com hbmk2 \(somente para Windows\)
- **\-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** saída do diretório de binarios Harbour para stdout
- **\-\-hbdirdyn** saída do diretório de bibliotéca dinâmica Harbour para stdout
- **\-\-hbdirlib** saída do diretório de bibliotécas estáticas Harbour para stdout
- **\-\-hbdirinc** saída do diretório Harbour header para stdout
- **\-\-hbinfo\[=nested\]** output Harbour build information to stdout\. Output is in JSON format\. The included paths always contain forward slashes\. Each JSON block is followed by an 0x0A byte\.
- **\-plat=<platform>** sobrepor a plataforma padrão \(padrão: automatic\)
- **\-cpu=<cpu>** sobrepor o destino da CPU padrão \(padrão: automatic\) \(EXPERIMENTAL\)
- **\-comp=<compiler>** sobrepor auto\-detecção do compilador C
VAlores especiais:
\- bld: use as definições da versão original \(padrão em \*nix\)
- **\-build=<name>** especificar um nome de 'build'
- **\-lang=<lang>** Sobrepor 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** help completo em formato "text viewer"
- **\-longhelp** ajuda detalhada
- **\-longhelpmd** help completo em formato [Markdown](http://daringfireball.net/projects/markdown/)
- **\-harbourhelp** Ajuda do compilador Harbour \(todas as opções do compilador Harbour serão aceitas como hbmk2\)
- **\-credits** créditos compilador Harbour
- **\-build** Compilador Harbour \(build\)
- **\-version** exibir somente o cabeçalho com a versão do hbmk
Opções abaixo são " internal/developer ones" \(compatibilidade não garantida\):
- **\-debugtime** medir o tempo gasto na contrução\.
- **\-debuginc** exibir as partes internas da compilação incremental
- **\-debugstub** exibir o conteúdo de todos os arquivos fontes gerados internamente
- **\-debugi18n** exibir o conteúdo da geração de arquivo de tradução
- **\-debugdepd** exibir a dependência interna da detecção
- **\-debugpars** exibir todos os parâmetros de entrada na ordem de processamento
- **\-debugrte** gerar um "run\-time error" erro de tempo de execução
É possível "sym\-link/copy/rename" hbmk2 para os seguintes nomes para alterar o modo padrão de operação:
- **hbrun\*|\*hbrun** rodando em modo script / "shell" interativo
- **hbrund|hbrun\*d** rodando em modo script / debugador em "shell" interativo
- **harbour** modo \-hbraw \(emular \- raw \- compilador Harbour\)
- **clipper** modo \-hbcmp \(emular compilador Clipper\)
- **rtlink** modo \-rtlink \(emular linkeditor Clipper\)
- **exospace** modo \-rtlink \(emular linkeditor Clipper\)
- **blinker** modo \-rtlink \(emular linkeditor Clipper\)
- **\*10** opções \-hb10
- **\*20** opções \-hb20
- **\*30** opções \-hb30
- **x\*** opções \-xhb
- **hbcmp\*|\*hbcmp** modo \-hbcmp \(emular compilador Harbour produzindo um objeto binario "binary object"\)
- **hbcc\*|\*hbcc** modo \-hbcc \(emular compilador C\)
- **hblnk\*|\*hblnk** modo \-hblnk \(emular linkeditor C\)
- **hbexe\*|\*hbexe** modo \-hbexe
- **hblib\*|\*hblib** modo \-hblib
- **hbdyn\*|\*hbdyn** modo \-hbdyn
Arquivos:
- **\*\.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** o arquivo opcional \.hbm residente no diretório de trabalho atual será processado automaticamente antes das outras opções
- **$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 build targets and related package files to standard locations \(in the style of Harbour contribs\)\.
- **\*\.hb** script Harbour
- **\*\.hrb** Harbour binario portável \(Também conhecida como Harbour script pré\-compilado\)
- **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\\
Variáveis macro:
- **$\{hb\_root\}** directório de hbmk2
- **$\{hb\_dir\}** diretório de nome de arquivo é usado em
- **$\{hb\_dirname\}** diretório raiz do nome de arquivo é usado em
- **$\{hb\_name\}** nomeie o nome de arquivo ele é usado \(sem diretório e extensão\)
- **$\{hb\_self\}** nome completo que é usado em
- **$\{hb\_curdir\}** diretório de trabalho atual
- **$\{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\}** plataforma selecionada
- **$\{hb\_comp\}** compilado C selecionado
- **$\{hb\_comp\_ver\}** versão do compilador C
- **$\{hb\_build\}** nome da construção "build"
- **$\{hb\_cpu\}** CPU selecionada
- **$\{hb\_work\}** nome padrão do diretorio de trabalho
- **$\{hb\_workdynsub\}** subdiretório padrão de trabalho para bibliotecas dinâmicas
- **$\{hb\_dynprefix\}** prefixo de biblioteca dinâmica
- **$\{hb\_dynsuffix\}** sufixo de biblioteca dinâmica
- **$\{hb\_dynext\}** extensão de biblioteca dinâmica
- **$\{hb\_ver\}** Versão do Harbour no formato de tres bytes em hexadecimal\. Por exemplo: 030200
- **$\{hb\_verstr\}** Versão do Harbour no formato legível por humanos <major>\.<minor>\.<release><status>\. Ex\.: 3\.2\.0dev
- **$\{hb\_major\}** número da versão principal Harbour
- **$\{hb\_minor\}** úmero da versão secundária Harbour
- **$\{hb\_release\}** número da versão Harbour
- **$\{hb\_status\}** status da versão Harbour
- **$\{hb\_revision\}** revisão Harbour
- **$\{hb\_host\_plat\}** plataforma de hospedagem Harbour
- **$\{hb\_host\_plat\_unix\}** retorna '1' se o Harbour estiver hospedado numa plataforma compatível com \*nix
- **$\{hb\_bin\}** diretório de binarios Harbour
- **$\{hb\_lib\}** diretório de bibliotécas estáticas Harbour
- **$\{hb\_lib3rd\}** diretório Harbour de bibliotécas estáticas de terceiros
- **$\{hb\_dyn\}** diretório de bibliotécas dinâmicas Harbour
- **$\{hb\_inc\}** diretório Harbour para header
- **$\{hb\_addons\}** diretório base para complementos "add\-ons" Harbour\.
- **$\{hb\_first\}** name of source file that holds the entry function \(without directory and extension\)
- **$\{hb\_outputdir\}** diretório de saída
- **$\{hb\_outputname\}** nome de saída \(sem a extensão\)
- **$\{hb\_level\}** nível de recursão do sub\-projeto
- **$\{<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>
Filtros \(você pode combinar e / ou negá\-los\):
- **\{<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>\}** CPU alvo\. Onde <cpu> pode ser qualquer uma dessas: x86, x86\_64, ia64, arm, mips, sh
- **\{<targettype>\}** tipo de construção alvo\. Onde <targettype> é qualquer um dos valores retornados por macro variável $\{hb\_targettype\}\.
- **\{mt\}** construção alvo é "multi\-threaded" \(veja opção \-mt\)
- **\{st\}** construção o alvo é "single\-threaded" \(veja opção \-st\)
- **\{allwin\}** plataforma alvo é compátivel com Windows \(win, wce\)
- **\{allgcc\}** o compilador C alvo pertence a família gcc\.\(gcc, mingw, mingw64, mingwarm, djgpp, gccomf, clang, open64, pcc\)
- **\{allmingw\}** compilador alvo C é mingw\* \(mingw, mingw64, mingwarm\)
- **\{allmsvc\}** compilador C alvo é msvc\* \(msvc, msvc64, msvcia64, msvcarm\)
- **\{allbcc\}** compilador C alvo é bcc\* \(bcc, bcc64\)
- **\{allpocc\}** compilador alvo C é pocc\* \(pocc, pocc64, poccarm\)
- **\{allicc\}** compilador alvo C é icc\* \(icc, iccia64\)
- **\{hb10\}** habilita modo de compatibilidade 'Harbour 1\.0\.x' \(veja opção \-hb10\)
- **\{hb20\}** habilita modo de compatibilidade 'Harbour 2\.0\.x' \(veja opção \-hb20\)
- **\{hb30\}** habilita modo de compatibilidade 'Harbour 3\.0\.x' \(veja opção \-hb30\)
- **\{xhb\}** modo xhb \(veja opção \-xhb\)
- **\{hb\_ispath='<file|dir>'\}** passará pelo filtro se o nome do arquivo <file> ou <dir> diretório existir no disco\.
- **\{MACRO\}** passará pelo filtro se o valor $\{MACRO\} não for vazio e não for igual a zero '0' ou 'no' \(maiúsculas e minúsculas "case insensitive"\)
- **\{MACRO='<value>'\}** passará pelo filtro se o valor $\{MACRO\} for igual a <value> \(maiúsculas e minúsculas "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\)\.
Constantes pré\-definidas nos fontes:
- **\_\_HBSCRIPT\_\_HBMK\_PLUGIN** quando um script \.hb é compilado como hbmk2 plugin
- **\_\_HBEXTREQ\_\_** quando um arquivo \.hbx está presente em um projeto \(disponível nos fontes do Harbour\)
- **HBMK\_HAS\_<hbcname>** when <hbcname>\.hbc package is linked to the build 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>** quando dependência <depname> foi detectada \(disponível nos fontes C\)
- **\_\_HBSCRIPT\_\_HBSHELL** quando um programa fonte Harbour está rudando como "shell script"
Predefined constants in build files \(they are available after '\-depfinish=<depname>' / 'depfinish=<depname>'\):
- **HBMK\_HAS\_<depname>** quando <depname> dependência foi detectada
- **HBMK\_DIR\_<depname>** retorna o diretório header onde <depname> foi detectada, ou vazio se não\.
- **HBMK\_HAS\_<depname>\_LOCAL** quando dependência <depname> foi detectada em um local configurado pela opção \-depincpathlocal
Variáveis de ambiente:
- **HBMK\_OPTIONS** accepts any options as if they were passed in the beginning of the command\-line
- **HB\_PLATFORM** aceita os mesmos valores que a opção \-plat=
- **HB\_COMPILER** aceita os mesmos valores que a opção \-comp=
- **HB\_CPU** aceita os mesmos valores que a opção \-cpu=
- **HB\_BUILD\_NAME** aceita os mesmos valores que a opção \-build=
- **HB\_LANG** aceita os mesmos valores que a opção \-lang=
- **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** opções a serem passados para o compilador C \(antes da linha de comando\)
- **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** sobrepor a versão de autodetecção do compilador C \(somente para compiladores da familia gcc e msvc\)\. Formato: <15><00>\[\.<00>\] = <major><minor>\[\.<revision>\]
- **HB\_CCPATH** sobrepor o diretório de execução do compilador C \(apenas para família de compilador gcc\)
- **HB\_CCPREFIX** sobrepor o prefixo do executável do compilador C \(apenas para família de compilador gcc\)
- **HB\_CCSUFFIX** sobrepor o sufixo executável do compilador C \(apenas para família de compilador gcc\)
- **HB\_INSTALL\_PREFIX** sobrepor o diretório base de instalação Harbour
- **HB\_INSTALL\_ADDONS** sobrepor o diretório base de instalação aducionais Harbour
- **HB\_EXTENSION** lista separada por espaço de extensões para carga no shell interativo do Harbour
diretivas \.hbc \(devem ser escritas em linhas separadas\):
- **echo=<msg>** Exibir <msg>
- **skip=\[<msg>\]** pular o processamento do resto do arquivo hbc\.\. Mostrar <msg>, se especificado\.
- **stop=\[<msg>\]** parar a geração\. Mostrar <msg>, se especificado\.
- **sources=** adicionar lista separada por espaços de arquivos de entrada
- **headers=** adicionar lista separada por espaços de arquivos "\.ch" tipo "headers"
- **libs=** adicionar lista separada por espaços de bibliotecas \(veja mais opções em \-l\)
- **frameworks=** adicionar lista separada por espaços de "frameworks" \(somente para Darwin\)
- **requests=** adicionar lista separada por espaços de símbolos para forçar a linkagem do programa
- **syslibs=** adicionar lista separada por espaços de bibliotecas como bibliotecas do sistema \(antes bibliotecas regulares\)
- **hbcs=** embed space separated list of \.hbc files\. Names without the extension is accepted\. These references are processed in place\.
- **autohbcs=** lista separada por espaço de opções de valores de entrada \-autohbc=
- **libpaths=** adicionar lista separada por espaços dos locais de bibliotecas adicionais
- **incpaths=** adicionar lista separada por espaços dos locais adicionais dos "header" \(para ambos Harbour e C\)
- **instfiles=** lista separada por espaço de opções de valores de entrada \-instfile=
- **instpaths=** lista separada por espaço de opções de valores de entrada \-instpath=
- **prgflags=** lista separada por espaço de opções de valores de entrada \-prgflag=
- **cflags=** lista separada por espaço de opções de valores de entrada \-cflag=
- **resflags=** lista separada por espaço de opções de valores de entrada \-resflag=
- **ldflags=** lista separada por espaço de opções de valores de entrada \-ldflag=
- **ldflags\+=** lista separada por espaço de opções de valores de entrada \-ldflag\+=
- **dflags=** lista separada por espaço de opções de valores de entrada \-dflag=
- **dflags\+=** lista separada por espaço de opções de valores de entrada \-dflag\+=
- **pflags=** lista separada por espaço de opções de valores de entrada \-pflag=
- **psources=** lista separada por espaço de opções de valores de entrada \-pi=
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\.
- **"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
- **7** Falha na montagem final \(linker ou gerenciador de bibliotecas\)
- **8** não suportado
- **9** Falhou na criação do diretório de trabalho
- **19** ajuda
- **10** dependência em falta ou desativada
- **20** inicialização de plugin
- **30** aninhamento muito profundo
- **50** solicitação de parada
- **<outros>** quando a opção \-run for usada, o código de saida será o código devolvido pelo executável de destino
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 build 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\}
- A maioria das linhas \.hbc \(libs =, HBCS =, prgflags =, cflags =, ldflags =, libpaths =, instfiles =, instpaths =, echo =\) e os parâmetros correspondentes de linha de comando aceitarão variáveis macro\. libpaths = também aceita%\{hb\_name\} que traduz o nome do arquivo\. hbc sob pesquisa\.
- 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 build 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\.
- Padrões e especificações suportadas podem variar de acordo com plataforma/compilador\.
- não necessita de qualquer ferrramenta make do compilador C, GNU Make e MSYS \(no Windows\) para rodar hbmk2\.
- \. \(dot\) passed as first parameter will enter the interactive Harbour shell\.
- \.hb, \.hrb ou \.dbf arquivo passado como primeiro parâmetro irá rodar como Script Harbour\. Se o nome do arquivo não contiver componentes do "path", ele será procurado no diretório de trabalho atual e no "PATH"\.Se não é dada extensão, \.hb e \.hrb serão pesquisados nessa ordem\. arquivos \.dbf serão abertos no modo compartilhado "shared" e o "shell" interativo Harbour será lançado\. Extensões não padronizadas serão detectadas para fontes e e tipos de script pré\-compilados\. Nota, para Scripts Harbour, a pagina de códigos "codepage" será em UTF\-8 por padrão\. O nucleo padrão de cabeçalhos 'hb\.ch' será automaticamente incluido\. O formato da data será "aaaa\-mm\-dd" padrão "ISO"\. O Gt padrão é 'gtcgi', a menos que as chamadasCUI de tela cheia seja detectadas, quando 'gtwin' \[\*\] será automaticamente selecionado \(exeto para "INIT PROCEDUREs"\)\.
- Voce pode usar <Alt\+V> no "shell do Harbour" para colar um texto do 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:
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/
Autor:
- Viktor Szakáts \(harbour syenar\.net\)
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.