FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Compilar con Make y varios PRG y RES
Posts: 467
Joined: Fri Dec 09, 2005 12:41 AM
Compilar con Make y varios PRG y RES
Posted: Fri Nov 22, 2019 05:22 PM
Buen dia estimados

Al actualizar mi FWin he tenido que dejar el Verce para complilar, pues no logre hacerlo andar con FwH y BCC7
Asi que la otra alternativa es usar archivos MAKE, pero no logro terminar la compilacion,

Este es mi caso le agradeceré cualquier ayuda para sacarlo adelante.

Yo organizo mis aplicaciones en carpetas , Utilizo dos archivos de recursos inventarios.res y calculos.res y mi aplicacion INVENTARIO tiene estas carpetas :

E:\PY\STOCK
E:\PY\STOCK\OBJ
E:\PY\STOCK\PRG
E:\PY\STOCK\RES

He creado Este make y lo ejecuto en la ruta E:\PY\STOCK

Cuando ejecuto el Make me crea los archivos OBJ en la carpeta correspondiente ( E:\PY\STOCK\OBJ )

Pero parece que cuando va a Linkerlo no encuentra el OBJ, ; y sale esta pantallas

Code (fw): Select all Collapse
  MAKE Version 5.41  Copyright (c) 1987, 2014 Embarcadero Technologies, Inc.
    echo off
    echo c:\bcc7\lib\c0w32.obj + > b32.bc
        echo INVENTARIO.OBJ   INGRESOS.OBJ   SALIDAS.OBJ    CALCULO.OBJ    VALOR.OBJ , + >> b32.bc      
        echo INVENTARIO.exe, + >> b32.bc
    echo INVENTARIO.map, + >> b32.bc
    echo c:\fwh\lib\FiveH.lib + >> b32.bc
    echo c:\fwh\lib\FiveHC.lib + >> b32.bc
    echo c:\Eagle1v303\lib\eagle1.lib + >> b32.bc
    echo c:\Eagle1v303\lib\common1.lib + >> b32.bc
    echo c:\Eagle1v303\MSlib\libmysql.lib + >> b32.bc
    echo c:\harbour\lib\hbwin.lib + >> b32.bc
    echo c:\harbour\lib\gtgui.lib + >> b32.bc
    echo c:\harbour\lib\hbrtl.lib + >> b32.bc
    echo c:\harbour\lib\hbvm.lib + >> b32.bc
    echo c:\harbour\lib\hblang.lib + >> b32.bc
    echo c:\harbour\lib\hbmacro.lib + >> b32.bc
    echo c:\harbour\lib\hbrdd.lib + >> b32.bc
    echo c:\harbour\lib\rddntx.lib + >> b32.bc
    echo c:\harbour\lib\rddcdx.lib + >> b32.bc
    echo c:\harbour\lib\rddfpt.lib + >> b32.bc
    echo c:\harbour\lib\hbsix.lib + >> b32.bc
    echo c:\harbour\lib\hbdebug.lib + >> b32.bc
    echo c:\harbour\lib\hbcommon.lib + >> b32.bc
    echo c:\harbour\lib\hbpp.lib + >> b32.bc
    echo c:\harbour\lib\hbcpage.lib + >> b32.bc
    echo c:\harbour\lib\hbcplr.lib + >> b32.bc
    echo c:\harbour\lib\hbct.lib + >> b32.bc
    echo c:\harbour\lib\hbpcre.lib + >> b32.bc
    echo c:\harbour\lib\xhb.lib + >> b32.bc
    echo c:\harbour\lib\hbziparc.lib + >> b32.bc
    echo c:\harbour\lib\hbmzip.lib + >> b32.bc
    echo c:\harbour\lib\hbzlib.lib + >> b32.bc
    echo c:\harbour\lib\minizip.lib + >> b32.bc 
    echo c:\harbour\lib\hbusrrdd.lib + >> b32.bc
    echo c:\harbour\lib\hbtip.lib + >> b32.bc
    echo c:\harbour\lib\hbzebra.lib + >> b32.bc 
    echo c:\harbour\lib\png.lib + >> b32.bc
    echo c:\bcc7\lib\cw32.lib + >> b32.bc
    echo c:\bcc7\lib\import32.lib + >> b32.bc
    echo c:\bcc7\lib\uuid.lib + >> b32.bc
    echo c:\bcc7\lib\ws2_32.lib + >> b32.bc 
    echo c:\bcc7\lib\psdk\odbc32.lib + >> b32.bc
    echo c:\bcc7\lib\psdk\rasapi32.lib + >> b32.bc
    echo c:\bcc7\lib\psdk\nddeapi.lib + >> b32.bc
    echo c:\bcc7\lib\psdk\msimg32.lib + >> b32.bc 
    echo c:\bcc7\lib\psdk\psapi.lib + >> b32.bc 
    echo c:\bcc7\lib\psdk\gdiplus.lib + >> b32.bc
    echo c:\bcc7\lib\psdk\iphlpapi.lib + >> b32.bc
    echo c:\bcc7\lib\psdk\shell32.lib, >> b32.bc
    IF EXIST INVENTARIO.res echo INVENTARIO.res >> b32.bc
    IF EXIST CALCULOS.res echo CALCULOS.res >> b32.bc
    c:\bcc7\bin\ilink32 -Gn -aa -Tpe -s @b32.bc
Turbo Incremental Link 6.72 Copyright (c) 1997-2015 Embarcadero Technologies, Inc.
Fatal: Unable to open file 'INVENTARIO.OBJ'

** error 2 ** deleting INVENTARIO.exe



Este es mi archivo Make :

Code (fw): Select all Collapse
#Borland make sample, (c) FiveTech Software 2005-2009
BCDIR=c:\bcc7 
HBDIR=c:\harbour 
FWDIR=c:\fwh 
E1DIR=c:\Eagle1 
VCDIR=c:\ViaCoral

#change these paths as needed
.path.OBJ = E:\PY\STOCK\obj
.path.PRG = E:\PY\STOCK\prg
.path.rc   = E:\PY\STOCK\rc
.path.CH  = $(FWDIR)\include;$(HBDIR)\include;$(E1DIR)\include;$(VCDIR)\include

#important: PONER EN MAYUSCULAS LAS EXTENSIONES - Use Uppercase for filenames extensions, in the next two rules!

# LISTA DE LOS PRGS... 
PRGS = \ 
  INVENTARIO.PRG   \
  INGRESOS.PRG     \
  SALIDAS.PRG      \
  CALCULO.PRG      \
  VALOR.PRG                                                                                                                                                                                                                                                             
OBJ  = $(PRGS:.PRG=.OBJ)
OBJS = $(OBJ:.OBJ\=.OBJ\)

# DEFINIMOS EL PROYECTO LLAMADO INVENTARIO 
PROJECT    : INVENTARIO.exe

INVENTARIO.exe  : $(OBJS) INVENTARIO.res CALCULOS.res
   echo off
   echo $(BCDIR)\lib\c0w32.obj + > b32.bc
   echo $(OBJS)  , + >> b32.bc
   echo INVENTARIO.exe, + >> b32.bc
   echo INVENTARIO.map, + >> b32.bc

   echo $(FWDIR)\lib\FiveH.lib      + >> b32.bc
   echo $(FWDIR)\lib\FiveHC.lib     + >> b32.bc
   echo $(E1DIR)\lib\eagle1.lib     + >> b32.bc
   echo $(E1DIR)\lib\common1.lib    + >> b32.bc
   echo $(E1DIR)\MSlib\libmysql.lib + >> b32.bc

   echo $(HBDIR)\lib\hbwin.lib      + >> b32.bc
   echo $(HBDIR)\lib\gtgui.lib      + >> b32.bc
   echo $(HBDIR)\lib\hbrtl.lib      + >> b32.bc
   echo $(HBDIR)\lib\hbvm.lib       + >> b32.bc
   echo $(HBDIR)\lib\hblang.lib     + >> b32.bc
   echo $(HBDIR)\lib\hbmacro.lib    + >> b32.bc
   echo $(HBDIR)\lib\hbrdd.lib      + >> b32.bc
   echo $(HBDIR)\lib\rddntx.lib     + >> b32.bc
   echo $(HBDIR)\lib\rddcdx.lib     + >> b32.bc
   echo $(HBDIR)\lib\rddfpt.lib     + >> b32.bc
   echo $(HBDIR)\lib\hbsix.lib      + >> b32.bc
   echo $(HBDIR)\lib\hbdebug.lib    + >> b32.bc
   echo $(HBDIR)\lib\hbcommon.lib   + >> b32.bc
   echo $(HBDIR)\lib\hbpp.lib       + >> b32.bc
   echo $(HBDIR)\lib\hbcpage.lib    + >> b32.bc
   echo $(HBDIR)\lib\hbcplr.lib     + >> b32.bc
   echo $(HBDIR)\lib\hbct.lib       + >> b32.bc
   echo $(HBDIR)\lib\hbpcre.lib     + >> b32.bc
   echo $(HBDIR)\lib\xhb.lib        + >> b32.bc
   echo $(HBDIR)\lib\hbziparc.lib   + >> b32.bc
   echo $(HBDIR)\lib\hbmzip.lib     + >> b32.bc
   echo $(HBDIR)\lib\hbzlib.lib     + >> b32.bc
   echo $(HBDIR)\lib\minizip.lib    + >> b32.bc   
   echo $(HBDIR)\lib\hbusrrdd.lib   + >> b32.bc
   echo $(HBDIR)\lib\hbtip.lib      + >> b32.bc
   echo $(HBDIR)\lib\hbzebra.lib    + >> b32.bc   
   echo $(HBDIR)\lib\png.lib        + >> b32.bc

   echo $(BCDIR)\lib\cw32.lib          + >> b32.bc
   echo $(BCDIR)\lib\import32.lib      + >> b32.bc
   echo $(BCDIR)\lib\uuid.lib          + >> b32.bc
   echo $(BCDIR)\lib\ws2_32.lib        + >> b32.bc 
   echo $(BCDIR)\lib\psdk\odbc32.lib   + >> b32.bc
   echo $(BCDIR)\lib\psdk\rasapi32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\nddeapi.lib  + >> b32.bc
   echo $(BCDIR)\lib\psdk\msimg32.lib  + >> b32.bc 
   echo $(BCDIR)\lib\psdk\psapi.lib    + >> b32.bc  
   echo $(BCDIR)\lib\psdk\gdiplus.lib  + >> b32.bc
   echo $(BCDIR)\lib\psdk\iphlpapi.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\shell32.lib, >> b32.bc

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

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

INVENTARIO.res : INVENTARIO.rc
  $(BCDIR)\bin\brc32.exe -r INVENTARIO.rc
  
CALCULOS.res : CALCULOS.rc
  $(BCDIR)\bin\brc32.exe -r CALCULOS.rc
Posts: 1818
Joined: Wed Oct 26, 2005 02:49 PM
Re: Compilar con Make y varios PRG y RES
Posted: Fri Nov 22, 2019 07:18 PM
Deberias probar con fivedit, excelente herramienta para compilar y si lo deseas tambien para editar los prg.

http://forums.fivetechsupport.com/viewtopic.php?f=6&t=24025&start=945
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 1818
Joined: Wed Oct 26, 2005 02:49 PM
Re: Compilar con Make y varios PRG y RES
Posted: Fri Nov 22, 2019 07:19 PM
De todas formas si deseas compilar con make

Code (fw): Select all Collapse
#Borland make sample, (c) FiveTech Software 2005-2009

HBDIR=c:\xhar1903
BCDIR=c:\bcc73
FWDIR=c:\fwh1903

#change these paths as needed
.path.OBJ = .\obj
.path.PRG = .\
.path.CH  = $(FWDIR)\include;$(HBDIR)\include
.path.C   = .\obj
.path.rc  = .\

#important: Use Uppercase for filenames extensions, in the next two rules!

PRG =        \
electron.prg    \
crearpdf.prg    \
factura.prg

PROJECT    : electron.exe

electron.exe  : $(PRG:.prg=.obj)
   echo off
   echo $(BCDIR)\lib\c0w32.obj + > b32.bc
   echo obj\electron.obj \ 
        obj\crearpdf.obj \ 
        obj\factura.obj, + >> b32.bc
        
   #echo $(OBJS), + >> b32.bc
   echo electron.exe, + >> b32.bc
   echo electron.map, + >> b32.bc
   echo $(FWDIR)\lib\FiveHx.lib $(FWDIR)\lib\FiveHC.lib + >> b32.bc
   echo $(HBDIR)\lib\rtl.lib + >> b32.bc
   echo $(HBDIR)\lib\vm.lib + >> b32.bc
   echo $(HBDIR)\lib\gtgui.lib + >> b32.bc
   echo $(HBDIR)\lib\lang.lib + >> b32.bc
   echo $(HBDIR)\lib\macro.lib + >> b32.bc
   echo $(HBDIR)\lib\rdd.lib + >> b32.bc
   echo $(HBDIR)\lib\dbfntx.lib + >> b32.bc
   echo $(HBDIR)\lib\dbfcdx.lib + >> b32.bc
   echo $(HBDIR)\lib\dbffpt.lib + >> b32.bc
   echo $(HBDIR)\lib\hbsix.lib + >> b32.bc
   echo $(HBDIR)\lib\debug.lib + >> b32.bc
   echo $(HBDIR)\lib\common.lib + >> b32.bc
   echo $(HBDIR)\lib\pp.lib + >> b32.bc
   echo $(HBDIR)\lib\pcrepos.lib + >> b32.bc
   echo $(HBDIR)\lib\ct.lib + >> b32.bc
   echo $(HBDIR)\lib\zlib.lib + >> b32.bc
   echo $(HBDIR)\lib\hbzip.lib + >> b32.bc
   echo $(HBDIR)\lib\libmisc.lib + >> b32.bc
   echo $(HBDIR)\lib\tip.lib + >> b32.bc
   echo $(HBDIR)\lib\png.lib + >> b32.bc
   echo $(HBDIR)\lib\hbzebra.lib + >> b32.bc

   rem Uncomment these two lines to use Advantage RDD
   rem echo $(HBDIR)\lib\rddads.lib + >> b32.bc
   rem echo $(HBDIR)\lib\Ace32.lib + >> b32.bc

   echo $(BCDIR)\lib\cw32.lib + >> b32.bc
   echo $(BCDIR)\lib\import32.lib + >> b32.bc
   echo $(BCDIR)\lib\uuid.lib + >> b32.bc
   echo $(BCDIR)\lib\ws2_32.lib + >> b32.bc   
   echo $(BCDIR)\lib\psdk\odbc32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\rasapi32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\nddeapi.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\msimg32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\psapi.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\gdiplus.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\iphlpapi.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\shell32.lib, >> b32.bc

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

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

electron.res : electron.rc
#  $(BCDIR)\bin\brc32.exe -r electron.rc
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 467
Joined: Fri Dec 09, 2005 12:41 AM
Re: Compilar con Make y varios PRG y RES
Posted: Sat Nov 23, 2019 02:31 PM
Gracias Leandro

Estuve viendo el Fivedit, su pantalla inicial no esta nada mal, pues en verdad a mi me basta que sea amigable y sobre todo simplemente que permita compilar sin problemas, seria una buena opcion, el unico problema pero no logro ubicar la documentacion para configurarlo, y se dan uno enlaces que ya no estan activos.

Quizas podrias darme una pista donde puedo encontrar informacion.

Gracias
Lubin

leandro wrote:Deberias probar con fivedit, excelente herramienta para compilar y si lo deseas tambien para editar los prg.

http://forums.fivetechsupport.com/viewtopic.php?f=6&t=24025&start=945
Posts: 467
Joined: Fri Dec 09, 2005 12:41 AM
Re: Compilar con Make y varios PRG y RES
Posted: Sat Nov 23, 2019 02:41 PM
Leandro

Gracias por el Make, y justamente veo que que atacas directamante el problema al enlazar los archivos "OBJ" poniendo directamente cada obj con su ruta donde esta ubicada :
 echo obj\electron.obj \
        obj\crearpdf.obj \
        obj\factura.obj, + >> b32.bc
       
y poniendo en comentario la lista de OBJs. "$(OBJS)";
   #echo $(OBJS), + >> b32.bc
 
Justo deseaba saber como se pone con la variable de sustitucon .. $(OBJS) para que incluya las rutas , de esa manera no tengo que listar nuevamente todos los OBJs de mis PRGs que tienen mi proyecto que son aproximadamente 130 prgs...

Y el otro tema era el uso de dos o mas archivos de recursos ... INVENTARIO.RES, CALCULOS.RES.

Gracias estimado





leandro wrote:De todas formas si deseas compilar con make

Code (fw): Select all Collapse
#Borland make sample, (c) FiveTech Software 2005-2009

HBDIR=c:\xhar1903
BCDIR=c:\bcc73
FWDIR=c:\fwh1903

#change these paths as needed
.path.OBJ = .\obj
.path.PRG = .\
.path.CH  = $(FWDIR)\include;$(HBDIR)\include
.path.C   = .\obj
.path.rc  = .\

#important: Use Uppercase for filenames extensions, in the next two rules!

PRG =        \
electron.prg    \
crearpdf.prg    \
factura.prg

PROJECT    : electron.exe

electron.exe  : $(PRG:.prg=.obj)
   echo off
   echo $(BCDIR)\lib\c0w32.obj + > b32.bc
   echo obj\electron.obj \ 
        obj\crearpdf.obj \ 
        obj\factura.obj, + >> b32.bc
        
   #echo $(OBJS), + >> b32.bc
   echo electron.exe, + >> b32.bc
   echo electron.map, + >> b32.bc
   echo $(FWDIR)\lib\FiveHx.lib $(FWDIR)\lib\FiveHC.lib + >> b32.bc
   echo $(HBDIR)\lib\rtl.lib + >> b32.bc
   echo $(HBDIR)\lib\vm.lib + >> b32.bc
   echo $(HBDIR)\lib\gtgui.lib + >> b32.bc
   echo $(HBDIR)\lib\lang.lib + >> b32.bc
   echo $(HBDIR)\lib\macro.lib + >> b32.bc
   echo $(HBDIR)\lib\rdd.lib + >> b32.bc
   echo $(HBDIR)\lib\dbfntx.lib + >> b32.bc
   echo $(HBDIR)\lib\dbfcdx.lib + >> b32.bc
   echo $(HBDIR)\lib\dbffpt.lib + >> b32.bc
   echo $(HBDIR)\lib\hbsix.lib + >> b32.bc
   echo $(HBDIR)\lib\debug.lib + >> b32.bc
   echo $(HBDIR)\lib\common.lib + >> b32.bc
   echo $(HBDIR)\lib\pp.lib + >> b32.bc
   echo $(HBDIR)\lib\pcrepos.lib + >> b32.bc
   echo $(HBDIR)\lib\ct.lib + >> b32.bc
   echo $(HBDIR)\lib\zlib.lib + >> b32.bc
   echo $(HBDIR)\lib\hbzip.lib + >> b32.bc
   echo $(HBDIR)\lib\libmisc.lib + >> b32.bc
   echo $(HBDIR)\lib\tip.lib + >> b32.bc
   echo $(HBDIR)\lib\png.lib + >> b32.bc
   echo $(HBDIR)\lib\hbzebra.lib + >> b32.bc

   rem Uncomment these two lines to use Advantage RDD
   rem echo $(HBDIR)\lib\rddads.lib + >> b32.bc
   rem echo $(HBDIR)\lib\Ace32.lib + >> b32.bc

   echo $(BCDIR)\lib\cw32.lib + >> b32.bc
   echo $(BCDIR)\lib\import32.lib + >> b32.bc
   echo $(BCDIR)\lib\uuid.lib + >> b32.bc
   echo $(BCDIR)\lib\ws2_32.lib + >> b32.bc   
   echo $(BCDIR)\lib\psdk\odbc32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\rasapi32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\nddeapi.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\msimg32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\psapi.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\gdiplus.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\iphlpapi.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\shell32.lib, >> b32.bc

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

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

electron.res : electron.rc
#  $(BCDIR)\bin\brc32.exe -r electron.rc
Posts: 1818
Joined: Wed Oct 26, 2005 02:49 PM
Re: Compilar con Make y varios PRG y RES
Posted: Mon Nov 25, 2019 08:09 PM

Lubin buenas tardes:

Pues fivedit es un desarrollo de nuestro colega Cristobal navarro, el siempre esta dispuesto a colaborar. Hay un POST que puedes consultar en este foro y resolver todas tus dudas.

viewtopic.php?f=6t=24025start=945

También puedes solicitar las credenciales de acceso en slack

https://fivedit.slack.com/

&&

Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Compilar con Make y varios PRG y RES
Posted: Mon Nov 25, 2019 09:05 PM

Gracias Leandro, en eso estamos :D

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 607
Joined: Mon Mar 04, 2013 04:32 PM
Re: Compilar con Make y varios PRG y RES
Posted: Tue Nov 26, 2019 11:46 AM
lubin wrote:Leandro

Gracias por el Make, y justamente veo que que atacas directamante el problema al enlazar los archivos "OBJ" poniendo directamente cada obj con su ruta donde esta ubicada :
 echo obj\electron.obj \
        obj\crearpdf.obj \
        obj\factura.obj, + >> b32.bc
       
y poniendo en comentario la lista de OBJs. "$(OBJS)";
   #echo $(OBJS), + >> b32.bc
 
Justo deseaba saber como se pone con la variable de sustitucon .. $(OBJS) para que incluya las rutas , de esa manera no tengo que listar nuevamente todos los OBJs de mis PRGs que tienen mi proyecto que son aproximadamente 130 prgs...

Y el otro tema era el uso de dos o mas archivos de recursos ... INVENTARIO.RES, CALCULOS.RES.

Gracias estimado





leandro wrote:De todas formas si deseas compilar con make

Code (fw): Select all Collapse
#Borland make sample, (c) FiveTech Software 2005-2009

HBDIR=c:\xhar1903
BCDIR=c:\bcc73
FWDIR=c:\fwh1903

#change these paths as needed
.path.OBJ = .\obj
.path.PRG = .\
.path.CH  = $(FWDIR)\include;$(HBDIR)\include
.path.C   = .\obj
.path.rc  = .\

#important: Use Uppercase for filenames extensions, in the next two rules!

PRG =        \
electron.prg    \
crearpdf.prg    \
factura.prg

PROJECT    : electron.exe

electron.exe  : $(PRG:.prg=.obj)
   echo off
   echo $(BCDIR)\lib\c0w32.obj + > b32.bc
   echo obj\electron.obj \ 
        obj\crearpdf.obj \ 
        obj\factura.obj, + >> b32.bc
        
   #echo $(OBJS), + >> b32.bc
   echo electron.exe, + >> b32.bc
   echo electron.map, + >> b32.bc
   echo $(FWDIR)\lib\FiveHx.lib $(FWDIR)\lib\FiveHC.lib + >> b32.bc
   echo $(HBDIR)\lib\rtl.lib + >> b32.bc
   echo $(HBDIR)\lib\vm.lib + >> b32.bc
   echo $(HBDIR)\lib\gtgui.lib + >> b32.bc
   echo $(HBDIR)\lib\lang.lib + >> b32.bc
   echo $(HBDIR)\lib\macro.lib + >> b32.bc
   echo $(HBDIR)\lib\rdd.lib + >> b32.bc
   echo $(HBDIR)\lib\dbfntx.lib + >> b32.bc
   echo $(HBDIR)\lib\dbfcdx.lib + >> b32.bc
   echo $(HBDIR)\lib\dbffpt.lib + >> b32.bc
   echo $(HBDIR)\lib\hbsix.lib + >> b32.bc
   echo $(HBDIR)\lib\debug.lib + >> b32.bc
   echo $(HBDIR)\lib\common.lib + >> b32.bc
   echo $(HBDIR)\lib\pp.lib + >> b32.bc
   echo $(HBDIR)\lib\pcrepos.lib + >> b32.bc
   echo $(HBDIR)\lib\ct.lib + >> b32.bc
   echo $(HBDIR)\lib\zlib.lib + >> b32.bc
   echo $(HBDIR)\lib\hbzip.lib + >> b32.bc
   echo $(HBDIR)\lib\libmisc.lib + >> b32.bc
   echo $(HBDIR)\lib\tip.lib + >> b32.bc
   echo $(HBDIR)\lib\png.lib + >> b32.bc
   echo $(HBDIR)\lib\hbzebra.lib + >> b32.bc

   rem Uncomment these two lines to use Advantage RDD
   rem echo $(HBDIR)\lib\rddads.lib + >> b32.bc
   rem echo $(HBDIR)\lib\Ace32.lib + >> b32.bc

   echo $(BCDIR)\lib\cw32.lib + >> b32.bc
   echo $(BCDIR)\lib\import32.lib + >> b32.bc
   echo $(BCDIR)\lib\uuid.lib + >> b32.bc
   echo $(BCDIR)\lib\ws2_32.lib + >> b32.bc   
   echo $(BCDIR)\lib\psdk\odbc32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\rasapi32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\nddeapi.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\msimg32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\psapi.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\gdiplus.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\iphlpapi.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\shell32.lib, >> b32.bc

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

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

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


Hola Lubin.

Yo tambien utilizo el FivEdit y me gusta cada dia mas, y compila perfectamente. Si tienes problemas pregunta en el Slack , veras como hallas solucion.

Pero... Tambien me gusta tener la opcion del Make (Es que venimos del MSDOS, jaja) y estoy en el mismo problema que tu. ¿Como configurar la ruta de los OBJS , si
alguien pudiera ayudarnos se lo agradeceria asi tenemos todas las opciones.

Saludos.
Fwh 24.07 64 bits + Harbour 64 bits 3.2dev(r2407221137) + MSVC64
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Compilar con Make y varios PRG y RES
Posted: Tue Nov 26, 2019 03:10 PM

En vuestra instalacion de Fw, tiene que haber una carpeta MAKES, con varios ejemplos, entre ellos uno que se llama BORMAKE
Aparecen como ficheros .zip

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 1276
Joined: Tue Dec 28, 2010 01:29 PM
Re: Compilar con Make y varios PRG y RES
Posted: Tue Nov 26, 2019 03:22 PM
cnavarro wrote:En vuestra instalacion de Fw, tiene que haber una carpeta MAKES, con varios ejemplos, entre ellos uno que se llama BORMAKE
Aparecen como ficheros .zip


En ese fichero no hay forma de compilar juntos .prg y archivos .c

Nunca ha funcionado realmente

FWH 25.12

Harbour/Hbmk2

Microsoft Visual C++

MySql 8.0

Antigravity

Posts: 607
Joined: Mon Mar 04, 2013 04:32 PM
Re: Compilar con Make y varios PRG y RES
Posted: Tue Nov 26, 2019 03:28 PM

Hola Cristobal:

El make que al final adapte del foro me funciona bien siempre que tenga los .prg en el directorio del proyecto y los obj en el directorio \proyecto\obj.

Pero a mi me gusta tener la raiz del proyecto y a partir de ahi los fuentes en proyecto\source , los recursos en proyecto\resource , las lib ... etc.

Eso con el FivEdit lo configuro y me funciona perfecto.

con el make no hay manera de conseguir que me reconozca esos subdirectorios, lo compila todo bien el problema es al enlazar por eso creo que tengo el mismo problema del amigo Lubin, ya que cuando enlaza los OBJS los busca en \proyecto\fich.obj y no en \proyecto\obj\fich.obj que es donde esta realmente.

Saludos.

Jose.

Fwh 24.07 64 bits + Harbour 64 bits 3.2dev(r2407221137) + MSVC64

Continue the discussion