Как узнать, что сделал make?

okunek

В процессе сборки вызваются внешние проги, в частности gcc. Как бы сделать так, чтобы make выводил, что он стороннее запускает и с какими параметрами? Почитал мануал, по-идее make --debug=j ... должно было помочь, но безрезультатно.

okunek

уже неактуально
решил вопрос заменой gcc и cc скриптами, печатающими аргументы, с которыми они вызываются, и затем запускающие переименованные gcc и cc

apl13

Че-то я когда собирал что-нибудь, наблюдал на экране все строки компиляции... :ooo:

okunek

Ну наверное хорошие мейк-файлы печатают что делают. А есть нехорошие и ковыряться в них не было желания.

slonishka

типа в автотулзах наверное есть для такого адские m4-макросы? :\
вообще, юзайте cmake, если есть возможность. он хороший.

slonishka

его даже виндузятники хвалят. :)

vall

правильные Makefile запускают не cc / gcc а ${CC}

Papazyan

правильные Makefile запускают не cc / gcc а ${CC}
По идее пох. XRefactory умудрялся подменять их на лету. Видно path модифицировал.

okunek

ну в конечном-то счете (хоть и не совсем конечном) gcc или cc выполняется

ppplva

А к нему уже появилась вменяемая документация ? Длинная страница с перечислением функций не считается, туториал - вообще детский сад.

vall

по дефолту да, но их можно подменить в аргументах мэйка на что угодно.

okunek

Ну понятно, что мое решение совсем неуниверсальное, но хоть какое-то

slonishka

может быть найдет.
он тоже с этой проблемой столкнулся некоторое время назад, а мне от cmake много не надо.

evgen5555

Зато cmake реально работает :)

evgen5555

make -n не пробовал?

okunek

Щас попробовал - то, что нужно, только по мануалу он не выполняет команды (это-то меня и остановило вчера от использования -n)

apl13

решил вопрос заменой gcc и cc скриптами, печатающими аргументы, с которыми они вызываются, и затем запускающие переименованные gcc и cc
Of course, on the system *I* administrate, vi is symlinked to ed. Emacs has been replaced by a shell script which 1) Generates a syslog message at level LOG_EMERG; 2) reduces the user's disk quota by 100K; and 3) RUNS ED!

erotic

Vozbu пока не искал, но длинная страница с функциями его не удовлетворяет только по одной причине - неполнота приводимых параметров. В остальном это то, что нужно.

erotic

вообще, юзайте cmake, если есть возможность. он хороший.
Только он точно не будет писать никаких вызовов. Если обычно make-файлы все-таки пишут, что вызывают, т.ч. там даже видны все опции компилятора, то make-файлы после cmake пишут только текущий компилируемый файл и % выполнения. Ну еще какие-то общие слова, типа finding, linking, installing и т.п.

slonishka

фиг знает, я вот сегодня захотел интелом и оупен-ваткомом свой говнокод собрать.
нашел нужные макросы довольно быстро.

slonishka

зато они цветные (по умолчанию)! :D
и с процентиками.

ppplva

Я хотел научить его обрабатывать файлы с определенным расширением моим препроцессором (который перед этим еще надо собрать!). Как я понял, для этого нужно выставить ряд магических переменных, но подобрать правильную комбинацию не получилось.

slonishka

да, заставить работать Digital Mars для винды у меня пока тоже не получается. :grin:

erotic

Мне не нравится, что там для функций типа GET_*_PROPERTY написано, что проперти, это, например, то-то и то-то. А полного списка нет.

ppplva

Дело в том, что они книжку продают, поэтому документацию и не выкладывают. А при таком раскладе пользоваться cmake, даже если у тебя есть книжка, не этично по отношению к коллегам, у которых этой книжки может не быть.
У scons такой проблемы нет.

slonishka

а сконс читабельней?
просто понятно, что все эти штуки далеки от идеала.
но каким должен быть идеал — я подробно описать не могу, потому что мне не слишком много надо.

ppplva

Он на питоне, поэтому там в тяжелых случаях по коду можно что-то понять. И конфиг в нем - программа на питоне => более гибкий.

slonishka

ну автотулзы — тоже "гибкие". :)
я его хотел в свое посмотреть, но руки не дошли.

banderon

Уж лучше питон, чем автотулз.
В питоне хоть язык человеческий :)

slonishka

ну это да. :)
Оставить комментарий
Имя или ник:
Комментарий: