Este fichero .mak que adjunto me funcionaba bien y creo que no he cambiado nada.
- Code: Select all Expand view
HBDIR=c:\Harbour
BCDIR=c:\bcc73
FWDIR=c:\fwh
.path.obj = .\obj
.path.prg = .\
.path.ch = $(FWDIR)\include;$(HBDIR)\include
.path.c = .\
.path.rc = .\
PRG = \
.\ASOCW.PRG \
.\UTILS.prg
OBJ=$(PRG:.prg=.obj)
OBJS=$(OBJ:.\=.\obj\)
PROJECT : Asocw.exe
Asocw.exe : $(OBJS) Asocw.res
echo off
echo $(BCDIR)\lib\c0w32.obj + > b32.bc
echo $(OBJS), + >> b32.bc
echo Asocw.exe, + >> b32.bc
echo Asocw.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 Asocw.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
Asocw.res : Asocw.rc
$(BCDIR)\bin\brc32.exe -r -Ic:\bcc73\include\windows\sdk Asocw.rc
Ahora mismo me da error
Error: 'C:\GESTASOC\OBJ\ASOCW.PRG' contains invalid OMF record, type 0x2f ** error 2 ** deleting Asocw.exe
Que buscando en el foro y visto que le paso a Angel Salom y Antonio le contesto esto.
"Estás intentando enlazar un fichero con extension .C en vez de .OBJ"
Pero como lo corrijo , tambien me gustaria en este mak no tener que grabar los .prg en el directorio obj para que los compilara.
sera aqui.
- Code: Select all Expand view
OBJ=$(PRG:.prg=.obj)
OBJS=$(OBJ:.\=.\obj\)
Como cambiarlo para que los compile si estan en el raiz en este caso c:\gestAsoc -u en otro directorio. ejemplo c:\GESTASOC\SOURCE
Gracias por vuestra inestimable ayuda.