Agregar archivo .c a mak de compilacion

Post Reply
Compuin
Posts: 1017
Joined: Tue Dec 28, 2010 1:29 pm

Agregar archivo .c a mak de compilacion

Post 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
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Agregar archivo .c a mak de compilacion

Post 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)

 
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Compuin
Posts: 1017
Joined: Tue Dec 28, 2010 1:29 pm

Re: Agregar archivo .c a mak de compilacion

Post 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)
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Agregar archivo .c a mak de compilacion

Post 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
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Compuin
Posts: 1017
Joined: Tue Dec 28, 2010 1:29 pm

Re: Agregar archivo .c a mak de compilacion

Post 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
Compuin
Posts: 1017
Joined: Tue Dec 28, 2010 1:29 pm

Re: Agregar archivo .c a mak de compilacion

Post 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
Compuin
Posts: 1017
Joined: Tue Dec 28, 2010 1:29 pm

Re: Agregar archivo .c a mak de compilacion

Post by Compuin »

Alguna firma de hacerlo?

El .mak que trae fwh no permite agregar archivos en . C
Compuin
Posts: 1017
Joined: Tue Dec 28, 2010 1:29 pm

Re: Agregar archivo .c a mak de compilacion

Post by Compuin »

Algun advise?
Compuin
Posts: 1017
Joined: Tue Dec 28, 2010 1:29 pm

Re: Agregar archivo .c a mak de compilacion

Post by Compuin »

Compuin wrote:Algun advise?
Any help ?
User avatar
armando.lagunas
Posts: 340
Joined: Mon Oct 05, 2009 3:35 pm
Location: Curico-Chile
Contact:

Re: Agregar archivo .c a mak de compilacion

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