Page 1 of 2

Borland makefile for Harbour + FWH + BCC7

Posted: Fri Dec 23, 2016 4:04 pm
by Antonio Linares
go.bat

Code: Select all

set path=C:\bcc7\bin
make -fmyapp.mak
 
myapp.mak

Code: Select all

HBDIR=c:\harbour
BCDIR=c:\bcc7
FWDIR=c:\fwh

.path.obj = .\obj
.path.prg = .\
.path.ch  = $(FWDIR)\include;$(HBDIR)\include
.path.c   = .\
.path.rc  = .\

PRG = \
.\one.prg \
.\two.prg \
.\three.prg

OBJ=$(PRG:.prg=.obj)
OBJS=$(OBJ:.\=.\obj\)

PROJECT : myapp.exe

myapp.exe : $(OBJS) myapp.res
   echo off
   echo $(BCDIR)\lib\c0w32.obj + > b32.bc
   echo $(OBJS), + >> b32.bc
   echo myapp.exe, + >> b32.bc
   echo myapp.map, + >> b32.bc
   echo $(FWDIR)\lib\FiveH.lib $(FWDIR)\lib\FiveHC.lib + >> b32.bc
   echo $(HBDIR)\lib\hbrtl.lib + >> b32.bc
   echo $(HBDIR)\lib\hbvm.lib + >> b32.bc
   echo $(HBDIR)\lib\gtgui.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\hbwin.lib + >> b32.bc
   echo $(HBDIR)\lib\hbcpage.lib + >> b32.bc
   echo $(HBDIR)\lib\hbct.lib + >> b32.bc
   echo $(HBDIR)\lib\hbcplr.lib + >> b32.bc
   echo $(HBDIR)\lib\xhb.lib + >> b32.bc
   echo $(HBDIR)\lib\png.lib + >> b32.bc
   echo $(HBDIR)\lib\hbzlib.lib + >> b32.bc
   echo $(HBDIR)\lib\hbziparc.lib + >> b32.bc
   echo $(HBDIR)\lib\hbmzip.lib + >> b32.bc
   echo $(HBDIR)\lib\minizip.lib + >> b32.bc
   echo $(HBDIR)\lib\hbpcre.lib + >> b32.bc

   echo $(BCDIR)\lib\cw32.lib + >> b32.bc
   echo $(BCDIR)\lib\import32.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\shell32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\gdiplus.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\rasapi32.lib, >> b32.bc

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

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

.c.obj:
  echo -c -tWM -D__HARBOUR__ -DHB_API_MACROS > tmp
  echo -I$(HBDIR)\include;$(FWDIR)\include >> tmp
  $(BCDIR)\bin\bcc32 -oobj\$& @tmp $&.c
  del tmp

myapp.res : myapp.rc
  c:\bcc7 $(BCDIR)\bin\brc32.exe -r -Ic:\bcc7\include\windows\sdk myapp.rc
 

Re: Borland makefile for Harbour + FWH + BCC7

Posted: Sat Dec 24, 2016 3:34 pm
by Compuin
Muchas gracias Maestro

Re: Borland makefile for Harbour + FWH + BCC7

Posted: Sat Dec 24, 2016 3:46 pm
by Compuin
Me arroja esto


C:\winSGE>go

C:\winSGE>set path=C:\bcc7\bin

C:\winSGE>make -fmyapp.mak
MAKE Version 5.41 Copyright (c) 1987, 2014 Embarcadero Technologies, Inc.
Fatal: '.\obj\WININI.PRG' does not exist - don't know how to make it
C:\winSGE>go

C:\winSGE>set path=C:\bcc7\bin

C:\winSGE>make -fmyapp.mak
MAKE Version 5.41 Copyright (c) 1987, 2014 Embarcadero Technologies, Inc.
Fatal: '.\obj\WININI.PRG' does not exist - don't know how to make it
C:\winSGE>

Re: Borland makefile for Harbour + FWH + BCC7

Posted: Sat Dec 24, 2016 6:26 pm
by Antonio Linares
All PRGs names must be lowercase (name and extension)

Todos los nombres de los PRGs tienen que estar en minúsculas (nombre y extension)

Modifica tu make y vuelve a probarlo

Re: Borland makefile for Harbour + FWH + BCC7

Posted: Sat Dec 24, 2016 6:39 pm
by Compuin
Voy a probarlo

Re: Borland makefile for Harbour + FWH + BCC7

Posted: Sat Dec 24, 2016 7:02 pm
by Compuin
Ahora este

C:\winSGE>make -fmyapp.mak
MAKE Version 5.41 Copyright (c) 1987, 2014 Embarcadero Technologies, Inc.
Fatal: 'myapp.res' does not exist - don't know how to make it
C:\winSGE>

Re: Borland makefile for Harbour + FWH + BCC7

Posted: Sun Dec 25, 2016 7:40 am
by Antonio Linares
Usas un fichero RC en tu aplicación ?

En caso afirmativo, debes tener un fichero myapp.rc

De no usarlo, elimina myapp.rc y myapp.res del fichero make

Re: Borland makefile for Harbour + FWH + BCC7

Posted: Sun Dec 25, 2016 2:25 pm
by Compuin
No uso fichero .rc

Como quedair luego de eliminarlo, ya que lo intente y me sigue arrojando error

Re: Borland makefile for Harbour + FWH + BCC7

Posted: Sun Dec 25, 2016 5:07 pm
by Antonio Linares
Si no usas un fichero RC entonces tienes que modificar el fichero make asi:

Code: Select all

HBDIR=c:\harbour
BCDIR=c:\bcc7
FWDIR=c:\fwh

.path.obj = .\obj
.path.prg = .\
.path.ch  = $(FWDIR)\include;$(HBDIR)\include
.path.c   = .\

PRG = \
.\one.prg \
.\two.prg \
.\three.prg

OBJ=$(PRG:.prg=.obj)
OBJS=$(OBJ:.\=.\obj\)

PROJECT : myapp.exe

myapp.exe : $(OBJS) 
   echo off
   echo $(BCDIR)\lib\c0w32.obj + > b32.bc
   echo $(OBJS), + >> b32.bc
   echo myapp.exe, + >> b32.bc
   echo myapp.map, + >> b32.bc
   echo $(FWDIR)\lib\FiveH.lib $(FWDIR)\lib\FiveHC.lib + >> b32.bc
   echo $(HBDIR)\lib\hbrtl.lib + >> b32.bc
   echo $(HBDIR)\lib\hbvm.lib + >> b32.bc
   echo $(HBDIR)\lib\gtgui.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\hbwin.lib + >> b32.bc
   echo $(HBDIR)\lib\hbcpage.lib + >> b32.bc
   echo $(HBDIR)\lib\hbct.lib + >> b32.bc
   echo $(HBDIR)\lib\hbcplr.lib + >> b32.bc
   echo $(HBDIR)\lib\xhb.lib + >> b32.bc
   echo $(HBDIR)\lib\png.lib + >> b32.bc
   echo $(HBDIR)\lib\hbzlib.lib + >> b32.bc
   echo $(HBDIR)\lib\hbziparc.lib + >> b32.bc
   echo $(HBDIR)\lib\hbmzip.lib + >> b32.bc
   echo $(HBDIR)\lib\minizip.lib + >> b32.bc
   echo $(HBDIR)\lib\hbpcre.lib + >> b32.bc

   echo $(BCDIR)\lib\cw32.lib + >> b32.bc
   echo $(BCDIR)\lib\import32.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\shell32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\gdiplus.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\rasapi32.lib, >> b32.bc

   $(BCDIR)\bin\ilink32 -Gn -aa -Tpe -s @b32.bc
   del b32.bc

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

.c.obj:
  echo -c -tWM -D__HARBOUR__ -DHB_API_MACROS > tmp
  echo -I$(HBDIR)\include;$(FWDIR)\include >> tmp
  $(BCDIR)\bin\bcc32 -oobj\$& @tmp $&.c
  del tmp

 

Re: Borland makefile for Harbour + FWH + BCC7

Posted: Sun Dec 25, 2016 5:14 pm
by Compuin
Gracias Maestro

Feliz Navidad!!

Re: Borland makefile for Harbour + FWH + BCC7

Posted: Thu Dec 29, 2016 10:44 am
by luiz53
How would you look only with the .RES file PELLESC ?
I do not use .RC only .RES

Antonio Linares wrote:Si no usas un fichero RC entonces tienes que modificar el fichero make asi:

Re: Borland makefile for Harbour + FWH + BCC7

Posted: Thu Dec 29, 2016 3:37 pm
by Antonio Linares
myapp.exe : $(OBJS) myapp.res

...

echo myapp.res >> b32.bc
$(BCDIR)\bin\ilink32 -Gn -aa -Tpe -s @b32.bc

thats all for a .RES file, with no .RC

Re: Borland makefile for Harbour + FWH + BCC7

Posted: Fri Dec 30, 2016 9:36 am
by FiveWiDi
Antonio, este Make es para la versión BCC7 a 32b?
Y para 64b?
O es lo mismo? No verdad?

Saludos y Feliz 2017
Antonio Linares wrote:Si no usas un fichero RC entonces tienes que modificar el fichero make asi:

Code: Select all

HBDIR=c:\harbour
BCDIR=c:\bcc7
FWDIR=c:\fwh

.path.obj = .\obj
.path.prg = .\
.path.ch  = $(FWDIR)\include;$(HBDIR)\include
.path.c   = .\

PRG = \
.\one.prg \
.\two.prg \
.\three.prg

OBJ=$(PRG:.prg=.obj)
OBJS=$(OBJ:.\=.\obj\)

PROJECT : myapp.exe

myapp.exe : $(OBJS) 
   echo off
   echo $(BCDIR)\lib\c0w32.obj + > b32.bc
   echo $(OBJS), + >> b32.bc
   echo myapp.exe, + >> b32.bc
   echo myapp.map, + >> b32.bc
   echo $(FWDIR)\lib\FiveH.lib $(FWDIR)\lib\FiveHC.lib + >> b32.bc
   echo $(HBDIR)\lib\hbrtl.lib + >> b32.bc
   echo $(HBDIR)\lib\hbvm.lib + >> b32.bc
   echo $(HBDIR)\lib\gtgui.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\hbwin.lib + >> b32.bc
   echo $(HBDIR)\lib\hbcpage.lib + >> b32.bc
   echo $(HBDIR)\lib\hbct.lib + >> b32.bc
   echo $(HBDIR)\lib\hbcplr.lib + >> b32.bc
   echo $(HBDIR)\lib\xhb.lib + >> b32.bc
   echo $(HBDIR)\lib\png.lib + >> b32.bc
   echo $(HBDIR)\lib\hbzlib.lib + >> b32.bc
   echo $(HBDIR)\lib\hbziparc.lib + >> b32.bc
   echo $(HBDIR)\lib\hbmzip.lib + >> b32.bc
   echo $(HBDIR)\lib\minizip.lib + >> b32.bc
   echo $(HBDIR)\lib\hbpcre.lib + >> b32.bc

   echo $(BCDIR)\lib\cw32.lib + >> b32.bc
   echo $(BCDIR)\lib\import32.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\shell32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\gdiplus.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\rasapi32.lib, >> b32.bc

   $(BCDIR)\bin\ilink32 -Gn -aa -Tpe -s @b32.bc
   del b32.bc

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

.c.obj:
  echo -c -tWM -D__HARBOUR__ -DHB_API_MACROS > tmp
  echo -I$(HBDIR)\include;$(FWDIR)\include >> tmp
  $(BCDIR)\bin\bcc32 -oobj\$& @tmp $&.c
  del tmp

 

Re: Borland makefile for Harbour + FWH + BCC7

Posted: Fri Dec 30, 2016 3:39 pm
by Antonio Linares
Carlos,

> este Make es para la versión BCC7 a 32b?

si

Para 64 bits es similar, pero no es el mismo.

Voy a publicarlo cuanto antes

Re: Borland makefile for Harbour + FWH + BCC7

Posted: Tue Mar 28, 2017 2:51 pm
by James Bott
I am trying to get the sample make file Antonio posted working and it always errors out with a syntax error starting at line 23 and every line thereafter also shows a syntax error. I have checked and rechecked it and can't find the problem. The only difference I note is that I am using xHarbour instead of Harbour. I did not change anything in line 23.

Any ideas? Maybe the Harbour and xHarbour Make.exe's are not compatible?

Code: Select all

HBDIR=c:\xharbour
BCDIR=c:\bcc7
FWDIR=c:\fwh

.path.obj = .\obj
.path.prg = .\
.path.ch  = $(FWDIR)\include;$(HBDIR)\include
.path.c   = .\
.path.rc  = .\

PRG = \
.\project.prg \
.\texpense.prg \
.\logpost.prg

OBJ=$(PRG:.prg=.obj)
OBJS=$(OBJ:.\=.\obj\)

PROJECT : arw.exe

arw.exe : $(OBJS) arw.res
   echo off
   echo $(BCDIR)\lib\c0w32.obj + > b32.bc                # Starts showing syntax error at this line and all successive lines.
   echo $(OBJS), + >> b32.bc
   echo arw.exe, + >> b32.bc
   echo arw.map, + >> b32.bc
   echo $(FWDIR)\lib\FiveH.lib $(FWDIR)\lib\FiveHC.lib + >> b32.bc
   echo $(HBDIR)\lib\hbrtl.lib + >> b32.bc
   echo $(HBDIR)\lib\hbvm.lib + >> b32.bc
   echo $(HBDIR)\lib\gtgui.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\hbwin.lib + >> b32.bc
   echo $(HBDIR)\lib\hbcpage.lib + >> b32.bc
   echo $(HBDIR)\lib\hbct.lib + >> b32.bc
   echo $(HBDIR)\lib\hbcplr.lib + >> b32.bc
   echo $(HBDIR)\lib\xhb.lib + >> b32.bc
   echo $(HBDIR)\lib\png.lib + >> b32.bc
   echo $(HBDIR)\lib\hbzlib.lib + >> b32.bc
   echo $(HBDIR)\lib\hbziparc.lib + >> b32.bc
   echo $(HBDIR)\lib\hbmzip.lib + >> b32.bc
   echo $(HBDIR)\lib\minizip.lib + >> b32.bc
   echo $(HBDIR)\lib\hbpcre.lib + >> b32.bc

   echo $(BCDIR)\lib\cw32.lib + >> b32.bc
   echo $(BCDIR)\lib\import32.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\shell32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\gdiplus.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\rasapi32.lib, >> b32.bc

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

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

.c.obj:
  echo -c -tWM -D__HARBOUR__ -DHB_API_MACROS > tmp
  echo -I$(HBDIR)\include;$(FWDIR)\include >> tmp
  $(BCDIR)\bin\bcc32 -oobj\$& @tmp $&.c
  del tmp

arw.res : arw.rc
  c:\bcc7 $(BCDIR)\bin\brc32.exe -r -Ic:\bcc7\include\windows\sdk myapp.rc