MyMake

Discussão sobre a biblioteca Fivewin - O Clipper para Windows.

Moderador: Moderadores

Avatar do usuário
ctoas
Usuário Nível 2
Usuário Nível 2
Mensagens: 52
Registrado em: 09 Mai 2005 16:22
Localização: São Paulo
Contato:

MyMake

Mensagem por ctoas »

Boa noite.

Alguém teria e poderia me enviar o MyMake do amigo Vailton?

Se possível enviar no email christiano.silveira@gmail.com

Obrigado
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

MyMake

Mensagem por JoséQuintas »

Porque não o HBMK2?
O que o MyMake tem de diferente?

<Editado>
Nota: não vi o fórum quando postei, mas tá valendo mesmo assim.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
ctoas
Usuário Nível 2
Usuário Nível 2
Mensagens: 52
Registrado em: 09 Mai 2005 16:22
Localização: São Paulo
Contato:

MyMake

Mensagem por ctoas »

Olá José Quintas, bom dia.

Se não estou enganado o HBMK2 é para harbour e o MyMake é para xHarbour.

Além do MyMake ser muito fácil e parecido com a xDev que já uso a muito tempo e do amigo Vailton.

Pena que o site dele que tinha as ferramentas não esta mas online.

[]'s
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

MyMake

Mensagem por JoséQuintas »

O HBMK2 pode ser usado pra Harbour ou xHarbour.
Só que ele tem o Harbour embutido, então no XHarbour precisa acrescentar -xhb
Usando -xhb ele usa um harbour.exe externo e tratamento pra xHarbour.

Todas as vantagens dele no Harbour ficam disponíveis no XHarbour.
Lista de funções das LIBs, documentação, criar programas multi-language, etc.
É muito mais do que um make, por isso o EXE é grande.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

MyMake

Mensagem por JoséQuintas »

E num uso mais avançado, no Programmers Notepad como exemplo, transforma o editor de texto numa mini IDE.
Só compilar, e clicar nas linhas com erro, se existirem.
hbmk2.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

MyMake

Mensagem por JoséQuintas »

O mesmo, mas agora com XHarbour.
hbmk2x.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

MyMake

Mensagem por Kapiaba »

Mister quintas, este OutPut no Notepad, é um .Bat que chama o HBMK2.exe? E se eu quero vários .PRGs?

Obg. abs.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

MyMake

Mensagem por JoséQuintas »

Na prática eu não uso nada desses recursos do Programmers Notepad.

- Tem opção de criar projetos, com lista de arquivos e tudo
- Tem opção de cadastrar ferramentas, gerais, por projeto, ou por linguagem de programação
- Nessa configuração você diz como deve ser o comando.

POR BAT NÃO DÁ, porque o PNotepad precisa capturar a saída, e BAT não é uma opção.
toolsoptions.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

MyMake

Mensagem por JoséQuintas »

Comentário adicional....

Lembra da propaganda: vai na loja do posto Ipiranga...

No PNotepad é... vai no TOOLS, OPTIONS..... rs
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

MyMake

Mensagem por Kapiaba »

ok. Thanks. Não vejo qual é a vantagem de se compilar com um Editor ou com a Xdev.exe por exemplo, seria apenas para dizer que compila em um progama for windows? Uso um .BAT e um .LNK e é 2 palitos para compilar. Não troco por nada, nem pela a nova IDE do Fivewin. Muita chatisse parar configurar. Precisa de aula, tutoria e o diano. Pura perda de tempo. Mesmo assim, many thanks.

CX.BAT

Código: Selecionar todos

@Echo On
Cls
ECHO ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
ECHO ³ FiveWin for xHarbour 17.01 - Jan. 2017          xHarbour development power ³Ü
ECHO ³ (c) FiveTech 1993-2016 for Microsoft Windows 9X/NT/200X/ME/XP/Vista/7/8/10 ³Û
ECHO ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÛ
ECHO ÿ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß

Echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
Echo ³ FiveWin For xHarbour 17.01 Jan. 2017           Contato Sistemas Ltda.      ³Ü
Echo ³ Aguarde um Momento, Compilando Aplica‡Æo 32 Bits, Processamento Demorado   ³Û
Echo ³ CopyRight(c) JoÆo@2007 - Todos os Direitos Reservados.  BUSCAINC 32 Bits.  ³Û
Echo ³ Agradecimentos Especiais - Gilmer Tavares - Virtual Objects Informatica    ³Û
Echo ³ vendas@fivewin.com.br - suporte@fivewin.com.br - gilmer@fivewin.com.br     ³Û
Echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÛ
Echo ÿ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß

Echo  .
Echo  Aguarde... Compilando os Modulos do Programa... Processamento Demorado
Echo  Gerando o Arquivo ERRO.LOG, em Caso de Duvidas, Consulte-o. Borland C.

Rem Localizacao dos Paths
Set hdir=C:\XHBBCC72
Set bcdir=C:\bcc72
Set fwhdir=C:\FwH1701
Set GT=gtgui

@If Exist *.Bak        Del *.Bak
@If Exist *.Obj        Del *.Obj
@If Exist *.Log        Del *.Log
@If Exist *.Map        Del *.Map
@If Exist *.PPO        Del *.Ppo
@If Exist *.TDS        Del *.TDS
@If Exist *.C          Del *.C

If Exist BUSCAINC.Exe Del BUSCAINC.Exe

%hdir%\bin\harbour BUSCAINC /m/n/w/es1/gc1 /i%fwhdir%\include;%hdir%\include;%bcdir%\include /w0 /p > Erro.log 2> warnings.log

REM -> Area dos Arquivos Gerados na Linguagem C Pelo [x]Harbour
%bcdir%\bin\bcc32 -M -c -v -O2 -eBUSCAINC.exe  -I%hdir%\include -I%bcdir%\include BUSCAINC.C       >> Erro.log

If ErrorLevel 1 Type Erro.log | More
If ErrorLevel 1 Goto Exit

%bcdir%\bin\BRC32.EXE -R XPLOOK.RC

:ENDCOMPILE

%bcdir%\bin\ilink32 -Gn -aa -Tpe -s @Cx.Lnk

Echo .
Echo * Applicacao Foi Desenvolvida com sucesso
Echo .
Echo .
Echo * Aguarde um Momento, Compactando Aplicacao, Usando o PEC2.EXE
Echo .
REM \UPX\UPX.EXE -9 BUSCAINC.EXE - MUDEI PARA O AVG NAO RECLAMAR.
C:\UPX\UPX BUSCAINC.exe --compress-exports=0 --lzma --force --no-reloc
REM ESTE E PAGO
REM C:\PECOMPACT\PEC2 /NB /EMP:Y /TM:Y /CR:N /MC BUSCAINC.EXE
Echo .
Echo * Aplicativo Foi Compactado Com Sucesso - Aguarde Execucao.
Echo .
Echo * Aguarde, Executando o Aplicativo, Gerado Com Sucesso Absoluto *
REM BUSCAINC
Goto Exit
Echo
cls
:EXIT
Y Listo!
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

MyMake

Mensagem por Kapiaba »

CX.LNK

Código: Selecionar todos

C:\bcc72\lib\c0w32.Obj              +
BUSCAINC.OBJ,                       +
BUSCAINC.exe,                       +
BUSCAINC.map,                       +
C:\FWH1701\lib\FiveHX.lib           +
C:\FWH1701\lib\FiveHC.lib           +
C:\XHBBCC72\lib\hbzip.Lib           +
C:\XHBBCC72\lib\zlib.Lib            +
C:\XHBBCC72\lib\rtl.Lib             +
C:\XHBBCC72\lib\vm.Lib              +
C:\XHBBCC72\lib\gtgui.Lib           +
C:\XHBBCC72\lib\lang.Lib            +
C:\XHBBCC72\lib\macro.Lib           +
C:\XHBBCC72\lib\rdd.Lib             +
C:\XHBBCC72\lib\dbfntx.Lib          +
C:\XHBBCC72\lib\dbfcdx.Lib          +
C:\XHBBCC72\lib\debug.Lib           +
C:\XHBBCC72\lib\common.Lib          +
C:\XHBBCC72\lib\tip.Lib             +
C:\XHBBCC72\lib\pp.Lib              +
C:\XHBBCC72\lib\dbffpt.Lib          +
C:\XHBBCC72\lib\codepage.Lib        +
C:\XHBBCC72\lib\HbSix.Lib           +
C:\XHBBCC72\lib\PcRepos.Lib         +
C:\XHBBCC72\Lib\ct.Lib              +
C:\XHBBCC72\Lib\png.Lib             +
C:\Bcc72\lib\cw32.Lib               +
C:\Bcc72\lib\psdk\msimg32.Lib       +
C:\Bcc72\lib\psdk\odbc32.Lib        +
C:\Bcc72\lib\psdk\rasapi32.Lib      +
C:\Bcc72\lib\psdk\nddeapi.Lib       +
C:\Bcc72\lib\psdk\psapi.Lib         +
C:\Bcc72\lib\psdk\gdiplus.lib       +
C:\Bcc72\lib\psdk\iphlpapi.Lib      +
c:\Bcc72\lib\psdk\shell32.lib       +
C:\Bcc72\lib\import32.Lib,
BUSCAINC.RES
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

MyMake

Mensagem por Kapiaba »

Em tempo:

Precisa de aula, tutorial e o diabo a quatro. kkkkkkkkkkkkkkkkkkkkkk

Skype do vailtom: vailtom

Eu poderia pedir o MyMake.exe, mas não vou. Para mim, ele não nega nada.

Obg. abs.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

MyMake

Mensagem por JoséQuintas »

Vamos compilar FIVEWIN.

hbmk2 *.prg FIVEWIN.HBC

Qual a dificuldade nisso?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

MyMake

Mensagem por JoséQuintas »

O que uso pra compilar:

Código: Selecionar todos

------- C.BAT------
d:\cdrom\FONTES\build\build.exe %*
VERDADE ESTE PODE SER O BAT
O build.prg criei pra recursos não existentes no HBMK2, e pra facilitar

Limpar pasta TEMP ao trocar de projeto

Código: Selecionar todos

   IF ! Upper( cLastPath ) == Upper( hb_cwd() )
      DeleteContent( "c:\temp", .F. )
      DeleteContent( "c:\users\joseq\appdata\local\temp", .F. )
   ENDIF
Criar/atualizar o CH com número de versão

Código: Selecionar todos

   cTxt := "#define JOSEQUINTAS_VERSAO    " + ["]  + Transform( cDateTime, "@R 9999.99.99.9999" ) + ["] + hb_Eol()
   cTxt += "#define JOSEQUINTAS_VERSAO_RC  " + Transform( cDateTime, "@R 9999,99,99,9999" ) + hb_Eol()
   hb_MemoWrit( cFileName + ".ch", cTxt )

   cTxt := XmlTag( "BuildNum", Ltrim( Str( nBuildNum ) ) ) + hb_Eol()
   cTxt += XmlTag( "LastPath", hb_cwd() ) + hb_Eol()
   cTxt += XmlTag( "BuildDate", Dtos( Date() ) ) + hb_Eol()
   cTxt += XmlTag( "BuildTime", Time() ) + hb_Eol()

   hb_MemoWrit( cFileName + ".xml", cTxt )
   Compile( aParams )
Acrescentar alguns defaults, conforme o local, por exemplo LIBs gráficas ou assinar

Código: Selecionar todos

STATIC FUNCTION Compile( aParams )

   LOCAL oElement, cPath, cCmd := ""

   cPath := Upper( hb_cwd() )

   DO CASE
   CASE "\HMGE\"  $ cPath ; AAdd( aParams, "hmge.hbc" )
   CASE "\HMG3\"  $ cPath ; AAdd( aParams, "hmg3.hbc" )
   CASE "\OOHG"   $ cPath ; AAdd( aParams, "oohg.hbc" )
   CASE "\HWGUI\" $ cPath ; AAdd( aParams, "hwgui.hbc" )
   ENDCASE
   IF Len( aParams ) != 0 .AND. aParams[ 1 ] == "/cmd"
      hb_ADel( aParams, 1, .T. )
   ELSEIF Len( Directory( "*.hbp" ) ) != 0
      AAdd( aParams, "*.hbp" )
   ELSEIF Len( Directory( "*.prg" ) ) != 0
      Aadd( aParams, "*.prg" )
      AAdd( aParams, "*.rc" )
   ELSE
      ? hb_cwd()
      Inkey(0)
   ENDIF
   AAdd( aParams, "-m" )
   AAdd( aParams, "-n" )
   IF ! "\ALLGUI\" $ cPath
      IF aScan( aParams, { | e | Left( e, 2 ) == "-w" } ) == 0
         AAdd( aParams, "-w3" )
      ENDIF
      IF aScan( aParams, { | e | Left( e, 3 ) == "-es" } ) == 0
         AAdd( aParams, "-es2" )
      ENDIF
   ENDIF
   AAdd( aParams, "-workdir=c:\temp" )
   AAdd( aParams, "-compr" )
   AAdd( aParams, "-strip" )
   AAdd( aParams, "-mt" )
   AAdd( aParams, "-quiet" )
   //AAdd( aParams, "-q0" )
   AAdd( aParams, "-ge1" )
   AAdd( aParams, "-I" + hb_FNameDir( hb_ProgName() ) )
   cCmd += "HBMK2 "
   FOR EACH oElement IN aParams
      cCmd += oElement + " "
   NEXT
   cCmd := ;
      hb_ProgName() + " %*" + hb_Eol() + ;
      cCmd + hb_Eol()
   DO CASE
   CASE "\SJPA\"     $ cPath .AND. File( "..\sjpa.exe" );  cCmd += "assina ..\sjpa.exe" + hb_Eol()
   CASE "\HAROLDO\"  $ cPath .AND. File( "hl.exe" );       cCmd += "assina hl.exe" + hb_Eol()
   CASE "\LABOROIL\" $ cPath .AND. File( "nfe.exe" );      cCmd += "assina nfe.exe" + hb_Eol()
   CASE "\BUILD\"    $ cPath .AND. File( "build.exe" );    cCmd += "assina build.exe" + hb_Eol()
   CASE "\INTEGRA\"  $ cPath .AND. File( "jpa.exe" );      cCmd += "assina jpa.exe" + hb_Eol()
   ENDCASE
   hb_MemoWrit( "d:\tools\util\c.bat", cCmd )

   RETURN NIL
E por fim o arquivo de projeto, no formato do HBMK2, que pode conter projeto e subprojetos.

Código: Selecionar todos

#josequintas\josequintas.hbp
#sefazclass\sefazclass.hbp

josequintas\main\jpa.prg
*.prg
josequintas\prg\*.prg

-oJPA
jpa.rc

josequintas.hbc
hbnetio.hbc

-workdir=c:\temp
-m
-n
-es2
-w3
-compr
-inc
-strip
-mt
-quiet
-jobs={NUMBER_OF_PROCESSORS}
-ge1
-i.
-i..\build
-beep

#----------- nos tempos do W98
#-winuni

Só digito C <ENTER> a não ser que seja algo fora do normal.

Isso funciona pra MINGW, BCC, MSVC, seja o que for - Lógico, BCC não, porque Harbour 3.4 não compila em BCC, e mesmo se compilasse eu não usaria BCC. MSVC funciona porque ainda tenho aqui instalado, mas não uso.

c -comp=msvc
c -comp=bcc
c -comp=mingw

eventualmente uso:
c /cmd fonteprg

ou

hbmk2 fonte.prg

ou nas pastas de samples de OOHG, HMG, HMG EXtended, HWGUI

c oohg.hbc

se usasse fivewin....

c fivewin.hbc

isso se não tiver HBP já criado....
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

MyMake

Mensagem por JoséQuintas »

Passo a passo:

hbmk2 *.prg *.c *.rc -oaplicativo fivewin.hbc -xhb

*.prg -> os fontes PRG da pasta
*.c -> os fontes C da pasta
*.rc -> os arquivos de resource RC da pasta
-oaplicativo -> de algum jeito precisa identificar o nome do EXE
fivewin.hbc -> configurações específicas de fivewin
-xhb -> caso não seja o Harbour default embutido no HBMK2, XHarbour por exemplo

Se fosse arquivo de projeto HBP

---file.hbp---
*.prg
*.c
*.rc
-oaplicativo
fivewin.hbc
-xhb

hbmk2 file.hbp -comp=bcc

Esse -comp=bcc é opcional, somente se não for usado o padrão, ou se não estiver configurado em
HB_COMPILER=bcc

E tem uma necessidade antiga, que LIBs esquecem, e todos esquecem, mesmo no Harbour 3.4 ainda tem certa necessidade disso
HB_INSTALL_PREFIX=d:\harbour

Basicamente no HBMK2 é a lista de fontes, seja direto no comando ou dentro de um HBP
Se tiver lib.... -lnome L minúsculo
se precisa path de lib... -Lpath L maiúsculo
se precisa de pasta de include... -ipasta

Isso não é invenção do HBMK2, são EXATAMENTE os parâmetros usados no Harbour ou Compilador C
Não precisa configurar o compilador BCC, com aquele ILINK32.CFG e BCC32.CFG.

A VANTAGEM ADICIONAL que as LIBs não usam: HBC
Pode ser configurada a LIB toda num arquivo HBC, pra não precisar dentro de tudo que é projeto.
Inclusive detalhes específicos, que não dá pra fazer por MAKE ou outro.

fivewin.... não foge da regra.

libs=nome de libs
libpaths=path de libs
incpaths=path de includes

pra fivewin, que mistura tudo que é lib em uma pasta só, ainda dá pra melhorar, pra escolher a LIB conforme o compilador C

{bcc}libs=fivewinbcc
{mingw}libs=fivewinmingw
{msc}libs=fivewinbcc
libpaths=c:\fivewin\lib\
libs=sefazclass.hbc

no projeto em fivewin, vai bastar acrescentar fivewin.hbc

Então criou o fivewin.hbc, resolveu TODOS os projetos em fivewin, até mesmo se usado numa IDE.

O básico do HBMK2 é simples: lista do que vai compilar
Mas tem uma infinidade de recursos, úteis, até mesmo ajuda pra quando dá erro de compilação, coisa que no XHarbour é complicada.

Pensando bem, talvez esteja explicado o problema com CreateObject no XHarbour:
Como ninguém usa HBMK2, os BATs simplesmente acrescentam TUDO QUE É LIB que existe, com funções repetidas, só pra linquedição funcionar.
E aí... funções repetidas... nunca se sabe qual vai ser executada pelo EXE !!!!
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder