MyMake
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
MyMake
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.
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/
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/
- ctoas
- Usuário Nível 2

- Mensagens: 52
- Registrado em: 09 Mai 2005 16:22
- Localização: São Paulo
- Contato:
MyMake
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
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
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
MyMake
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.
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
MyMake
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.
Só compilar, e clicar nas linhas com erro, se existirem.
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
MyMake
O mesmo, mas agora com XHarbour.
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
MyMake
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.
- 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.
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
MyMake
Comentário adicional....
Lembra da propaganda: vai na loja do posto Ipiranga...
No PNotepad é... vai no TOOLS, OPTIONS..... rs
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/
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

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
MyMake
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
Y Listo!
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
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
MyMake
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
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
MyMake
Vamos compilar FIVEWIN.
hbmk2 *.prg FIVEWIN.HBC
Qual a dificuldade nisso?
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
MyMake
O que uso pra compilar:
O build.prg criei pra recursos não existentes no HBMK2, e pra facilitar
Limpar pasta TEMP ao trocar de projeto
Criar/atualizar o CH com número de versão
Acrescentar alguns defaults, conforme o local, por exemplo LIBs gráficas ou assinar
E por fim o arquivo de projeto, no formato do HBMK2, que pode conter projeto e subprojetos.
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....
Código: Selecionar todos
------- C.BAT------
d:\cdrom\FONTES\build\build.exe %*
VERDADE ESTE PODE SER O BAT
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
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 )
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
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
MyMake
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 !!!!
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/
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/