LINUX.ORG.RU

make install симлинки файлов вместо копирования

 , ,


0

2

Есть ли какой то штатный способ произвести подобную смену поведения без переписывания make файла, который генерируемый (cmake) или исходного файла системы сборки?

Вопрос как - я задал. Предвосхищая вопрос назачем: имеется либа, и приложения которые эту либу используют (установленную в префикс). Либа активно правится. Удобно править перейдя из приложения, но на данных момент сиё приводит в копию, изменения в которой - никак не отражаются на либе.

Upd судя по выхлопу strace - никак.

★★★★★

Последнее исправление: pon4ik (всего исправлений: 1)

Для CMake можно написать любой генератор. Для обычного make, если красиво написать Makefile, тоже можно кое-что навилосипедить. Как-то так, например:

#INSTALL_LIB= install -s -m 555
INSTALL_LIB= install -las

...
install:
    ${INSTALL_LIB} libfoo.so ${STAGEDIR}${PREFIX}/lib/libfoo.so

Там уж можно по условию выбирать этот INSTALL_LIB или снаружи передавать, делай как удобно.

slovazap ★★★★★
()
Ответ на: комментарий от slovazap

Для CMake можно написать любой генератор.

В теории. На практике таскать патченный cmake за собой ради конечной по времени работы не надо никому, а генераторы пишутся/модифицируются слишком трудозатратно ибо нефиг свой язык изобретать.

pon4ik ★★★★★
() автор топика

Предвосхищая вопрос назачем: имеется либа, и приложения которые эту либу используют (установленную в префикс). Либа активно правится. Удобно править перейдя из приложения, но на данных момент сиё приводит в копию, изменения в которой - никак не отражаются на либе.

Решается просто — создаёшь симлинк в нужном месте руками, на то место, куда библиотеку компилятор пишет. А потом просто делаешь make без make install, и отлаживаешься себе.

i-rinat ★★★★★
()
Ответ на: комментарий от pon4ik

Правильно, вместо изобретения лаконичного и мощного языка надо было брать проверенную m4 генерящую тесятки килобайт нечитаемого говнокода в мегабайты оного же. Или питон как в SCons'е, чтобы на нём вместо правил сборки писали нечитаемые программы.

slovazap ★★★★★
()
Ответ на: комментарий от pon4ik

А что до таскания патченного CMake - зачем, когда такое извращение нужно только тебе? Потом подозреваю что генератор пишется на самом cmake и таскается в виде .cmake файла.

slovazap ★★★★★
()
Ответ на: комментарий от i-rinat

Меняются сорцы и хидеры либы. Т.е. интерфейс.

pon4ik ★★★★★
() автор топика
Ответ на: комментарий от slovazap

Подозревать - это хоршо, однако, было бы оно на питоне (аля waf), было бы всё гораздо проще.

pon4ik ★★★★★
() автор топика

читать топик ты отказываешься из принципиальных соображений?

раздел

без переписывания make файла, который генерируемый (cmake) или исходного файла системы сборки

pon4ik ★★★★★
() автор топика
Ответ на: комментарий от pon4ik

С waf, к счастью, не сталкивался, но в SCons питона хватило, спасибо.

slovazap ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.