по поводу makefile, надо сделать "запуск" в одном месте (*), а целей в makefile более 10ка и все они пересекаются, могут вызываться как отдельно, так и в куче
(*) иначе смысл доработки теряется, если нужно будет принудительно рихтовать все цели, разбросанные по всему makefile
это исходя из того, что внешний запуск прост и локоничен
text
make && ${BEEP_OK} || ${BEEP_ERR}
+
со звуком я сам разберусь ... :о)
text
sox-14.3.2
+
${BEEP_OK} # OK
${BEEP_ERR} # ERR
команды шаблоны, сами команды не важны
+
про ссылки я в курсе, изучал их в свое время, ни чего подходящего там не нашел, а вы?! :о)
и все они пересекаются, могут вызываться как отдельно, так и в куче
"sunjob" написал:
про ссылки я в курсе, изучал их в свое время, ни чего подходящего там не нашел
Шерлок Холмс любил Ватсона подкалывать логическими пируэтами, но тут не нужно быть Холмсом... ты или от скуки спциально стебёшься(к чему я более склоняюсь), либо ... второй вывод тянет на нарушение правил форума, поэтому тот, кто прочитает сам достроит конструкт.
Что там не понять? Используй что хочешь, хоть объявленные переменные, хоть абстрактные цели.
и вызывай где хочешь:
ifeq ($(err),)
${BEEP_OK}
else
${BEEP_ERR}
endif
ау уж как и что в err описывать - читай доки сам, или монетами плати, а то ныне развелось умников...
вот тебе пример для второго варианта)))0
text
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
При ссылке на упрощенно вычисляемую переменную делается простая подстановка ее значения (без каких-либо дополнительных вычислений).
Вот чуть более сложный пример, иллюстрирующей использование `:=' совместно с функцией shell. (Смотрите раздел Функция shell.) Этот пример также демонстрирует использование переменной MAKELEVEL, которая изменяется во время переходов "с уровня на уровень" при рекурсивном использовании make. Смотрите раздел Связь с make "нижнего уровня" через переменные.
1. цели разбросаны по всему makerfile (а он не маленький)
2. надо дорабатывать каждую существующую цель
3. написание новых целей будет "НЕСТАНДАРТНЫМ"
4. рекурсия не используется (по внутренним причинам)
за подказки, подзатыльники, ссылки и умные слова - огромная ВАМ БЛАГОДАРНОСТЬ!
с Новым Годом!
...
персонально, глубокоуважаемый, GramoZeka
Показать
если что-то "персонально" не нравиться - пишите в личку
соберите СЕБЯ в мужественную руку, постарайтесь держать СЕБЯ в рамках и более не высказываться в таком тоне,
пишите только по теме, а СВОИ "дОмысли и рОзмысли", пожалуйста, оставьте при СЕБЕе (к теме они не имеют отношения, а относятся только к ВАМ, ВАШЕМУ мировоззрению)