Compilar con Make y varios PRG y RES

Compilar con Make y varios PRG y RES

Postby lubin » Fri Nov 22, 2019 5: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: Select all  Expand view

  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: Select all  Expand view

#Borland make sample, (c) FiveTech Software 2005-2009
BCDIR=c:\bcc7
HBDIR=c:\harbour
FWDIR=c:\fwh
E1DIR=c:\Eagle1
VCDIR=c:\noway

#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  
 
User avatar
lubin
 
Posts: 449
Joined: Fri Dec 09, 2005 12:41 am
Location: Lima, Peru

Re: Compilar con Make y varios PRG y RES

Postby leandro » Fri Nov 22, 2019 7: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

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1669
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Compilar con Make y varios PRG y RES

Postby leandro » Fri Nov 22, 2019 7:19 pm

De todas formas si deseas compilar con make

Code: Select all  Expand view


#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

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1669
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Compilar con Make y varios PRG y RES

Postby lubin » Sat Nov 23, 2019 2: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
User avatar
lubin
 
Posts: 449
Joined: Fri Dec 09, 2005 12:41 am
Location: Lima, Peru

Re: Compilar con Make y varios PRG y RES

Postby lubin » Sat Nov 23, 2019 2: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: Select all  Expand view


#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
 
User avatar
lubin
 
Posts: 449
Joined: Fri Dec 09, 2005 12:41 am
Location: Lima, Peru

Re: Compilar con Make y varios PRG y RES

Postby leandro » Mon Nov 25, 2019 8: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=6&t=24025&start=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

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1669
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Compilar con Make y varios PRG y RES

Postby cnavarro » Mon Nov 25, 2019 9: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
User avatar
cnavarro
 
Posts: 6541
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Compilar con Make y varios PRG y RES

Postby jvtecheto » 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: Select all  Expand view


#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
User avatar
jvtecheto
 
Posts: 592
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Re: Compilar con Make y varios PRG y RES

Postby cnavarro » Tue Nov 26, 2019 3: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
User avatar
cnavarro
 
Posts: 6541
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Compilar con Make y varios PRG y RES

Postby Compuin » Tue Nov 26, 2019 3: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 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Compuin
 
Posts: 1214
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada

Re: Compilar con Make y varios PRG y RES

Postby jvtecheto » Tue Nov 26, 2019 3: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
User avatar
jvtecheto
 
Posts: 592
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 18 guests