Compilando con Make y hbmk2

Compilando con Make y hbmk2

Postby jose_murugosa » Wed Feb 28, 2024 5:42 pm

He podido compilar aplicaciones sin problemas con Borland Make y con HBmk2 ( a sugerencia de Antonio )
He visto que compilar con hbmk2 es más simple y más rápido
Pero si alguien como yo ha tenido dificultades para compilar con archivos make, les dejo ejemplo de ambas formas de compilar a la misma aplicación
Al igual que lo hizo Antonio conmigo, les recomiendo la opción con hbmk2 por los motivos que yo noté y seguramente habrán otros.

COMPILACION CON MAKE de Borland

Batch para compilar
Code: Select all  Expand view

C:\bcc7\bin\make.exe -frendimientos.mak
DEL rendimientos.TDS
DEL rendimientos.MAP
pause
 


Archivo .Mak
Code: Select all  Expand view

#Borland make sample, (c) FiveTech Software 2005-2024

#Modifique estas rutas de acuerdo a sus necesidades
HDIRL=c:\Harbour
BCDIR=c:\BCC7
FWDIR=c:\FWH


.path.PRG = .\source
.path.RC = .\resource
.path.CH = $(FWDIR)\include;$(HBDIR)\include;C:\clases_y_Funciones_de_3ros\FastReport (-)\Include
.path.C = .\
.path.OBJ = .\obj

#importante: Use mayúsculas para los nombres y extensiones en las próximas líneas

PRG =        \
MAIN.PRG  \
AJUSTECUARTOS.PRG  \
ALMACENOREPORTE.PRG  \
ARMAMATRIZ.PRG  \
ARMAMATRIZENTDES.PRG  \
ARMOENVIOMAIL.PRG  \
BIBRENDIMIENTOS.PRG  \
CARGOCAJAS.PRG  \
CARGOCAJAS2.PRG  \
CARGOPRODCORTES.PRG  \
CONSUMOWS.PRG  \
DATOSCARCAZAS.PRG  \
DATOSCUARTOS.PRG  \
DESCARGO_WS.PRG  \
ENVIOMAIL.PRG  \
INFORMEEXCEL1.PRG  \
INFORMEEXCEL2.PRG  \
INTNEGOCIO.PRG  \
LIBRERIA_XML.PRG  \
PORCDRESSING.PRG  \
PROCESOSWS.PRG  \
REPORTE.PRG  \
WSCLASIFICACION.PRG  \
PORCDRESSING.PRG  \
WSDRESSING.PRG \
WSENTRADADESOSADO.PRG  \
WSPLANFAENA.PRG  \
WSPRODUCTOS.PRG


# Archivos C si los hay

#C =        \
#A.C  \
#B.c  \
#C.c ...

#ultimo.c



PROJECT    : RENDIMIENTOS.EXE

RENDIMIENTOS.EXE : $(PRG:.PRG=.OBJ)
   echo off
   echo $(BCDIR)\lib\c0w32.obj  + > b32.bc

   echo OBJ\MAIN.OBJ\
   OBJ\AJUSTECUARTOS.OBJ\
   OBJ\ALMACENOREPORTE.OBJ\
   OBJ\ARMAMATRIZ.OBJ\
   OBJ\ARMAMATRIZENTDES.OBJ\
   OBJ\ARMOENVIOMAIL.OBJ\
   OBJ\BIBRENDIMIENTOS.OBJ\
   OBJ\CARGOCAJAS.OBJ\
   OBJ\CARGOCAJAS2.OBJ\
   OBJ\CARGOPRODCORTES.OBJ\
   OBJ\CONSUMOWS.OBJ\
   OBJ\DATOSCARCAZAS.OBJ\
   OBJ\DATOSCUARTOS.OBJ\
   OBJ\DESCARGO_WS.OBJ\
   OBJ\ENVIOMAIL.OBJ\
   OBJ\INFORMEEXCEL1.OBJ\
   OBJ\INFORMEEXCEL2.OBJ\
   OBJ\INTNEGOCIO.OBJ\
   OBJ\LIBRERIA_XML.OBJ\
   OBJ\PORCDRESSING.OBJ\
   OBJ\PROCESOSWS.OBJ\
   OBJ\REPORTE.OBJ\
   OBJ\WSCLASIFICACION.OBJ\
   OBJ\PORCDRESSING.OBJ\
   OBJ\WSDRESSING.OBJ\
   OBJ\WSENTRADADESOSADO.OBJ\
   OBJ\WSPLANFAENA.OBJ\
   OBJ\WSPRODUCTOS.OBJ,         + >> b32.bc


   echo RENDIMIENTOS.EXE,            + >> b32.bc
   echo RENDIMIENTOS.MAP,            + >> b32.bc


   echo $(FWDIR)\lib\FiveH.lib       + >> b32.bc
   echo $(FWDIR)\lib\FiveHC.lib      + >> b32.bc
   echo $(FWDIR)\lib\libmysql.lib    + >> b32.bc
   echo $(FWDIR)\lib\hbpgsql.lib     + >> b32.bc
   echo $(FWDIR)\lib\libpq.lib       + >> b32.bc
   echo $(HDIRL)\lib\hbwin.lib       + >> b32.bc
   echo $(HDIRL)\lib\gtgui.lib       + >> b32.bc
   echo $(HDIRL)\lib\hbrtl.lib       + >> b32.bc
   echo $(HDIRL)\lib\hbvm.lib        + >> b32.bc
   echo $(HDIRL)\lib\hblang.lib      + >> b32.bc
   echo $(HDIRL)\lib\hbmacro.lib     + >> b32.bc
   echo $(HDIRL)\lib\hbrdd.lib       + >> b32.bc
   echo $(HDIRL)\lib\rddntx.lib      + >> b32.bc
   echo $(HDIRL)\lib\rddcdx.lib      + >> b32.bc
   echo $(HDIRL)\lib\rddfpt.lib      + >> b32.bc
   echo $(HDIRL)\lib\hbsix.lib       + >> b32.bc
   echo $(HDIRL)\lib\hbdebug.lib     + >> b32.bc
   echo $(HDIRL)\lib\hbcommon.lib    + >> b32.bc
   echo $(HDIRL)\lib\hbpp.lib        + >> b32.bc
   echo $(HDIRL)\lib\hbcpage.lib     + >> b32.bc
   echo $(HDIRL)\lib\hbcplr.lib      + >> b32.bc
   echo $(HDIRL)\lib\hbct.lib        + >> b32.bc
   echo $(HDIRL)\lib\hbpcre.lib      + >> b32.bc
   echo $(HDIRL)\lib\xhb.lib         + >> b32.bc
   echo $(HDIRL)\lib\hbziparc.lib    + >> b32.bc
   echo $(HDIRL)\lib\hbmzip.lib      + >> b32.bc
   echo $(HDIRL)\lib\hbzlib.lib      + >> b32.bc
   echo $(HDIRL)\lib\minizip.lib     + >> b32.bc
   echo $(HDIRL)\lib\hbcurl.lib      + >> b32.bc
   echo $(HDIRL)\lib\png.lib         + >> b32.bc
   echo $(HDIRL)\lib\hbusrrdd.lib    + >> b32.bc
   echo $(HDIRL)\lib\hbtip.lib       + >> b32.bc
   echo $(BCDIR)\lib\cw32.lib        + >> b32.bc
   echo $(BCDIR)\lib\uuid.lib        + >> b32.bc
   echo $(BCDIR)\lib\import32.lib    + >> b32.bc
   echo $(BCDIR)\lib\ws2_32.lib      + >> b32.bc
   echo $(BCDIR)\lib\psdk\odbc32.lib   + >> b32.bc
   echo $(BCDIR)\lib\psdk\nddeapi.lib  + >> b32.bc
   echo $(BCDIR)\lib\psdk\iphlpapi.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\msimg32.lib  + >> b32.bc
   echo $(BCDIR)\lib\psdk\psapi.lib    + >> b32.bc
   echo $(BCDIR)\lib\psdk\rasapi32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\gdiplus.lib  + >> b32.bc
   echo $(BCDIR)\lib\psdk\shell32.lib  + >> b32.bc
   echo .\lib\libxl32.lib              + >> b32.bc
   echo .\lib\libxlfnc.lib,             >> b32.bc



   IF EXIST RENDIMIENTOS.res  echo RENDIMIENTOS.res + >> b32.bc
      $(BCDIR)\bin\ilink32 -Gn -aa -Tpe -s @b32.bc

#   IF EXIST OTRO.res echo OTRO.res >> b32.bc
#      $(BCDIR)\bin\ilink32 -Gn -aa -Tpe -s @b32.bc

   del b32.bc

.PRG.OBJ:
   $(HDIRL)\bin\harbour $< /N /W /Oobj\ /I$(FWDIR)\include;$(HDIRL)\include
   $(BCDIR)\bin\bcc32 -c -tWM -I$(HDIRL)\include -oobj\$& obj\$&.c

#.C.OBJ:
#   echo -c -tWM  > tmp
#   echo -I$(HDIRL)\include;$(FWDIR)\include >> tmp
#   $(BCDIR)\bin\bcc32 -oobj\$& @tmp $&.c

#  del tmp

RENDIMIENTOS.res : RENDIMIENTOS.rc
   $(BCDIR)\bin\brc32.exe -r RENDIMIENTOS.rc
 


COMPILACION USANDO HBMK2:

Batch:

Code: Select all  Expand view

@ECHO OFF
@CLS

Set bcdir=C:\BCC7

@If Exist *.Obj      Del *.Obj
@If Exist *.Map      Del *.Map
@If Exist *.TDS      Del *.TDS
@If Exist *.Bc       Del *.bc
@If Exist *.C        Del *.C
@If Exist *.HC       Del *.HC
@If Exist *.txt      Del *.txt

If Exist PRINCIPA.Exe Del PRINCIPA.Exe

%bcdir%\bin\BRC32.Exe -R .\resources\rendimientos.RC

@SET PATH=%PATH%;C:\BCC7\BIN
@SET INCLUDE=%INCLUDE%;C:\Harbour\Include;C:\FWH\Include
@SET HB_INSTALL_PREFIX=C:\Harbour\
@SET HB_USER_CFLAGS=-c -tWM -d -6 -O2 -OS -Ov -Oi -Oc -D__NODEBUG__  
@SET HB_COMPILER=bcc
@SET HB_USER_LIBPATHS=C:\harbour\lib\;C:\FWH\lib\

@C:\Harbour\bin\HBMK2 rendimientos.hbp -rebuild -comp=bcc

@If Exist *.Obj      Del *.Obj
@If Exist *.Map      Del *.Map
@If Exist *.TDS      Del *.TDS
@If Exist *.Bc       Del *.bc
@If Exist *.C        Del *.C
@If Exist *.HC       Del *.HC
@If Exist *.txt      Del *.txt

Echo * Construccion exitosa

@REM PAUSE
 



Archivo .HBP
Code: Select all  Expand view

# $Id: hbmake.hbp $

#flags
-inc
-m
-n
-w0
-gc0
-q
-gui

# Nombre del ejecutable
-o.\rendimientos

# DIRETORIO DE LOS .OBJ
-workdir=.\OBJ

# Corre el programa generado
# -run

########## INICIO - MENU PRINCIPAL. #PRG # ------ MODULO PRINCIPAL -------
.\source\MAIN.PRG
########## MODULOS AUXILIARES.
.\source\AJUSTECUARTOS.PRG
.\source\ALMACENOREPORTE.PRG
.\source\ARMAMATRIZ.PRG
.\source\ARMAMATRIZENTDES.PRG
.\source\ARMOENVIOMAIL.PRG
.\source\BIBRENDIMIENTOS.PRG
.\source\CARGOCAJAS.PRG
.\source\CARGOCAJAS2.PRG
.\source\CARGOPRODCORTES.PRG
.\source\CONSUMOWS.PRG
.\source\DATOSCARCAZAS.PRG
.\source\DATOSCUARTOS.PRG
.\source\DESCARGO_WS.PRG
.\source\ENVIOMAIL.PRG
.\source\INFORMEEXCEL1.PRG
.\source\INFORMEEXCEL2.PRG
.\source\INTNEGOCIO.PRG
.\source\LIBRERIA_XML.PRG
.\source\PORCDRESSING.PRG
.\source\PROCESOSWS.PRG
.\source\REPORTE.PRG
.\source\WSCLASIFICACION.PRG
.\source\PORCDRESSING.PRG
.\source\WSDRESSING.PRG
.\source\WSENTRADADESOSADO.PRG
.\source\WSPLANFAENA.PRG
.\source\WSPRODUCTOS.PRG


########## RESOURCES - Perfecto para .RC
#RC
.\resource\RENDIMIENTOS.RC


########## Para usar .RES
#RES
#.\xx.RES
#.\xy.RES

-lhbhpdf
-llibhpdf

#LIBRERIAS HARBOUR (se añaden las cabeceras .hbc)
hbwin.hbc
hbct.hbc
hbziparc.hbc
hbmzip.hbc
hbcomm.hbc
hbhpdf.hbc
xhb.hbc
hbwin.hbc
hbtip.hbc


########## LIBS do FiveWin - LIBRERIAS FWH
-LC:\FWH\lib
-lFiveH
-lFiveHC

#LIBRERIAS DE TERCEROS:
.\lib\libxl32.lib
.\lib\LibxlFnc.lib
libmysql.lib
 
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
User avatar
jose_murugosa
 
Posts: 1180
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Re: Compilando con Make y hbmk2

Postby Antonio Linares » Wed Feb 28, 2024 5:44 pm

Muchas gracias José :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42097
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 30 guests