FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Ayuda usando MAK para compilar
Posts: 1078
Joined: Thu Sep 27, 2007 03:47 PM
Ayuda usando MAK para compilar
Posted: Fri May 22, 2015 06:58 PM
Saludos al Forum

Tengo este archivo .mak para compilar y construir el ejecutable.
que error tengo al compilar el los archivos C no los agrega al archivo .bc
no hace esto

COBJ=$(C:.c=.obj)
COBJS=$(COBJ:.\=.\obj_h\)

lo deberia juntar los dos asi
echo $(OBJS) $(COBJS), + >> b32.bc

Cual puede ser el error

Gracias


Code (fw): Select all Collapse
HBDIR=\harbour
BCDIR=\bcc582
FWDIR=\fwh
fprg =\v_xharb_v3

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

HFLAG1 = /n /m /es2 /gc1
HCLAG1 = -c -tWM

CINCLU =  $(HBDIR)\include;$(fprg)\include;$(FWDIR)\include
CINCL1 =  $(HBDIR)\include
CINCL2 =  $(BCDIR)\include

OBJFIL =  .\obj_h

NOMEXE =  plasmenh
LIBFIL =  $(fprg)\lib\Harb

DEFX=__HARBOUR__
DEXP=__EXPORT__

EXTLIBFILES =
DEFFILE = 
HBFLAGS =  -w0
CFLAG1 =  -OS $(SHELL)  $(CFLAGS) -d -c -L$(HBDIR)\lib 

RFLAGS = 
LFLAGS = -L$(BCDIR)\lib\obj;$(BCDIR)\lib;$(HBDIR)\lib -Gn -M -m -s -Tpe -x -ap
IFLAGS = 
LINKER = ilink32
 
ALLOBJ = c0x32.obj $(OBJFILES) $(OBJCFILES)
ALLRES = $(RESDEPEN)
ALLLIB = $(LIBFILES) import32.lib cw32.lib

PRG =        \
.\PXPMENU.prg \
.\PXP0013.prg \
.\PXPASIG.prg \
.\PXPASIG1.prg \
.\PXPASIGa.prg \
.\PXPASIG1a.prg \
.\PXPBR27.prg \

C =            \
menu.c \
menu1.c \

CPP =            \

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

COBJ=$(C:.c=.obj)
COBJS=$(COBJ:.\=.\obj_h\)

COBJ=$(CPP:.cpp=.obj)
COBJS=$(COBJ:.\=.\obj_h\)

PROJECT    : $(NOMEXE).exe


$(NOMEXE).exe  : $(OBJS) $(COBJS) $(NOMEXE).res
   echo off
   echo $(BCDIR)\lib\c0x32.obj + > b32.bc
   echo $(OBJS) $(COBJS), + >> b32.bc
   echo $(NOMEXE).exe, + >> b32.bc
   echo $(NOMEXE).map, + >> b32.bc

   echo $(HBDIR)\lib\hblang.lib + >> b32.bc
   echo $(HBDIR)\lib\hbvm.lib + >> b32.bc
   echo $(HBDIR)\lib\hbrtl.lib + >> b32.bc
   echo $(HBDIR)\lib\hbrdd.lib + >> b32.bc
   echo $(HBDIR)\lib\hbmacro.lib + >> b32.bc
   echo $(HBDIR)\lib\hbpp.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\hbcommon.lib + >> b32.bc
   echo $(HBDIR)\lib\gtwin.lib + >> b32.bc 
   echo $(HBDIR)\lib\hbcpage.lib + >> b32.bc
   echo $(HBDIR)\lib\hbct.lib + >> b32.bc
   echo $(HBDIR)\lib\hbtip.lib + >> b32.bc 
   echo $(HBDIR)\lib\hbpcre.lib + >> b32.bc
   echo $(HBDIR)\lib\hbhsx.lib + >> b32.bc 
   echo $(HBDIR)\lib\hbsix.lib + >> b32.bc 
   echo $(HBDIR)\lib\hbdebug.lib + >> b32.bc
   echo $(HBDIR)\lib\hbhpdf.lib + >> b32.bc 
   echo $(HBDIR)\lib\png.lib + >> b32.bc
   echo $(HBDIR)\lib\hbzlib.lib + >> b32.bc
   echo $(HBDIR)\lib\hbnf-bcc.lib + >> b32.bc
   echo $(HBDIR)\lib\hbmisc.lib + >> b32.bc
   echo $(HBDIR)\lib\gtwvt.lib + >> b32.bc
   echo $(HBDIR)\lib\gtwvg.lib + >> b32.bc

   echo $(HBDIR)\lib\xhb.lib + >> b32.bc
   echo $(HBDIR)\lib\hbcplr.lib + >> b32.bc
   echo $(HBDIR)\lib\hbwin.lib + >> b32.bc
   echo $(HBDIR)\lib\gtgui.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\rasapi32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\shell32.lib + >> b32.bc


   echo $(BCDIR)\lib\psdk\psapi.lib + >> b32.bc

   echo $(LIBFIL)\librub_h.lib + >> b32.bc
   echo $(LIBFIL)\librub1_h.lib + >> b32.bc
   echo $(LIBFIL)\grump_h.lib + >> b32.bc
   echo $(LIBFIL)\libsuper_h.lib + >> b32.bc
   echo $(LIBFIL)\librepo_h.lib + >> b32.bc
   echo $(LIBFIL)\filexls_h.lib + >> b32.bc
   echo $(LIBFIL)\librxls_h.lib + >> b32.bc
   echo $(LIBFIL)\TWBRWX32_H.lib + >> b32.bc
   echo $(LIBFIL)\tmysql_h.lib + >> b32.bc
   echo $(LIBFIL)\postgres_h.lib + >> b32.bc
  echo $(LIBFIL)\libmysql.lib + >> b32.bc
   echo $(LIBFIL)\EasyRep_h.lib + >> b32.bc
   echo $(FWDIR)\lib\FiveH.lib $(FWDIR)\lib\FiveHC.lib + >> b32.bc

 
   $(BCDIR)\bin\ilink32 -Gn -aa -Tpe -s @b32.bc
   del b32.bc
   del .\obj_h\*.* /Q
   del .\obj_h\*.c /Q
   del *.tds /Q
   upx $(NOMEXE).exe -9 

.PRG.OBJ:
  $(HBDIR)\bin\harbour $< $(HFLAG1) -D$(DEXP) -D$(DEFX) /O$(OBJFIL)\ /I$(CINCLU)
  $(BCDIR)\bin\bcc32 $(HCLAG1) -I$(CINCL1) -o$(OBJFIL)\$& $(OBJFIL)\$&.c

.C.OBJ:
  echo $(HCLAG1) -D$(DEFX) -DHB_API_MACROS > tmp
  echo -I$(HBDIR)\include;$(FWDIR)\include >> tmp
  $(BCDIR)\bin\bcc32 -o$(OBJFIL)\$& @tmp $<
  del tmp

.CPP.OBJ:
  echo $(HCLAG1) -D$(DEFX) -DHB_API_MACROS > tmp
  echo -I$(HBDIR)\include;$(FWDIR)\include >> tmp
  $(BCDIR)\bin\bcc32 -o$(OBJFIL)\$& @tmp $<
  del tmp

$(NOMEXE).res : $(NOMEXE).rc
  $(BCDIR)\bin\brc32.exe -r -I$(BCDIR)\include $(NOMEXE).rc
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Ayuda usando MAK para compilar
Posted: Fri May 22, 2015 07:31 PM

Ruben prueba a poner las extensiones de los archivos en mayúsculas

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: 1078
Joined: Thu Sep 27, 2007 03:47 PM
Re: Ayuda usando MAK para compilar
Posted: Fri May 22, 2015 08:10 PM
cnavarro wrote:Ruben prueba a poner las extensiones de los archivos en mayúsculas


Gracias

Si me compilar y me genera los OBJ y problema es cuando construye egrega los obj de C


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

OBJ=$(C:.c=.obj) //este compila el .c
COBJS=$(OBJ:.\=.\obj_h\)

lo que requiero es que ,me agregue a la lista los obj de c

Tienes algun ejemplo con mak que manejes .PRG y .C para crear un .EXE
me lo podrias mostrar para verificar.

Code (fw): Select all Collapse
\bcc582\lib\c0x32.obj + 
.\obj_h\PXPMENU.obj  .\obj_h\PXP0013.obj  .\obj_h\PXPASIG.obj  .\obj_h\PXPASIG1.obj  .\obj_h\PXPASIGa.obj  .\obj_h\PXPASIG1a.obj  .\obj_h\PDOS_1FOR.obj  .\obj_h\PDOSCLI_1.obj  .\obj_h\CLASERUB_DOS.obj  .\obj_h\CLIPRT.obj  .\obj_h\TXTVIEW.obj  .\obj_h\PCLASRPV.obj  .\obj_h\PXPCONVER.obj  .\obj_h\PXPEJEMP.obj  .\obj_h\listbox_.obj  .\obj_h\PXPDEFBRO.obj  .\obj_h\PXPDEFREP.obj  .\obj_h\PXPDEFBRE.obj , + 
plasmenh.exe, + 
plasmenh.map, + 
\harbour\lib\hblang.lib + 
\harbour\lib\hbvm.lib + 
\harbour\lib\hbrtl.lib + 
\harbour\lib\hbrdd.lib + 
\harbour\lib\hbmacro.lib + 
\harbour\lib\hbpp.lib + 
\harbour\lib\rddntx.lib + 
\harbour\lib\rddcdx.lib + 
\harbour\lib\rddfpt.lib + 
\harbour\lib\hbcommon.lib + 
\harbour\lib\gtwin.lib +  
\harbour\lib\hbcpage.lib + 
\harbour\lib\hbct.lib + 
\harbour\lib\hbtip.lib +  
\harbour\lib\hbpcre.lib + 
\harbour\lib\hbhsx.lib +  
\harbour\lib\hbsix.lib +  
\harbour\lib\hbdebug.lib + 
\harbour\lib\hbhpdf.lib +  
\harbour\lib\png.lib + 
\harbour\lib\hbzlib.lib + 
\harbour\lib\hbnf-bcc.lib + 
\harbour\lib\hbmisc.lib + 
\harbour\lib\gtwvt.lib + 
\harbour\lib\gtwvg.lib + 
\harbour\lib\xhb.lib + 
\harbour\lib\hbcplr.lib + 
\harbour\lib\hbwin.lib + 
\harbour\lib\gtgui.lib + 
\bcc582\lib\cw32.lib + 
\bcc582\lib\import32.lib + 
\bcc582\lib\psdk\odbc32.lib + 
\bcc582\lib\psdk\nddeapi.lib + 
\bcc582\lib\psdk\iphlpapi.lib + 
\bcc582\lib\psdk\msimg32.lib + 
\bcc582\lib\psdk\rasapi32.lib + 
\bcc582\lib\psdk\shell32.lib + 
\bcc582\lib\psdk\psapi.lib + 
\v_xharb_v3\lib\Harb\librub_h.lib + 
\v_xharb_v3\lib\Harb\librub1_h.lib + 
\v_xharb_v3\lib\Harb\grump_h.lib + 
\v_xharb_v3\lib\Harb\libsuper_h.lib + 
\v_xharb_v3\lib\Harb\librepo_h.lib + 
\v_xharb_v3\lib\Harb\filexls_h.lib + 
\v_xharb_v3\lib\Harb\librxls_h.lib + 
\v_xharb_v3\lib\Harb\TWBRWX32_H.lib + 
\v_xharb_v3\lib\Harb\tmysql_h.lib + 
\v_xharb_v3\lib\Harb\postgres_h.lib + 
\v_xharb_v3\lib\Harb\libmysql.lib + 
\v_xharb_v3\lib\Harb\EasyRep_h.lib + 
\fwh\lib\FiveH.lib \fwh\lib\FiveHC.lib +
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Ayuda usando MAK para compilar
Posted: Fri May 22, 2015 08:31 PM
Aqui lo tienes

Code (fw): Select all Collapse
#Borland make PRUCMENU

HBDIR=c:\harbour
BCDIR=c:\Borland\bcc69
FWDIR=c:\fwh

#change these paths as needed
.path.OBJ = .\obj
.path.PRG = D:\Proyectos\source\prgs
.path.CH  = $(FWDIR)\include;$(HBDIR)\include;D:\Proyectos\include
.path.C   = D:\Proyectos\source\cs
.path.rc  = .\

#Important: Use Uppercase for filenames extensions

PRG =        \
prucmenu.PRG    \
extclass.PRG \
cpdmenu.PRG  \
cmenuite.PRG  \
cmenu.PRG  

C =          \
ctmenus.C \
cbrushes.C  \
menudraw.C

PROJECT    : Prucmenu.exe

Prucmenu.exe  : $(PRG:.PRG=.OBJ) $(C:.C=.OBJ) Prucmenu.res
   echo off
   echo $(BCDIR)\lib\c0w32.obj + > b32.bc
   echo obj\prucmenu.obj + >> b32.bc
   echo obj\ctmenus.obj + >> b32.bc
   echo obj\cbrushes.obj + >> b32.bc
   echo obj\menudraw.obj + >> b32.bc
   echo obj\extclass.obj + >> b32.bc
   echo obj\cmenu.obj + >> b32.bc
   echo obj\cmenuite.obj  + >> b32.bc
   echo obj\cpdmenu.obj,  + >> b32.bc
   echo prucmenu.exe, + >> b32.bc
   echo prucmenu.map, + >> b32.bc
   echo $(FWDIR)\lib\FiveH.lib + >> b32.bc
   echo $(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\xhb.lib + >> b32.bc
   echo $(HBDIR)\lib\hbzlib.lib + >> b32.bc 
   echo $(HBDIR)\lib\minizip.lib + >> b32.bc 
   echo $(HBDIR)\lib\hbcplr.lib + >> b32.bc
   echo $(HBDIR)\lib\png.lib + >> b32.bc
   echo $(HBDIR)\lib\hbpcre.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\hbtip.lib  + >> b32.bc
   echo $(HBDIR)\lib\hbmisc.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\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

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

.PRG.OBJ:
  $(HBDIR)\bin\harbour $< /n /w /p /oobj\ /i$(FWDIR)\include;$(HBDIR)\include;D:\Proyectos\include
  $(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;D:\Proyectos\include >> tmp
  $(BCDIR)\bin\bcc32 -c -tWM -D__HARBOUR__ -DHB_API_MACROS -I$(HBDIR)\include;D:\Proyectos\include -oobj\$& $<  
  del tmp

prucmenu.res : prucmenu.rc
  $(BCDIR)\bin\brc32.exe -r prucmenu.rc
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: 1078
Joined: Thu Sep 27, 2007 03:47 PM
Re: Ayuda usando MAK para compilar
Posted: Sat May 23, 2015 12:42 AM

Gracias.

Veo que lo haces tu ingresas manual mente lo obj a la lista.

Te pregunto que hace esta instruccion

Important: Use Uppercase for filenames extensions

Saludos

Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Ayuda usando MAK para compilar
Posted: Sat May 23, 2015 06:40 AM
Es para que no se me olvide que ponga las extensiones de los archivos en mayusculas

Code (fw): Select all Collapse
#change these paths as needed
.path.OBJ = .\obj
.path.PRG = D:\Proyectos\source\prgs
.path.CH  = $(FWDIR)\include;$(HBDIR)\include;D:\Proyectos\include
.path.C   = D:\Proyectos\source\cs

#Important: Use Uppercase for filenames extensions
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

Continue the discussion