.vcproj to Makefile

  • Thread starter Jacobo Rodriguez Villar
  • Start date
J

Jacobo Rodriguez Villar

Hello,

Is there any way (or program) to convert and maintain easily a C++
project (vs7.1) to a Makefile file, in order to build it in Linux?

Many thanks
--
Jacobo Rodríguez Villar

TyphoonLabs Lead Programmer

http://www.typhoonlabs.com
 
D

Derrick Coetzee [MSFT]

Jacobo Rodriguez Villar said:
Is there any way (or program) to convert and maintain easily a C++
project (vs7.1) to a Makefile file, in order to build it in Linux?

Here are a couple relevent threads:

comp.emulators.ms-windows.wine, makefile converter, 5/17/2001
http://groups-beta.google.com/group...s.wine/browse_thread/thread/e318a4364c377573/
Dev Shed Forums > ... > convert visual studio project to gcc
http://forums.devshed.com/archive/t-214272

As you've guessed, the information you need is in your .vcproj file. Be
warned that if you use any VC++-specific features, such as precompiled
headers or nonstandard APIs, especially the .NET Framework, this conversion
will be somewhat trickier. Automatic converters have been proposed by a
number of people ([1], [2], [3]), but none seem to have been made available.

Considering that generating dependencies is the most difficult part, you may
also be interested in solutions that autogenerate dependencies for your
source files. Then creating the Makefile would be a simple matter of listing
the source files and tweaking your flags and code. Such solutions exist, and
one good one that I've used is proposed in the GNU make manual:

GNU make manual: 4.14 Generating Prerequisites Automatically
http://www.gnu.org/software/make/manual/html_chapter/make_4.html#SEC51

I hope some of this helps. Please write back if you have any confusion or
additional issues.

[1] "The information of interest is in the .vcproj file. It is in XML and
could probably be parsed by an XML guru in about 5 minutes to create a
workable makefile for *nix." - mitakeet
http://forums.devshed.com/archive/t-214272

[2] "The VS.NET project files for VC are XML - building a .vcproj -> .mak
converter shouldn't be too hard for someone adept at Perl and XML." -
Yanhong Huang
http://groups-beta.google.com/group/microsoft.public.vc.mfc/browse_thread/thread/7689b8f0f46c83fd/

[3] "The VS.NET project files for VC are XML - building a .vcproj -> .mak
converter shouldn't be too hard for someone adept at Perl and XML (the
trick, of course, is learning the IDE -> XML mapping for all of the
options - no rocket science, just tedium)." - Carl Daniel
http://groups-beta.google.com/group...mework/browse_thread/thread/6a9e182da74a463b/
 
J

Jacobo Rodriguez Villar

Hello Derrick,

Many thanks, that's exactly what I was searching for. I have a 'large'
project (about 40 sources) of standard C++ code (no .NET, mfc or
something else, only STL) and I want to build it in linux, and manually
compilations is very annoying...

Thanks for your reply,
Jacobo
Jacobo Rodriguez Villar said:
Is there any way (or program) to convert and maintain easily a C++
project (vs7.1) to a Makefile file, in order to build it in Linux?


Here are a couple relevent threads:

comp.emulators.ms-windows.wine, makefile converter, 5/17/2001
http://groups-beta.google.com/group...s.wine/browse_thread/thread/e318a4364c377573/
Dev Shed Forums > ... > convert visual studio project to gcc
http://forums.devshed.com/archive/t-214272

As you've guessed, the information you need is in your .vcproj file. Be
warned that if you use any VC++-specific features, such as precompiled
headers or nonstandard APIs, especially the .NET Framework, this conversion
will be somewhat trickier. Automatic converters have been proposed by a
number of people ([1], [2], [3]), but none seem to have been made available.

Considering that generating dependencies is the most difficult part, you may
also be interested in solutions that autogenerate dependencies for your
source files. Then creating the Makefile would be a simple matter of listing
the source files and tweaking your flags and code. Such solutions exist, and
one good one that I've used is proposed in the GNU make manual:

GNU make manual: 4.14 Generating Prerequisites Automatically
http://www.gnu.org/software/make/manual/html_chapter/make_4.html#SEC51

I hope some of this helps. Please write back if you have any confusion or
additional issues.

[1] "The information of interest is in the .vcproj file. It is in XML and
could probably be parsed by an XML guru in about 5 minutes to create a
workable makefile for *nix." - mitakeet
http://forums.devshed.com/archive/t-214272

[2] "The VS.NET project files for VC are XML - building a .vcproj -> .mak
converter shouldn't be too hard for someone adept at Perl and XML." -
Yanhong Huang
http://groups-beta.google.com/group/microsoft.public.vc.mfc/browse_thread/thread/7689b8f0f46c83fd/

[3] "The VS.NET project files for VC are XML - building a .vcproj -> .mak
converter shouldn't be too hard for someone adept at Perl and XML (the
trick, of course, is learning the IDE -> XML mapping for all of the
options - no rocket science, just tedium)." - Carl Daniel
http://groups-beta.google.com/group...mework/browse_thread/thread/6a9e182da74a463b/


--
Jacobo Rodríguez Villar

TyphoonLabs Lead Programmer

http://www.typhoonlabs.com
 
R

Ronald Laeremans [MSFT]

For 40 source files (I assume that is what you have and not 40 projects).
Manually creating a makefile should probably take less than an hour.

Ronald

Jacobo Rodriguez Villar said:
Hello Derrick,

Many thanks, that's exactly what I was searching for. I have a 'large'
project (about 40 sources) of standard C++ code (no .NET, mfc or something
else, only STL) and I want to build it in linux, and manually compilations
is very annoying...

Thanks for your reply,
Jacobo
Jacobo Rodriguez Villar said:
Is there any way (or program) to convert and maintain easily a C++
project (vs7.1) to a Makefile file, in order to build it in Linux?


Here are a couple relevent threads:

comp.emulators.ms-windows.wine, makefile converter, 5/17/2001
http://groups-beta.google.com/group...s.wine/browse_thread/thread/e318a4364c377573/
Dev Shed Forums > ... > convert visual studio project to gcc
http://forums.devshed.com/archive/t-214272

As you've guessed, the information you need is in your .vcproj file. Be
warned that if you use any VC++-specific features, such as precompiled
headers or nonstandard APIs, especially the .NET Framework, this
conversion
will be somewhat trickier. Automatic converters have been proposed by a
number of people ([1], [2], [3]), but none seem to have been made
available.

Considering that generating dependencies is the most difficult part, you
may
also be interested in solutions that autogenerate dependencies for your
source files. Then creating the Makefile would be a simple matter of
listing
the source files and tweaking your flags and code. Such solutions exist,
and
one good one that I've used is proposed in the GNU make manual:

GNU make manual: 4.14 Generating Prerequisites Automatically
http://www.gnu.org/software/make/manual/html_chapter/make_4.html#SEC51

I hope some of this helps. Please write back if you have any confusion or
additional issues.

[1] "The information of interest is in the .vcproj file. It is in XML and
could probably be parsed by an XML guru in about 5 minutes to create a
workable makefile for *nix." - mitakeet
http://forums.devshed.com/archive/t-214272

[2] "The VS.NET project files for VC are XML - building a .vcproj -> .mak
converter shouldn't be too hard for someone adept at Perl and XML." -
Yanhong Huang
http://groups-beta.google.com/group/microsoft.public.vc.mfc/browse_thread/thread/7689b8f0f46c83fd/

[3] "The VS.NET project files for VC are XML - building a .vcproj -> .mak
converter shouldn't be too hard for someone adept at Perl and XML (the
trick, of course, is learning the IDE -> XML mapping for all of the
options - no rocket science, just tedium)." - Carl Daniel
http://groups-beta.google.com/group...mework/browse_thread/thread/6a9e182da74a463b/


--
Jacobo Rodríguez Villar

TyphoonLabs Lead Programmer

http://www.typhoonlabs.com
 
J

Jacobo Rodriguez Villar

Ups, I really meant 400 files, not 40, sorry :p
For 40 source files (I assume that is what you have and not 40 projects).
Manually creating a makefile should probably take less than an hour.

Ronald

Hello Derrick,

Many thanks, that's exactly what I was searching for. I have a 'large'
project (about 40 sources) of standard C++ code (no .NET, mfc or something
else, only STL) and I want to build it in linux, and manually compilations
is very annoying...

Thanks for your reply,
Jacobo

Is there any way (or program) to convert and maintain easily a C++
project (vs7.1) to a Makefile file, in order to build it in Linux?


Here are a couple relevent threads:

comp.emulators.ms-windows.wine, makefile converter, 5/17/2001
http://groups-beta.google.com/group...s.wine/browse_thread/thread/e318a4364c377573/
Dev Shed Forums > ... > convert visual studio project to gcc
http://forums.devshed.com/archive/t-214272

As you've guessed, the information you need is in your .vcproj file. Be
warned that if you use any VC++-specific features, such as precompiled
headers or nonstandard APIs, especially the .NET Framework, this
conversion
will be somewhat trickier. Automatic converters have been proposed by a
number of people ([1], [2], [3]), but none seem to have been made
available.

Considering that generating dependencies is the most difficult part, you
may
also be interested in solutions that autogenerate dependencies for your
source files. Then creating the Makefile would be a simple matter of
listing
the source files and tweaking your flags and code. Such solutions exist,
and
one good one that I've used is proposed in the GNU make manual:

GNU make manual: 4.14 Generating Prerequisites Automatically
http://www.gnu.org/software/make/manual/html_chapter/make_4.html#SEC51

I hope some of this helps. Please write back if you have any confusion or
additional issues.

[1] "The information of interest is in the .vcproj file. It is in XML and
could probably be parsed by an XML guru in about 5 minutes to create a
workable makefile for *nix." - mitakeet
http://forums.devshed.com/archive/t-214272

[2] "The VS.NET project files for VC are XML - building a .vcproj -> .mak
converter shouldn't be too hard for someone adept at Perl and XML." -
Yanhong Huang
http://groups-beta.google.com/group/microsoft.public.vc.mfc/browse_thread/thread/7689b8f0f46c83fd/

[3] "The VS.NET project files for VC are XML - building a .vcproj -> .mak
converter shouldn't be too hard for someone adept at Perl and XML (the
trick, of course, is learning the IDE -> XML mapping for all of the
options - no rocket science, just tedium)." - Carl Daniel
http://groups-beta.google.com/group...mework/browse_thread/thread/6a9e182da74a463b/


--
Jacobo Rodríguez Villar

TyphoonLabs Lead Programmer

http://www.typhoonlabs.com


--
Jacobo Rodríguez Villar

TyphoonLabs Lead Programmer

http://www.typhoonlabs.com
 
R

Ronald Laeremans [MSFT]

With that number starting with a tool like the GNU implementation mentioned
below that can extract the dependencies probably makes more sense.

Ronald

Jacobo Rodriguez Villar said:
Ups, I really meant 400 files, not 40, sorry :p
For 40 source files (I assume that is what you have and not 40 projects).
Manually creating a makefile should probably take less than an hour.

Ronald

Hello Derrick,

Many thanks, that's exactly what I was searching for. I have a 'large'
project (about 40 sources) of standard C++ code (no .NET, mfc or
something else, only STL) and I want to build it in linux, and manually
compilations is very annoying...

Thanks for your reply,
Jacobo




Is there any way (or program) to convert and maintain easily a C++
project (vs7.1) to a Makefile file, in order to build it in Linux?


Here are a couple relevent threads:

comp.emulators.ms-windows.wine, makefile converter, 5/17/2001
http://groups-beta.google.com/group...s.wine/browse_thread/thread/e318a4364c377573/
Dev Shed Forums > ... > convert visual studio project to gcc
http://forums.devshed.com/archive/t-214272

As you've guessed, the information you need is in your .vcproj file. Be
warned that if you use any VC++-specific features, such as precompiled
headers or nonstandard APIs, especially the .NET Framework, this
conversion
will be somewhat trickier. Automatic converters have been proposed by a
number of people ([1], [2], [3]), but none seem to have been made
available.

Considering that generating dependencies is the most difficult part, you
may
also be interested in solutions that autogenerate dependencies for your
source files. Then creating the Makefile would be a simple matter of
listing
the source files and tweaking your flags and code. Such solutions exist,
and
one good one that I've used is proposed in the GNU make manual:

GNU make manual: 4.14 Generating Prerequisites Automatically
http://www.gnu.org/software/make/manual/html_chapter/make_4.html#SEC51

I hope some of this helps. Please write back if you have any confusion
or
additional issues.

[1] "The information of interest is in the .vcproj file. It is in XML
and
could probably be parsed by an XML guru in about 5 minutes to create a
workable makefile for *nix." - mitakeet
http://forums.devshed.com/archive/t-214272

[2] "The VS.NET project files for VC are XML - building a .vcproj ->
.mak
converter shouldn't be too hard for someone adept at Perl and XML." -
Yanhong Huang
http://groups-beta.google.com/group/microsoft.public.vc.mfc/browse_thread/thread/7689b8f0f46c83fd/

[3] "The VS.NET project files for VC are XML - building a .vcproj ->
.mak
converter shouldn't be too hard for someone adept at Perl and XML (the
trick, of course, is learning the IDE -> XML mapping for all of the
options - no rocket science, just tedium)." - Carl Daniel
http://groups-beta.google.com/group...mework/browse_thread/thread/6a9e182da74a463b/


--
Jacobo Rodríguez Villar

TyphoonLabs Lead Programmer

http://www.typhoonlabs.com


--
Jacobo Rodríguez Villar

TyphoonLabs Lead Programmer

http://www.typhoonlabs.com
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top