metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-04-25 09:28 pm

Makefile

Это, а как правильно makefile делать? А то что-то руками писать зависимости быстро начинает надоедать.

[identity profile] yuridichesky.livejournal.com 2012-04-25 06:50 pm (UTC)(link)
Если совсем-совсем правильно, то это будет autotools.
А по простецки dependencies можно gcc попросить сделать: gcc -MM file.c

[identity profile] metaclass.livejournal.com 2012-04-25 06:55 pm (UTC)(link)
А, точно.
Я один раз -M указывал, он добавлял все стандартные хидеры, а с двумя ок.

[identity profile] besm6.livejournal.com 2012-04-25 06:56 pm (UTC)(link)
autotools - это совсем-совсем неправильно. Это ядерная бомба замедленного действия.

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

[identity profile] avnik.livejournal.com 2012-04-25 07:14 pm (UTC)(link)
Как раз с кросс-сборкой у автокрапа все хорошо

[identity profile] tzirechnoy.livejournal.com 2012-04-26 06:41 am (UTC)(link)
У автокрэпа нет вещей, с котормы было бы хорошо.

[identity profile] avnik.livejournal.com 2012-04-26 11:25 am (UTC)(link)
у него внутри достаточно чорной магии, чтобы сделать ./configure --host=mipsel-bullshit-gnu-linux, и даже с (cd sparcbuild && ../configure --host=sparcv8-sun-solaris) c учетом всех основных болезней.

Проверить наличие libshit оно тоже умеет, в том числе и в "кроссовом" варианте.

Что еще надо?

[identity profile] tzirechnoy.livejournal.com 2012-04-26 11:30 am (UTC)(link)
>у него внутри достаточно чорной магии, чтобы
> сделать ./configure --host=mipsel-bullshit-gnu-linux

Чо? Это кто у нас из автокрэпа ужэ configure запускать научился?

>Проверить наличие libshit оно тоже умеет

Если это не моя сборка -- то этим у меня занимается, сюрприз, менеджэр пакетов. То есть дажэ когда я собираю из исходников.
А если моя -- то мне совершэнно не надо, чтобы в софтину цэплялась всякая левая хренотень, зато как раз надо чтобы оно выпало с руганью если правая хренотень необнаружылась. И проверить наличие libshit я вполне способен самостоятельно, а если забуду -- мне сс напомнит.

[identity profile] yuridichesky.livejournal.com 2012-04-26 08:33 am (UTC)(link)
автотулзы нас всех переживут и еще станцуют джигу на похоронах qmake-ов и ant-ов

[identity profile] besm6.livejournal.com 2012-04-26 11:00 am (UTC)(link)
Это-то и печально. И это, в общем, одна из причин, по которой я предпочитаю Haskell.

[identity profile] si14.livejournal.com 2012-04-27 05:01 pm (UTC)(link)
Гагага. Можно подумать, что кабал лучше. Леденящий душу пиздец же, регулярный секс на тему «ой cabal update всё поломал, ещё час-другой мудиться с зависимостями».

[identity profile] besm6.livejournal.com 2012-04-27 05:44 pm (UTC)(link)
Лучше. Несмотря на леденящий душу пиздец.

[identity profile] kurilka.livejournal.com 2012-04-27 06:05 pm (UTC)(link)
плюс вышел же новый cabal install

[identity profile] rigidus.livejournal.com 2012-05-04 01:56 pm (UTC)(link)
а вот в лиспце такого нет )

[identity profile] kurilka.livejournal.com 2012-05-04 02:03 pm (UTC)(link)
Нет cabal install? Бывает...

[identity profile] nicka-startcev.livejournal.com 2012-04-25 07:50 pm (UTC)(link)
автотулз это лишний уровень неуправляемости.
если делать 'как придется' то периодически будет лезть говно, а если аккуратно - то это ни разу не проще аккуратного ручного мэйкфайла.

[identity profile] avnik.livejournal.com 2012-04-26 11:27 am (UTC)(link)
Посмотрите на "красивый и аккуратный" мейкфайл в ондроеде, после этого автокрап кажется _аккуратным_ (даже то генереное говно)

[identity profile] nicka-startcev.livejournal.com 2012-04-26 12:19 pm (UTC)(link)
> "красивый и аккуратный" мейкфайл в ондроеде,

что, тоже мэйкфайл более 10 мегабайт, как у автокрапа?

[identity profile] tzirechnoy.livejournal.com 2012-04-26 06:40 am (UTC)(link)
autotools будет правильно только для ящериков. Поскольку вот где ужоснах, spaghetty code, test-driven genetic development и прочие чудеса.