Page 1 of 1

Fichero make para msvc 32 bits funcionando

PostPosted: Sun Apr 24, 2022 1:04 pm
by jvtecheto
En un post Antonio informo de un fichero make para msvc 32 bits funcionando , también me interesaría tenerlo para probarlo. ya estoy utilizando el .hbp con éxito pero me gusta tener alternativas.

Con esto creo que dejaré el viejo Borland, nada es eterno amigos.

Saludos

Jose

Enviado desde mi Lenovo TB-J606F mediante Tapatalk

Re: Fichero make para msvc 32 bits funcionando

PostPosted: Sun Apr 24, 2022 1:40 pm
by Antonio Linares
José,

go.bat
Code: Select all  Expand view
call "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x86
nmake test.mak
test.exe

test.mak
Code: Select all  Expand view
HBDIR=c:\harbour
FWDIR=c:\fwh
VCDIR="c:\Program Files (x86)\Microsoft Visual Studio 11.0\VC"
SDKDIR="c:\Program Files (x86)\Windows Kits\7.1A"

.SUFFIXES: .prg .c .obj .rc .res

one.exe : one.obj two.obj three.obj one.res
   echo one.obj two.obj three.obj > msvc.tmp

   echo $(FWDIR)\lib\FiveH32.lib $(FWDIR)\lib\FiveHC32.lib >> msvc.tmp

   echo $(HBDIR)\lib\win\msvc\hbrtl.lib    >> msvc.tmp
   echo $(HBDIR)\lib\win\msvc\hbvm.lib     >> msvc.tmp
   echo $(HBDIR)\lib\win\msvc\gtgui.lib    >> msvc.tmp
   echo $(HBDIR)\lib\win\msvc\hblang.lib   >> msvc.tmp
   echo $(HBDIR)\lib\win\msvc\hbmacro.lib  >> msvc.tmp
   echo $(HBDIR)\lib\win\msvc\hbrdd.lib    >> msvc.tmp
   echo $(HBDIR)\lib\win\msvc\rddntx.lib   >> msvc.tmp
   echo $(HBDIR)\lib\win\msvc\rddcdx.lib   >> msvc.tmp
   echo $(HBDIR)\lib\win\msvc\rddfpt.lib   >> msvc.tmp
   echo $(HBDIR)\lib\win\msvc\hbsix.lib    >> msvc.tmp
   echo $(HBDIR)\lib\win\msvc\hbdebug.lib  >> msvc.tmp
   echo $(HBDIR)\lib\win\msvc\hbcommon.lib >> msvc.tmp
   echo $(HBDIR)\lib\win\msvc\hbpp.lib     >> msvc.tmp
   echo $(HBDIR)\lib\win\msvc\hbwin.lib    >> msvc.tmp
   echo $(HBDIR)\lib\win\msvc\hbcplr.lib   >> msvc.tmp
   echo $(HBDIR)\lib\win\msvc\xhb.lib      >> msvc.tmp
   echo $(HBDIR)\lib\win\msvc\hbpcre.lib   >> msvc.tmp
   echo $(HBDIR)\lib\win\msvc\hbct.lib     >> msvc.tmp
   echo $(HBDIR)\lib\win\msvc\hbcpage.lib  >> msvc.tmp
   echo $(HBDIR)\lib\win\msvc\hbzlib.lib   >> msvc.tmp
   echo $(HBDIR)\lib\win\msvc\png.lib      >> msvc.tmp
   echo $(HBDIR)\lib\win\msvc\hbziparc.lib >> msvc.tmp
   echo $(HBDIR)\lib\win\msvc\hbmzip.lib   >> msvc.tmp
   echo $(HBDIR)\lib\win\msvc\minizip.lib  >> msvc.tmp

   echo kernel32.lib  >> msvc.tmp
   echo user32.lib    >> msvc.tmp
   echo gdi32.lib     >> msvc.tmp
   echo winspool.lib  >> msvc.tmp
   echo comctl32.lib  >> msvc.tmp
   echo comdlg32.lib  >> msvc.tmp
   echo advapi32.lib  >> msvc.tmp
   echo shell32.lib   >> msvc.tmp
   echo ole32.lib     >> msvc.tmp
   echo oleaut32.lib  >> msvc.tmp
   echo uuid.lib      >> msvc.tmp
   echo odbc32.lib    >> msvc.tmp
   echo odbccp32.lib  >> msvc.tmp
   echo iphlpapi.lib  >> msvc.tmp
   echo mpr.lib       >> msvc.tmp
   echo version.lib   >> msvc.tmp
   echo wsock32.lib   >> msvc.tmp
   echo msimg32.lib   >> msvc.tmp
   echo oledlg.lib    >> msvc.tmp
   echo psapi.lib     >> msvc.tmp
   echo gdiplus.lib   >> msvc.tmp
   echo winmm.lib     >> msvc.tmp

   IF EXIST one.res echo one.res >> msvc.tmp

   link /OUT:test.exe @msvc.tmp /nologo /subsystem:windows /force:multiple /NODEFAULTLIB:msvcrt
   @del one.c
   @del two.c
   @del three.c
   @del msvc.tmp

one.obj   : one.c
two.obj   : two.c
three.obj : three.c

one.c   : one.prg
two.c   : two.prg
three.c : three.prg

one.res : one.rc
   rc.exe -r -d__FLAT__ one.rc

.prg.c:
   $(HBDIR)\bin\harbour $< /n /i$(FWDIR)\include;$(HBDIR)\include

.c.obj:
   cl.exe -c -TC -W3 -I$(HBDIR)\include -I$(SDKDIR)\include -I$(VCDIR)\include $<
 

Re: Fichero make para msvc 32 bits funcionando

PostPosted: Sun Apr 24, 2022 5:41 pm
by jvtecheto
Hola Antonio.

Gracias por tu ayuda.

Una cosa en el make de borland usabamos para fijar los directorios de los archivos. Por ejemplo yo tengo el proyecto en una carpeta y a partir de ahi tengoç
\obj
\source
\resource
etc.

Code: Select all  Expand view

.path.obj = .\obj
.path.prg = .\source
.path.ch  = $(FWDIR)\include;$(HBDIR)\include
.path.c   = .\obj
.path.rc  = .\resource
 


¿Como seria para fijar los directorios en msvc ?

Saludos.

Jose.

Re: Fichero make para msvc 32 bits funcionando

PostPosted: Tue Apr 26, 2022 8:51 pm
by remtec
Hola José

Has podido hacer funcionar la compilación con archivo MAK en Microsoft Visual Studio?

Muchos saludos.

Antonio

Re: Fichero make para msvc 32 bits funcionando

PostPosted: Wed Apr 27, 2022 8:28 am
by jvtecheto
Hola amigo.

Pues la verdad que no, ya que tengo organizados los proyectos en subdirectorios

\source
\resource
\obj

Nadie me dice como fijar los subdirectorios como hacia con el Borland. (pregunta de arriba).

Espero conseguirlo en un futuro.

Gracias por tu interes

Un abrazo

Jose.

Re: Fichero make para msvc 32 bits funcionando

PostPosted: Wed Apr 27, 2022 8:33 am
by Antonio Linares