Dmitry E. Oboukhov -> debian-russian@lists.debian.org @ Thu, 2 Oct 2008 12:11:21 +0400:
AC>>>>> понимаешь в чем дело, в том что если бы make догадывалось об этом то ей AC>>>>> пришлось бы перестать быть универсальным инструментом (вон выше по ветке AC>>>>> собирают PDF например, а какой там DEBUG) и стала бы AC>>>>> узкоспециализированным. а это неправильно. AC>>>> Дебуга там нет, но вообще-то pdftex-у в командную строку тоже много чего AC>>>> интересного запихать можно. Во всяких bras и makepp эта задача решена AC>>>> посредством запоминания того, какой именно командой данный target AC>>>> пересобирался последний раз. И если текущая команда получается другая, AC>>>> target считается устаревшим. AC>>> ну так я говорю, значит просто надо DEBUG поставить в зависимости AC>>> и далее проблема станет решенной AC>> Надо _сложно_ поставить в зависимости DEBUG. Иначе оно будет AC>> пересобирать всё каждый раз. Подозреваю, что сделать это можно, но AC>> вплотную еще не думал. Есть шанс, что и не получится. DEO> а мое решение сложно? А это не решение. DEO> то есть пишем в Makefile DEO> DEBUG ?= 0 # кстати не помню ?= это GNUmake или вообще make? хез DEO> ... DEO> debug_depends: DEO> test -e $@ || echo $(DEBUG) > $@ DEO> test "`cat [EMAIL PROTECTED]" = "$(DEBUG)" || echo $(DEBUG) > $@ DEO> и дальше ставим зависимость от debug_depends DEO> то есть получится что make его перезаписывать будет только при смене DEO> переменных DEO> и соответственно в зависимости: DEO> %.o: %.c debug_depends Начнем с того, что make его вообще перезаписывать не будет. Он его запишет один раз, и все. Ты б хоть проверил свое "решение", прежде чем предлагать. Ладно б требовалось подобрать к нему хитрую последовательность команд, чтобы увидеть, что не работает, а то ведь тупее некуда - make да make DEBUG=1... -- Artem Chuprina RFC2822: <ran{}ran.pp.ru> Jabber: [EMAIL PROTECTED] The effort of using machines to mimic the human mind has always struck me as rather silly. I would rather use them to mimic something better -- Edsger Dijkstra -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]