Page 1 of 1

Agregar archivo .c a mak de compilacion

Posted: Wed Oct 24, 2018 11:23 pm
by Compuin
Saludos

Quien me puede decir que esta mal en mi .mak...no me deja crear un .exe si agrego un archivo .c

Code: Select all

#Borland make sample, (c) FiveTech Software 2005-2009

HBDIR=..\..\harbour32
BCDIR=..\..\bcc73
FWDIR=..\..\fwh1705

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

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

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

C =          \
.\BPaint.c      \ 

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

PROJECT :fiducia.exe

fiducia.exe : $(OBJS)

   echo off
   echo $(BCDIR)\lib\c0w32.obj + > b32.bc
   echo $(OBJS), + >> b32.bc

 


Gracias de antemano

Re: Agregar archivo .c a mak de compilacion

Posted: Thu Oct 25, 2018 12:00 am
by cnavarro
Prueba usando siempre las extensiones a las que hagas referencia siempre en mayúsculas

Code: Select all

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

C =          \
.\BPaint.C      \ 

OBJ=$(C:.C=.OBJ)
OBJ=$(PRG:.PRG=.OBJ)

 

Re: Agregar archivo .c a mak de compilacion

Posted: Thu Oct 25, 2018 12:17 am
by Compuin
cnavarro wrote:Prueba usando siempre las extensiones a las que hagas referencia siempre en mayúsculas

Code: Select all

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

C =          \
.\BPaint.C      \ 

OBJ=$(C:.C=.OBJ)
OBJ=$(PRG:.PRG=.OBJ)

 
No crea los .obj ni los .c

Crea un .exe directamente que no funciona

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

C =          \
.\BPaint.C      \


OBJ=$(C:.C=.OBJ)
OBJ=$(PRG:.PRG=.OBJ)

PROJECT : fiducia.exe

fiducia.exe : $(OBJS)

Re: Agregar archivo .c a mak de compilacion

Posted: Thu Oct 25, 2018 12:30 am
by cnavarro
A ver si puedes ver lo que te falta
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: Agregar archivo .c a mak de compilacion

Posted: Thu Oct 25, 2018 12:32 am
by Compuin
cnavarro wrote:A ver si puedes ver lo que te falta
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

Falta incluir los archivos .C

Tambien falta las mayusculas para .PRG

Re: Agregar archivo .c a mak de compilacion

Posted: Thu Oct 25, 2018 12:54 am
by Compuin
Hice ajustes y ahora me arroja esto

Embarcadero C++ 7.30 for Win32 Copyright (c) 1993-2017 Embarcadero Technologies,
Inc.
Error E2194: Could not find file 'three.c'

** error 1 ** deleting .\obj\three.OBJ

Re: Agregar archivo .c a mak de compilacion

Posted: Thu Oct 25, 2018 10:54 am
by Compuin
Alguna firma de hacerlo?

El .mak que trae fwh no permite agregar archivos en . C

Re: Agregar archivo .c a mak de compilacion

Posted: Thu Oct 25, 2018 3:35 pm
by Compuin
Algun advise?

Re: Agregar archivo .c a mak de compilacion

Posted: Fri May 31, 2019 3:57 pm
by Compuin
Compuin wrote:Algun advise?
Any help ?

Re: Agregar archivo .c a mak de compilacion

Posted: Mon Jun 03, 2019 3:10 pm
by armando.lagunas
Saludos

Quien me puede decir que esta mal en mi .mak...no me deja crear un .exe si agrego un archivo .c




que archivo .c estas incluyendo?

yo coloco código .c incorporado directamente dentro de un prg al final del mismo

un ejemplo:

Code: Select all


function MyPrg()
...
...
...
Return Nil
//---------------

#pragma BEGINDUMP

      #include <windows.h>

      HB_FUNC( BUILDIMAGE )
     {
       HDC  hDc1 = CreateCompatibleDC( NULL ) ;

       LPSTR cImage = hb_parc( 1 ) ;

       HBITMAP      hBitmap ;
       BITMAPINFO   bmi     ;
       BITMAPFILEHEADER bmh ;

       VOID       * pvBits ;
       BYTE       * pvDats ;
       BITMAPINFO * lpbi   ;

       pvDats  = &cImage[0] ;
       bmh     = * ( BITMAPFILEHEADER * ) pvDats ;
       pvDats += 14 ;
       lpbi    = ( BITMAPINFO * ) pvDats ;
       pvDats += ( bmh.bfOffBits-14 ) ;
       bmi     = * lpbi ;

       hBitmap = CreateDIBSection( hDc1, &bmi, DIB_RGB_COLORS, &pvBits, NULL, 0 ) ;

       SetDIBits( hDc1, hBitmap, 0L, bmi.bmiHeader.biHeight, pvDats, ( LPBITMAPINFO ) lpbi, ( DWORD ) DIB_RGB_COLORS ) ;

       DeleteDC( hDc1 ) ;

       hb_retnl( ( LONG ) hBitmap ) ;
     }

#pragma ENDDUMP

//---------
 
no se entiende mucho lo que solicitas.

espero que te ayude esto.