<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>AlferSoft Blog &#187; visual studio</title>
	<atom:link href="http://www.alfersoft.com.ar/blog/tag/visual-studio/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.alfersoft.com.ar/blog</link>
	<description>Explaining this blog in a few words since 1999</description>
	<lastBuildDate>Wed, 01 Feb 2012 22:36:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Converting Visual Studio solutions to Makefiles</title>
		<link>http://www.alfersoft.com.ar/blog/2008/05/23/converting-vs-solution-and-projects-to-makefiles/</link>
		<comments>http://www.alfersoft.com.ar/blog/2008/05/23/converting-vs-solution-and-projects-to-makefiles/#comments</comments>
		<pubDate>Fri, 23 May 2008 03:27:05 +0000</pubDate>
		<dc:creator>fvicente</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[convert]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[make]]></category>
		<category><![CDATA[makefile]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://www.alfersoft.com.ar/blog/?p=4</guid>
		<description><![CDATA[A python script to convert Microsoft Visual Studio 2005 solution files (*.sln) and the associated project files (*.vcproj) into a set of Makefile&#8217;s. The class Sln2Make does all the work, parses the sln and vcproj files and generates a main Makefile and one Makefile.ag for every project in the solution. The Makefiles.ag generated will have [...]]]></description>
			<content:encoded><![CDATA[<p>A python script to convert Microsoft Visual Studio 2005 solution files (*.sln) and the associated project files (*.vcproj) into a set of Makefile&#8217;s.</p>
<p>The class Sln2Make does all the work, parses the sln and vcproj files and generates a main Makefile and one Makefile.ag for every project in the solution. The Makefiles.ag generated will have two targets, &#8216;all&#8217; and &#8216;clean&#8217;, the script also includes the dependent libraries if they are properly defined in the solution. To use it, just instantiate the class with the following parameters:</p>
<p><code>Sln2Make(slnpath, exlist, dirrepl, librepl)</code></p>
<p>where:</p>
<ul>
<li>slnpath is the path to the solution file</li>
<li>exlist an optional list of files to exclude, optionally you can pass the content of an alternative make file using this syntax: [[dest, make_all_replacement, make_clean_replacement], &#8230;]</li>
<li>dirrepl a list of directory replacement rules</li>
<li>librepl library name replacement rules (when win library name doesn&#8217;t match OS&#8217;s library name)</li>
</ul>
<p>example:</p>
<pre class="brush: python; title: ; notranslate">
exlist = [('../extsrc/zlib/projects/visualc6/Makefile.ag',
'	$(MAKE) -C $(dir_root)extsrc/zlib -f Makefile libz.a\n',
'	$(MAKE) -C $(dir_root)extsrc/zlib -f Makefile clean\n')]
dirrepl = [['winnt', 'linux']]
librepl = [['zlib', 'z'], ['nspr', 'nspr4 -lplc4 -lplds4']]
#
Sln2Make(&quot;../winnt/test.sln&quot;, exlist, dirrepl, librepl)
</pre>
<p>To correct the path case, I&#8217;ve used a script published by Moshe Zadka <a title="Case Correction in Python" href="http://mail.python.org/pipermail/python-list/2000-June/038502.html">here</a>.<br />
<a title="sln2make" href="http://www.alfersoft.com.ar/files/sln2make.zip"> Download sln2make here</a>. Use this code at your own risk, it is released under BSD license.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alfersoft.com.ar/blog/2008/05/23/converting-vs-solution-and-projects-to-makefiles/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

