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