<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Linux Forum &mdash; makefile и озвучка, в зов-ти от результата]]></title>
		<link>https://linuxforum.ru/viewtopic.php?id=40571</link>
		<atom:link href="https://linuxforum.ru/extern.php?action=feed&amp;tid=40571&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «makefile и озвучка, в зов-ти от результата».]]></description>
		<lastBuildDate>Thu, 21 Jan 2021 02:22:51 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: makefile и озвучка, в зов-ти от результата]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=468397#p468397</link>
			<description><![CDATA[<p>1. цели разбросаны по всему makerfile (а он не маленький)<br />2. надо дорабатывать каждую существующую цель<br />3. написание новых целей будет &quot;НЕСТАНДАРТНЫМ&quot;<br />4. рекурсия не используется (по внутренним причинам)<br />за подказки, подзатыльники, ссылки и умные слова - огромная ВАМ БЛАГОДАРНОСТЬ!</p><p>с Новым Годом!</p><p>...</p><p>персонально, глубокоуважаемый, <strong>GramoZeka</strong><br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p>если что-то &quot;персонально&quot; не нравиться - пишите в личку</p><p>соберите СЕБЯ в мужественную руку, постарайтесь держать СЕБЯ в рамках и более не высказываться в таком тоне,<br />пишите только по теме, а СВОИ &quot;дОмысли и рОзмысли&quot;, пожалуйста, оставьте при СЕБЕе (к теме они не имеют отношения, а относятся только к ВАМ, ВАШЕМУ мировоззрению)</p><p>надеюсь, у ВАС получиться!!!</p></div></div>]]></description>
			<author><![CDATA[null@example.com (sunjob)]]></author>
			<pubDate>Thu, 21 Jan 2021 02:22:51 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=468397#p468397</guid>
		</item>
		<item>
			<title><![CDATA[Re: makefile и озвучка, в зов-ти от результата]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=468381#p468381</link>
			<description><![CDATA[<div class="quotebox"><cite>sunjob пишет:</cite><blockquote><p>и все они пересекаются, могут вызываться как отдельно, так и в куче</p></blockquote></div><div class="quotebox"><cite>sunjob пишет:</cite><blockquote><p>про ссылки я в курсе, изучал их в свое время, ни чего подходящего там не нашел</p></blockquote></div><p>Шерлок Холмс любил Ватсона подкалывать логическими пируэтами, но тут не нужно быть Холмсом... ты или от скуки спциально стебёшься(к чему я более склоняюсь), либо ... второй вывод тянет на нарушение правил форума, поэтому тот, кто прочитает сам достроит конструкт.</p><p>Что там не понять? Используй что хочешь, хоть объявленные переменные, хоть абстрактные цели.<br /></p><div class="codebox"><pre><code>BEEP_OK := $(shell paplay /usr/share/sounds/freedesktop/stereo/complete.oga)
BEEP_ERR := $(shell paplay /usr/share/sounds/freedesktop/stereo/dialog-warning.oga)

и вызывай где хочешь:
ifeq ($(err),)
${BEEP_OK}
else
${BEEP_ERR}
endif</code></pre></div><p>ау уж как и что в err описывать - читай доки сам, или монетами плати, а то ныне развелось умников...</p><p>вот тебе пример для второго варианта)))0<br /></p><div class="codebox"><pre><code>define BEEP_OK
paplay /usr/share/sounds/freedesktop/stereo/complete.oga
endef
define BEEP_ERR
paplay /usr/share/sounds/freedesktop/stereo/dialog-warning.oga
endef
# err = error # если эта строка закоментирована программа компилируется и прозвучит BEEP_OK, если раскоментировать то прозвучит BEEP_ERR
ifeq ($(err),)
all:
    g++ main.cpp -o hello
    ${BEEP_OK}
else
all:
    ${BEEP_ERR}
endif</code></pre></div><div class="quotebox"><blockquote><p>При ссылке на упрощенно вычисляемую переменную делается простая подстановка ее значения (без каких-либо дополнительных вычислений).</p><p>Вот чуть более сложный пример, иллюстрирующей использование `:=&#039; совместно с функцией shell. (Смотрите раздел Функция shell.) Этот пример также демонстрирует использование переменной MAKELEVEL, которая изменяется во время переходов &quot;с уровня на уровень&quot; при рекурсивном использовании make. Смотрите раздел Связь с make &quot;нижнего уровня&quot; через переменные.</p><br /><p>ifeq (0,${MAKELEVEL})<br />cur-dir&nbsp; &nbsp;:= $(shell pwd)<br />whoami&nbsp; &nbsp; := $(shell whoami)<br />host-type := $(shell arch)<br />MAKE := ${MAKE} host-type=${host-type} whoami=${whoami}<br />endif</p></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (gramozeka)]]></author>
			<pubDate>Wed, 20 Jan 2021 16:19:14 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=468381#p468381</guid>
		</item>
		<item>
			<title><![CDATA[Re: makefile и озвучка, в зов-ти от результата]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=468379#p468379</link>
			<description><![CDATA[<p>по поводу <strong>makefile</strong>, надо сделать &quot;запуск&quot; в одном месте (*), а целей в <strong>makefile</strong> более 10ка и все они пересекаются, могут вызываться как отдельно, так и в куче </p><p>(*) иначе смысл доработки теряется, если нужно будет принудительно рихтовать все цели, разбросанные по всему <strong>makefile</strong><br />это исходя из того, что внешний запуск прост и локоничен<br /></p><div class="codebox"><pre><code>make &amp;&amp; ${BEEP_OK} || ${BEEP_ERR}</code></pre></div><p>+</p><p>со звуком я сам разберусь ... :о)<br /></p><div class="codebox"><pre><code>sox-14.3.2
+
${BEEP_OK}  # OK
${BEEP_ERR} # ERR  
команды шаблоны, сами команды не важны</code></pre></div><p>+</p><p>про ссылки я в курсе, изучал их в свое время, ни чего подходящего там не нашел, а вы?! :о)</p>]]></description>
			<author><![CDATA[null@example.com (sunjob)]]></author>
			<pubDate>Wed, 20 Jan 2021 09:51:42 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=468379#p468379</guid>
		</item>
		<item>
			<title><![CDATA[Re: makefile и озвучка, в зов-ти от результата]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=468376#p468376</link>
			<description><![CDATA[<p>используй силу Люк!<br />aplay - alsa, paplay - pulseaudio. Файлик бипа подбери по вкусу из /usr/share/sounds/. Что-то типа:<br /><div class="termtitle" style="font-family: sans-serif; position:relative; height:auto; width:auto; background:#3A4061; color:#FFFFFF; padding: 1px;"><b> Консоль:</b></div>
<div class="termcont" style="font-family: Terminus; position:relative; height:auto; width:auto; overflow-x:scroll; white-space: nowrap ; overflow-y:auto;background:#000000; color:#4EF44E; line-height:1.2; padding: 3px; font-size: 1rem; max-height: 60vh"><br />paplay /usr/share/sounds/freedesktop/stereo/dialog-information.oga<br /></div></p><p>в самом makefile как-то так:<br /></p><div class="codebox"><pre><code>цель: зависимости
[tab] команда</code></pre></div><div class="codebox"><pre><code>all:
    g++ main.cpp -o hello 
    paplay /usr/share/sounds/freedesktop/stereo/complete.oga</code></pre></div><p><a href="http://linux.yaroslavl.ru/docs/prog/gnu_make_3-79_russian_manual.html">http://linux.yaroslavl.ru/docs/prog/gnu … anual.html</a> , &quot;Функции управления сборкой&quot; <a href="http://linux.yaroslavl.ru/docs/prog/gnu_make_3-79_russian_manual.html#TOC84">http://linux.yaroslavl.ru/docs/prog/gnu … html#TOC84</a> можно запилить обработку ошибок..</p><p>Только это всё блажь какая-то, практический смысл отсутствует напрочь</p>]]></description>
			<author><![CDATA[null@example.com (gramozeka)]]></author>
			<pubDate>Wed, 20 Jan 2021 06:19:21 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=468376#p468376</guid>
		</item>
		<item>
			<title><![CDATA[makefile и озвучка, в зов-ти от результата]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=468374#p468374</link>
			<description><![CDATA[<p>добрый день!</p><p>нужно озвучить работу <strong>makefile</strong>, в зов-ти от <strong>успеха/ошибки</strong><br />makefile - в общем-то стандартный (не без надстроек :о)<br />рассмотрим, самый простой случай<br /></p><div class="codebox"><pre><code>make all</code></pre></div><p>makefile<br /></p><div class="codebox"><pre><code>all:   build
build: elf hex epp lss sym

elf:         $(TARGET).elf
hex:         $(TARGET).hex
eep:         $(TARGET).eep
lss:         $(TARGET).lss
sym:         $(TARGET).sym</code></pre></div><p>нужно, что-бы при успехе/ошибке, <strong><span style="color: #FF0000">внутри makefile</span></strong> вызывались команды, соответственно:<br /></p><div class="codebox"><pre><code>${BEEP_OK}  # OK
${BEEP_ERR} # ERR  </code></pre></div><p>+<br /></p><div class="codebox"><pre><code>slackware 12.2/14.2 x32/64
avr-gcc/xc8
bash</code></pre></div><p>спасибо<br />p.s.<br />все с набегу пока мысля не влетела в голову...</p><p>так-то <strong>скриптами</strong> без проблем<br /></p><div class="codebox"><pre><code>make &amp;&amp; ${BEEP_OK} || ${BEEP_ERR}</code></pre></div><p>но нужна в <strong>makefile</strong></p>]]></description>
			<author><![CDATA[null@example.com (sunjob)]]></author>
			<pubDate>Wed, 20 Jan 2021 03:05:25 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=468374#p468374</guid>
		</item>
	</channel>
</rss>
