Olá Asimoes,
Vou postar como eu uso, talvez não seja a melhor maneira, mas tem me atendido muito bem. Como tenho vários ambientes de compilação como Windows, Linux, Bcc55,Bcc58,Bcc60,MSVC, MINGW e etc... Então defino o meu PATH de compilação na hora da própria compilação de cada aplicativo.
Secript Genérico para todas os ambientes de compilação:
script.hbc
Código: Selecionar todos
{bcc|allmsvc|allmingw}libs=hwgui procmisc hbmzip hbziparc hbct hbtip hbwin xhb hbhpdf libhpdf libpng hbblat blat hbgd bgd
{allmingw}libs=libhwgui libprocmisc libhbmzip libhbziparc libhbct libhbtip libhbwin libxhb libhbhpdf liblibhpdf liblibpng libhbblat libblat libhbgd libbgd
{win}gt=gtgui
libpaths=${hrb_dir}\contrib\hwgui\lib
incpaths=${hrb_dir}\contrib\hwgui\include
run=yes
Esse arquivo SCRIPT.HBC eu apenas coloco dentro da pasta junto com os .PRG do meu projeto e tenho um .BAT que chamo de: COMP.BAT que tem a seguinte linha:
Esse .BAT e esse .HBC eu uso para compilar meu projeto com BCC, MSVC e MINGW sem mudar uma letra, apenas chamo o ambiente que vou compilar com outro .BAT que são os exemplos abaixo:
Exemplo BCC :
Código: Selecionar todos
@echo off
SET PATH=%PATH%;d:\devel\BCC55\BIN;d:\devel\BCC55\LIB;d:\devel\BCC55\LIB\PSDK;d:\devel\BCC55\INCLUDE;d:\devel\hb-bcc\bin;d:\devel\hb-bcc\lib;d:\devel\hb-bcc\include;d:\devel\BISON\BIN
SET INCLUDE=%INCLUDE%;d:\devel\Bcc55\include;d:\devel\hb-bcc\include
SET LIB=%LIB%;d:\devel\Bcc55\lib;d:\devel\BCC55\LIB\PSDK;d:\devel\hb-bcc\lib
SET HRB_DIR=d:\devel\hb-bcc
SET HB_INC_PGSQL=d:\pgsql\include
%SystemRoot%\system32\cmd.exe
Exemplo MSVC:
Código: Selecionar todos
@echo off
cd\devel
cd msvc\VC
call vcvarsall.bat"
cd\sygecom\sistema
SET PATH=d:\devel\hb-msvc\bin;d:\devel\hb-msvc\lib;d:\devel\hb-msvc\include;%PATH%
SET INCLUDE=%INCLUDE%;d:\devel\hb-msvc\include
SET LIB=%LIB%;d:\devel\hb-msvc\lib
SET HRB_DIR=d:\devel\hb-msvc
SET HB_INC_PGSQL=d:\pgsql\include
%SystemRoot%\system32\cmd.exe
Exemplo Mingw:
Código: Selecionar todos
@echo off
SET PATH=%PATH%;d:\devel\MINGW\BIN;d:\devel\MINGW\LIB;d:\devel\MINGW\INCLUDE;d:\devel\hb-mingw\bin;d:\devel\hb-mingw\lib;d:\devel\hb-mingw\include
SET INCLUDE=%INCLUDE%;d:\devel\MINGW\include;d:\devel\hb-mingw\include
SET LIB=%LIB%;d:\devel\MINGW\lib;d:\devel\hb-mingw\lib
SET HB_PATH=d:\devel\hb-mingw
SET HRB_DIR=d:\devel\hb-mingw
SET HB_INC_PGSQL=d:\pgsql\include
SET HB_INC_BLAT=D:\devel\blat262\full\source
%SystemRoot%\system32\cmd.exe
Resumindo, chamo o .BAT do ambiente que quero compilar e depois apenas executo o COMP.BAT que já está tudo pré definido e sai compilando, e detalhe sem precisar apagar OBJ para recompilar com ambientes diferentes por que o HBMK2 já gerencia isso automaticamente. E o HBMK2 identifica automaticamente esse arquivo .HBC
Depois tem em outros projetos que uso algumas linhas no script.hbc que é um pouco diferente, como por exemplo se eu desejar compilar junto um .PRG que está em outra pasta diferente do meu projeto coloco a seguinte linha no script.hbc:
Se pegar o Help do HBMK2 tem muitas outras facilidades que ajuda no dia a dia, mas cada caso é um caso, outra coisa boa do HBMK2 é que não precisa definir o .LIB em cada nome de LIB que no caso posso usar o mesmo script para linux também. Alias em Linux o HBMK2 compila muito mas muito rápido mesmo, talvez seja o harbour que está rápido mas comparando ao hbmake do xHarbour digo que fica uns 70% mais rápido na hora de compilar em Linux.