Ayuda usando MAK para compilar

Post Reply
User avatar
ruben Dario
Posts: 1070
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Ayuda usando MAK para compilar

Post by ruben Dario »

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



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
User avatar
cnavarro
Posts: 6557
Joined: Wed Feb 15, 2012 8:25 pm
Location: España
Been thanked: 3 times

Re: Ayuda usando MAK para compilar

Post by cnavarro »

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
User avatar
ruben Dario
Posts: 1070
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: Ayuda usando MAK para compilar

Post by ruben Dario »

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



\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
User avatar
cnavarro
Posts: 6557
Joined: Wed Feb 15, 2012 8:25 pm
Location: España
Been thanked: 3 times

Re: Ayuda usando MAK para compilar

Post by cnavarro »

Aqui lo tienes

Code: Select all | Expand


#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
User avatar
ruben Dario
Posts: 1070
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: Ayuda usando MAK para compilar

Post by ruben Dario »

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
User avatar
cnavarro
Posts: 6557
Joined: Wed Feb 15, 2012 8:25 pm
Location: España
Been thanked: 3 times

Re: Ayuda usando MAK para compilar

Post by cnavarro »

Es para que no se me olvide que ponga las extensiones de los archivos en mayusculas

Code: Select all | Expand


#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
Post Reply