Harbour Make (hbmk2) 3.2.0dev (Rev. 18805) Copyright (c) 1999-2013, Viktor Szak ts http://harbour-project.org/ 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]> Opções -o<outname> nome de arquivo de saída -l<libname> linkar com a biblioteca <libname>. <libname> deve omitir path, extensão e o prefixo 'lib' (… menos que faça parte do nome-de-arquivo). -L<libpath> path adicional para pesquisar por bibliotecas -i<p>|-incpath=<p> paths adicionais para pesquisa de arquivos headers -static|-shared linkar com bibliotecas estáticas/compartilhadas -mt|-st linkar com suporte multi ou single-thread na HVM -gt<name> linkar com o driver GT selecionado. Este parâmetro GT<name> pode ser especificado mais de uma vez e o primeiro driver GT informado ser o padrão no tempo de execução -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 criar biblioteca dinâmica -hbimplib create import library
-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 otimizações do compilador C (ativado por padrão) -cpp[-] forçar compilação em modo C/C++ -cpp=<value> select C++ mode. Allowed values are: 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) -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> gera um arquivo .ch com informações do repositório local. SVN, CVS, Git, Mercurial, Bazaar, Fossil e Monotone estão entre as ferramentas atualmente suportadas. O arquivo gerado conter a diretiva _HBMK_VCS_TYPE_ com o nome do VCS detectado e _HBMK_VCS_ID_ com o unique ID do repositório local -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> seta o ícone para o aplicativo. <file> deve possuir um formato compatível com a plataforma de destino -manifest=<file> embed manifest <file> in executable/dynamic lib (Windows only) -sign=<key> sign executable with <key> (Windows and Darwin only) -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 don't 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 separatorm, 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. -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>] 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) -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) -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) -aflag=<f> passa flag para o linkeditor (lib estática) -dflag=<f> informar flags para o linkeditor (biblioteca dinƒnica) -iflag=<f> pass single flag to import library creation command -prgflag=<f> especifica flags para o Harbour -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. -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> 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 rebuild with sub-projects (in incremental build mode) -clean compilação limpa (em modo de compilação incremental) -workdir=<dir> working directory (default: .hbmk/plat/comp in incremental mode, OS temp directory otherwise)
-hbl[=<output>] nome-de-arquivo .hbl resultante. A macro %{hb_lng} ‚ aceita no nome-de-arquivo. -lng=<languages> lista de idiomas … serem substituídos 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 depedency. 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 envvar 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> is the name of the dependency. Add <i> to the header <d:i> detection path list, where <i> is pointing to a directory local to the project and containing an embedded (or 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>
-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 only:
-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 enable Harbour 2.0.x compatibility mode -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] unregister Harbour Script (.hb) from hbmk2 (Windows only)
-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> force/select target platform (default: autodetection) -comp=<compiler> force/select C compiler (default: autodetection) Special value: - bld: use original build settings (default on *nix) -cpu=<cpu> select target CPU. (EXPERIMENTAL) -build=<name> utilizar um nome de build especifico -lang=<lang> sobrepor o idioma padrão. Semelhante … variavel HB_LANG. -width=<n> set output width to <n> characters (0=unlimited). -shl show sub-project level in output lines --version exibir somente o cabeçalho com a versão do hbmk
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 - 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. - .hbc options (they should come in separate lines): libs=[<libname[s]>], hbcs=[<.hbc file[s]>], gt=[gtname], syslibs=[<libname[s]>], frameworks=[<framework[s]>], prgflags=[Harbour flags], cflags=[C compiler flags], resflags=[resource compiler flags], ldflags=[linker flags], pflags=[flags for plugins], libpaths=[paths], sources=[source files], headers=[Harbour header files], psources=[source files for plugins], incpaths=[paths], requests=[func], instfiles=[files], instpaths=[paths], autohbcs=[<.ch>:<.hbc>], plugins=[plugins], gui|mt|pic|shared|nulrdd|nodefgt|debug|opt|map|strip|hbcppmm|winuni|implib| run|inc=[yes|no], cpp=[yes|no|def], warn=[max|yes|low|no|def], compr=[yes|no|min|max], head=[off|full|native|dep], skip=<reason>, stop=<reason>, echo=<text> Lines starting with '#' char are ignored - 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}, {allwin|allmsvc|allgcc|allmingw|allicc|allbcc|allpocc|unix}, {x86|x86_64|ia64|arm|mips|sh}, {debug|nodebug|gui|std|mt|st|shared|static|winuni|winansi|xhb} - Algumas opções do .hbc (libs=, hbcs=, prgflags=, cflags=, ldflags=, libpaths=, instfiles=, instpaths=, echo=) e seus correspondentes parƒmetros de linha-de-comando aceitam as seguintes macros: ${hb_root}, ${hb_dir}, ${hb_dirname}, ${hb_name}, ${hb_self}, ${hb_curdir}, ${hb_tempdir}, ${hb_targetname}, ${hb_targettype}, ${hb_plat}, ${hb_comp}, ${hb_comp_ver}, ${hb_build}, ${hb_cpu}, ${hb_work}, ${hb_workdynsub}, ${hb_dynprefix}, ${hb_dynsuffix}, ${hb_dynext}, ${hb_ver}, ${hb_verstr}, ${hb_major}, ${hb_minor}, ${hb_release}, ${hb_status}, ${hb_revision}, ${hb_host_plat}, ${hb_host_plat_unix}, ${hb_bin}, ${hb_lib}, ${hb_lib3rd}, ${hb_dyn}, ${hb_inc}, ${hb_first}, ${hb_outputdir}, ${hb_outputname}, ${hb_level}, ${<envvar>}. libpaths= tamb‚m aceitam %{hb_name} que se traduz como 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`". - Libraries and object files built with/for CA-Cl*pper won't work with any supported platform/compiler. - Defaults and feature support may vary by platform/compiler. - As opções tamb‚m podem ser especificados na vari vel de ambiente HBMK_OPTIONS - .hb or .hrb file passed as first parameter will be run as Harbour script. Note, for Harbour scripts, the codepage is set to UTF-8 by default. - . (dot) passed as first parameter will enter the interactive Harbour shell.
Valores suportados para <comp> conforme a <plat> 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 : gcc, clang, ack - aix : gcc - sunos : gcc, sunpro
|
Preciso saber como criar uma .LIB com o Harbour 3.0.
ResponderExcluirCriei o seguinte .hbp:
# SIBRAHB3
-inc
-b
-m
-rebuild
-hblib
-oSIBRAHB3
SIUVERAO.PRG
SUBSIBRA.PRG
Entretanto, criou um arquivo libSIBRAHB3.a
Quero criar SIBRAHB.LIB
Utitilze o Barland C para compilar a sua .lib.
ResponderExcluir