<?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:atom="http://www.w3.org/2005/Atom"
				  >
<channel>
<atom:link rel="self"  type="application/rss+xml"  href="http://rulinux.net/rss_from_sect_4_subsect_6_thread_39282"  />
<title>rulinux.net - Форум - Development - [C][Makefile] Условная компиляция</title>
<link>http://rulinux.net/</link>
<description><![CDATA[Портал о GNU/Linux и не только]]></description>
<image><title>rulinux.net - Форум - Development - [C][Makefile] Условная компиляция</title>
<link>http://rulinux.net/</link>
<url>http://rulinux.net/rss_icon.png</url>
</image>
<item>
<title>Re:[C][Makefile] Условная компиляция</title>
<link>https://rulinux.net/message.php?newsid=39282&amp;page=1#170450</link>
<guid>https://rulinux.net/message.php?newsid=39282&amp;page=1#170450</guid>
<pubDate>Tue, 23 Apr 2013 16:59:46 +0400</pubDate>
<description><![CDATA[<p><i>>И как задаётся $TYPE?</i><br> make TYPE=A</p>]]></description>
</item>
<item>
<title>Re:[C][Makefile] Условная компиляция</title>
<link>https://rulinux.net/message.php?newsid=39282&amp;page=1#170448</link>
<guid>https://rulinux.net/message.php?newsid=39282&amp;page=1#170448</guid>
<pubDate>Tue, 23 Apr 2013 16:57:52 +0400</pubDate>
<description><![CDATA[<p>И как задаётся $TYPE?</p>]]></description>
</item>
<item>
<title>Re:[C][Makefile] Условная компиляция</title>
<link>https://rulinux.net/message.php?newsid=39282&amp;page=1#170445</link>
<guid>https://rulinux.net/message.php?newsid=39282&amp;page=1#170445</guid>
<pubDate>Tue, 23 Apr 2013 16:55:07 +0400</pubDate>
<description><![CDATA[<p>Может что-то такое:<br><br><fieldset><legend>text</legend><code><br />
ifeq ($TYPE,&quot;A&quot;)<br />
SOURCES = main.c file1.c<br />
else<br />
SOURCES = main.c file1.c somefile.c<br />
endif<br />
&nbsp;</code></fieldset><br><br>Сто лет не писал мейкфайлы, пишу наугад.</p>]]></description>
</item>
<item>
<title>Re:[C][Makefile] Условная компиляция</title>
<link>https://rulinux.net/message.php?newsid=39282&amp;page=1#170441</link>
<guid>https://rulinux.net/message.php?newsid=39282&amp;page=1#170441</guid>
<pubDate>Tue, 23 Apr 2013 16:49:19 +0400</pubDate>
<description><![CDATA[<p>Не, проект один, просто можно на прерываниях, а можно циклы пустые фигачить. Странно иметь два разных target-а.</p>]]></description>
</item>
<item>
<title>Re:[C][Makefile] Условная компиляция</title>
<link>https://rulinux.net/message.php?newsid=39282&amp;page=1#170435</link>
<guid>https://rulinux.net/message.php?newsid=39282&amp;page=1#170435</guid>
<pubDate>Tue, 23 Apr 2013 16:41:48 +0400</pubDate>
<description><![CDATA[<p>Два разных target'а, каждый со своими зависимостями?</p>]]></description>
</item>
<item>
<title>Re:[C][Makefile] Условная компиляция</title>
<link>https://rulinux.net/message.php?newsid=39282&amp;page=1#170428</link>
<guid>https://rulinux.net/message.php?newsid=39282&amp;page=1#170428</guid>
<pubDate>Tue, 23 Apr 2013 16:33:13 +0400</pubDate>
<description><![CDATA[<p>Как-то сумбурно получилось. Попробую изложить иначе.<br><br><fieldset><legend>text</legend><code><br />
Ветка A: &nbsp; Ветка B:<br />
main.c&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; main.c<br />
file1.h &nbsp; &nbsp; &nbsp; &nbsp; file1.h<br />
file1.c &nbsp; &nbsp; &nbsp; &nbsp; file1.c<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; somefile.h<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; somefile.c<br />
&nbsp;</code></fieldset><br><br>Изменения вносятся для простоты только в main.c. Хочется объединить ветки в одну. Все различия в main.c потом спрячутся в ifdef-ы. Но появляется два файла somefile.{h,c}, которых в ветке A не существовало. Таким образом надо что-то такое добавить в Makefile, чтобы при выполнении условия (SOME_VAR=1, для примера) в проект включался ещё и дополнительный файл somefile.c. Но при SOME_VAR=0 этот файл не включался в проект и не компилировался. Засунуть текст somefile.[h,c] в тот же main.c нельзя, так как это достаточно независимая часть и может [теоретически в будущем] применяться в других файлах проекта.</p>]]></description>
</item>
<item>
<title>[C][Makefile] Условная компиляция</title>
<link>https://rulinux.net/message.php?newsid=39282&amp;page=1#170421</link>
<guid>https://rulinux.net/message.php?newsid=39282&amp;page=1#170421</guid>
<pubDate>Tue, 23 Apr 2013 16:21:00 +0400</pubDate>
<description><![CDATA[<p>Мне понятно как это делается в простом файле на C: #ifndef SOME_MEGA_PARAMERT и вперёд - пишешь два куска программы &quot;с&quot; и &quot;без&quot;. Но у меня сложилась ситуация, когда помимо #ifndef-а добавляется ещё один файл в проект (на самом деле 2: somefile.h и somefile.c). Хочется при этом иметь возможность компилировать и первый вариант программы и второй. Следовательно надо как-то внести этот somefile.c в Makefile и при этом, чтобы его включение в проект было опциональным. Как это делается?</p>]]></description>
</item>
</channel>
</rss>