Arquivo HBC com HbMk2
Enviado: 16 Mai 2014 15:26
Toledo, Alex...hbmk2 demo.prg hbct.hbc -b -lhbwin
O que é hbmk2 e qual a diferença dele pro 1 e pro 3?
-LHBWIN? Is this chinese or what? "hbct.hbc -b"? Sorcery?
Sério, eu me perdi.
Toledo, Alex...hbmk2 demo.prg hbct.hbc -b -lhbwin
No caso das libs do Contribs, os arquivos HBC vão indicar quais as libs que serão usadas na compilação.alxsts escreveu:Em hbct.hbc (isto ainda estou pesquisando) creio que informe ao linker que é para linkar uma lib da contrib do Harbour
As expressões ${_HB_DYNPREF}, ${hb_name} e ${_HB_DYNSUFF} são macros variáveis, pois como o HbMk2 pode ser usado com vários compiladores e em várias plataformas, então estas macros vão compatibilizar o nome das libs para qualquer dos compiladores e plataforma.description=HBZIPARC compatibility (zip compression)
libs=${_HB_DYNPREF}${hb_name}${_HB_DYNSUFF}
libs=hbmzip.hbc
Então fica bem mais fácil informar o arquivo hbziparc.hbc na compilação, do que ter que indicar várias libs: -lhbziparc -lhbmzip -lminizipdescription=minizip wrapper (zip compression)
incpaths=.
headers=${hb_name}.ch
libs=${_HB_DYNPREF}${hb_name}${_HB_DYNSUFF}
libs=3rd/minizip/minizip.hbc
Abraços,${hb_root} diretório de hbmk2
${hb_dir} diretório de nome de arquivo é usado em
${hb_dirname} nome do diretório raiz dos arquivos em uso
${hb_name} é usado para nomear o arquivo (sem diretório e extensão)
${hb_self} nome completodo arquivo que está em uso
${hb_curdir} diretório de trabalho atual
${hb_tempdir} Diretório do Sistema Operacional para arquivos temporários
${hb_targetname} nome do projeto (sem a diretório e extensão). Retorna .adhoc. se não existir arquivo de projeto.
${hb_targettype} tipo do projeto (hbexe, hblib, hbdyn, hbdynvm, hbimplib, hbppo, hbhrb, hbcontainer)
${hb_plat} plataforma selecionada
${hb_comp} compilador 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 diretório base de trabalho
${hb_workdynsub} subdiretório padrão de trabalho para bibliotecas dinâmicas de destino
${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. 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} número da versão secundária Harbour
${hb_release} número da versão Harbour liberada
${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} nome do arquivo do fonte que detém a função de entrada (sem diretório e extensão)
${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>} retorna o diretório header da dependência <depname>, ou ´1´se ela não foi detectada.
${<envvar>} returna os valores das variáveis de ambiente <envvar>