Artem Chuprina пишет:
Dmitry E. Oboukhov -> debian-russian@lists.debian.org @ Mon, 6 Oct 2008
10:43:48 +0400:
AC>> Я уж молчу про тот факт, что gcc - это не единственный существующий в
AC>> природе компилятор... Я не дзенский программист, мне надо, чтобы и с
AC>> cl.exe работало...
DEO> с
Stanislav Maslovski -> debian-russian@lists.debian.org @ Mon, 6 Oct 2008
11:03:50 +0400:
>> >> > >> SM> Комментарии-то будут?
>> >> > >>
>> >> > >> Пригодно только для нескольких phony целей.
>> >> >
>> >> > SM> В смысле, что в общем случае для работы с phony целями не
>> >>
Dmitry E. Oboukhov -> debian-russian@lists.debian.org @ Mon, 6 Oct 2008
10:43:48 +0400:
AC>> Я уж молчу про тот факт, что gcc - это не единственный существующий в
AC>> природе компилятор... Я не дзенский программист, мне надо, чтобы и с
AC>> cl.exe работало...
DEO> собственно ты про этот фа
On Mon, Oct 06, 2008 at 12:07:54AM +0400, Artem Chuprina wrote:
> Stanislav Maslovski -> debian-russian@lists.debian.org @ Sun, 5 Oct 2008
> 21:53:55 +0400:
>
> >> > >> SM> Комментарии-то будут?
> >> > >>
> >> > >> Пригодно только для нескольких phony целей.
> >> >
> >> > SM> В смыс
AC> Я уж молчу про тот факт, что gcc - это не единственный существующий в
AC> природе компилятор... Я не дзенский программист, мне надо, чтобы и с
AC> cl.exe работало...
собственно ты про этот факт молчишь, а я именно на него обращаю
внимание:
если *make* не позволяет вытаскивать депендсы ИЗ СЕБЯ,
Dmitry E. Oboukhov -> debian-russian@lists.debian.org @ Mon, 6 Oct 2008
10:14:39 +0400:
AC>> Ну, начнем с того, что это уже ошибка. Потому что файл dict/dict.h не
AC>> менялся. Нет, я в курсе, что гнутый мейк в этом месте ничем не
AC>> лучше. А вот makepp - лучше.
DEO> gcc хорошо умеет ге
AC> Ну, начнем с того, что это уже ошибка. Потому что файл dict/dict.h не
AC> менялся. Нет, я в курсе, что гнутый мейк в этом месте ничем не
AC> лучше. А вот makepp - лучше.
gcc хорошо умеет генерить депендсы от .h файлов
-MMD ключ ЕМНИП
проблема в том что для С/С++ депендсы генерить можно, а в
Aleksey Cheusov -> debian-russian@lists.debian.org @ Fri, 03 Oct 2008 16:01:20
+0300:
DEO>>> и проблема автогена депендсов везде решена?
>> Это наиболее тяжкая часть, но по сравнению с make оно гораздо лучше во
>> всех. Подробности я не смотрел, и подозреваю, что полностью корректного
>> р
Aleksey Cheusov -> debian-russian@lists.debian.org @ Fri, 03 Oct 2008 18:23:12
+0300:
>>> all:
>>> make -C ../dirB
>>> make a.tar.gz
AC> Вот это - ровно то же самое, что предложил я - _unconditional_
AC> последовательное построение всех зависимостей.
Если бы всех... А то т
Stanislav Maslovski -> debian-russian@lists.debian.org @ Sun, 5 Oct 2008
21:53:55 +0400:
>> > >> SM> Комментарии-то будут?
>> > >>
>> > >> Пригодно только для нескольких phony целей.
>> >
>> > SM> В смысле, что в общем случае для работы с phony целями не
>> > SM> годится? Так пон
On Sun, Oct 05, 2008 at 09:51:16PM +0400, Stanislav Maslovski wrote:
> On Sun, Oct 05, 2008 at 09:32:38PM +0400, Artem Chuprina wrote:
> > Stanislav Maslovski -> debian-russian@lists.debian.org @ Fri, 3 Oct 2008
> > 20:57:26 +0400:
> >
> > >> SM> Комментарии-то будут?
> > >>
> > >> Пригодн
On Sun, Oct 05, 2008 at 09:32:38PM +0400, Artem Chuprina wrote:
> Stanislav Maslovski -> debian-russian@lists.debian.org @ Fri, 3 Oct 2008
> 20:57:26 +0400:
>
> >> SM> Комментарии-то будут?
> >>
> >> Пригодно только для нескольких phony целей.
>
> SM> В смысле, что в общем случае для раб
Stanislav Maslovski -> debian-russian@lists.debian.org @ Fri, 3 Oct 2008
20:57:26 +0400:
>> SM> Комментарии-то будут?
>>
>> Пригодно только для нескольких phony целей.
SM> В смысле, что в общем случае для работы с phony целями не годится?
SM> Так понимать? Или?
Для работы с настоящими
On Fri, Oct 03, 2008 at 07:50:26PM +0400, Artem Chuprina wrote:
> SM> Комментарии-то будут?
>
> Пригодно только для нескольких phony целей.
В смысле, что в общем случае для работы с phony целями не годится?
Так понимать? Или?
--
Stanislav
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with
Stanislav Maslovski -> debian-russian@lists.debian.org @ Fri, 3 Oct 2008
19:06:34 +0400:
>> Всё та же задача, но под соусом "Recursive make considered useful" ;)
>>
>>
>> % ls -R contest
>> contest:
>> dirA dirB
>>
>> contest/dirA:
>> Makefile
>> all:
>> make -C ../dirB
>> make a.tar.gz
Вот это - ровно то же самое, что предложил я - _unconditional_
последовательное построение всех зависимостей.
В целом нормальный метод.
Только bsd.subdir.mk лучше, потому как не велосипед...
Он не херит -jN, например.
>> %: %.c
>>
On Fri, Oct 03, 2008 at 03:33:00AM +0400, Stanislav Maslovski wrote:
> Всё та же задача, но под соусом "Recursive make considered useful" ;)
>
>
> % ls -R contest
> contest:
> dirA dirB
>
> contest/dirA:
> Makefile
>
> contest/dirB:
> Makefile b.c c.c
> 3 октября 2008 г. 16:19 пользователь Aleksey Cheusov <[EMAIL PROTECTED]>
> написал:
>>> Испробовать ваш вариант с bmake в Debian.
>>> В lenny я его не нашёл.
>> Да, чуть не забыл. NetBSD make - центральная часть pkgsrc (pkgsrc.org).
>> Поставив pkgsrc само собой получаешь NetBSD make из коро
DEO>> и проблема автогена депендсов везде решена?
> Это наиболее тяжкая часть, но по сравнению с make оно гораздо лучше во
> всех. Подробности я не смотрел, и подозреваю, что полностью корректного
> решения нет ни в одном. Но во всяком случае грабли, по которым ходит
> make, там убраны.
Не из
3 октября 2008 г. 16:19 пользователь Aleksey Cheusov <[EMAIL PROTECTED]>
написал:
>> Испробовать ваш вариант с bmake в Debian.
>> В lenny я его не нашёл.
> Да, чуть не забыл. NetBSD make - центральная часть pkgsrc (pkgsrc.org).
> Поставив pkgsrc само собой получаешь NetBSD make из коробки.
>
> pkg
> Испробовать ваш вариант с bmake в Debian.
> В lenny я его не нашёл.
Да, чуть не забыл. NetBSD make - центральная часть pkgsrc (pkgsrc.org).
Поставив pkgsrc само собой получаешь NetBSD make из коробки.
pkgsrc - хороший пример того, как на BSD make-е можно писать сложные
системы. Кроме, конечно, т
Всё таже задача, но под соусом "Recursive make considered useful" ;)
% ls -R contest
contest:
dirA dirB
contest/dirA:
Makefile
contest/dirB:
Makefile b.c c.c
% cat dirA/Makefile
binaries = ../dirB/b ../dirB/c
AC Задача стояла построить _зависящую_ цель (пакет) при измениях в
AC исходных файлах _зависимых_ целей (конкретные программы). Эта
AC задача решена.
>>> Задача подразумевала некоторую вполне конкретную раскладку по
>>> директориям. А не как понравится тебе.
AC>> Извини подвинь
>> Извини подвинься. Вот уж каталоги я будут делать так, как удобно мне :)
>> В идеологии mk scripts: один проект (екзешник или библиотека) -
> Ну и? Поменяли мы один файлик в библиотеке. Теперь надо пересобрать
> четыре экзешника (каждый, естественно, в своем каталоге), которые с этой
> библиот
Aleksey Cheusov -> debian-russian@lists.debian.org @ Thu, 02 Oct 2008 16:50:27
+0300:
AC>>> Задача стояла построить _зависящую_ цель (пакет) при измениях в
AC>>> исходных файлах _зависимых_ целей (конкретные программы). Эта
AC>>> задача решена.
>> Задача подразумевала некоторую вполне конкр
On 2008.10.02 at 16:50:27 +0300, Aleksey Cheusov wrote:
> AC>> Задача стояла построить _зависящую_ цель (пакет) при измениях в
> AC>> исходных файлах _зависимых_ целей (конкретные программы). Эта
> AC>> задача решена.
>
> > Задача подразумевала некоторую вполне конкретную раскладку по
> > дире
AC>> Задача стояла построить _зависящую_ цель (пакет) при измениях в
AC>> исходных файлах _зависимых_ целей (конкретные программы). Эта
AC>> задача решена.
> Задача подразумевала некоторую вполне конкретную раскладку по
> директориям. А не как понравится тебе.
Извини подвинься. Вот уж каталог
Dmitry E. Oboukhov -> debian-russian@lists.debian.org @ Thu, 2 Oct 2008
16:24:57 +0400:
AC Ну вот когда у человека накапливается к make десяток претензий подобного
AC рода в _разных_ местах - он и пишет заменитель... Потому что десяток -
AC это уже проще заменить, чем исправить.
>>> Как воспользоваться вашим решением в Debian?
>>
>> Какая проблема стоит?
> Испробовать ваш вариант с bmake в Debian.
> В lenny я его не нашёл.
В Debian есть pmake. Это древний вариант NetBSD make-а. Но лучше
запакетить более свежий, и лучше под именем nbmake для предотвращения
коллизий. Ис
Aleksey Cheusov -> debian-russian@lists.debian.org @ Thu, 02 Oct 2008 15:05:17
+0300:
AC> .include
Ты решал не ту задачу. Решил ты ее или нет, я уж не могу сказать,
поскольку непонятно, какую решал, но решал - не ту.
AC>>> Ну ёпрст 8-) Я решил ту задачу, именно ту - строю
AC>>> Ну вот когда у человека накапливается к make десяток претензий подобного
AC>>> рода в _разных_ местах - он и пишет заменитель... Потому что десяток -
AC>>> это уже проще заменить, чем исправить.
AC>> но я пока не видел УНИВЕРСАЛЬНОГО заменителя
AC>> да типа там функций добавят, там других
2 октября 2008 г. 15:52 пользователь Aleksey Cheusov <[EMAIL PROTECTED]>
написал:
> >> >>> make -C ../dirB
> >> >>> @if test ! -f a.tar.gz; then tar czf a.tar.gz ../dirB/b
> ../dirB/c && rm -f ../dirB/rebuild; fi
> >> >>> @if test -f ../dirB/rebuild; then tar czf
AC .include
>>> Ты решал не ту задачу. Решил ты ее или нет, я уж не могу сказать,
>>> поскольку непонятно, какую решал, но решал - не ту.
AC>> Ну ёпрст 8-) Я решил ту задачу, именно ту - строю пакет из бинарей,
AC>> которые строятся из .с файлов. При желании построить пакет
AC>> изм
>> >>> make -C ../dirB
>> >>> @if test ! -f a.tar.gz; then tar czf a.tar.gz ../dirB/b
>> ../dirB/c && rm -f ../dirB/rebuild; fi
>> >>> @if test -f ../dirB/rebuild; then tar czf a.tar.gz ../dirB/b
>> ../dirB/c && rm ../dirB/rebuild; fi
>>
>>> После чего возника
Aleksey Cheusov -> debian-russian@lists.debian.org @ Thu, 02 Oct 2008 12:09:42
+0300:
AC>>> .include
>> Ты решал не ту задачу. Решил ты ее или нет, я уж не могу сказать,
>> поскольку непонятно, какую решал, но решал - не ту.
AC> Ну ёпрст 8-) Я решил ту задачу, именно ту - строю пакет и
Dmitry E. Oboukhov -> debian-russian@lists.debian.org @ Thu, 2 Oct 2008
12:47:44 +0400:
AC>> Ну вот когда у человека накапливается к make десяток претензий подобного
AC>> рода в _разных_ местах - он и пишет заменитель... Потому что десяток -
AC>> это уже проще заменить, чем исправить.
DEO>
2 октября 2008 г. 13:55 пользователь Aleksey Cheusov <[EMAIL PROTECTED]>
написал:
> >>> make -C ../dirB
> >>> @if test ! -f a.tar.gz; then tar czf a.tar.gz ../dirB/b
> ../dirB/c && rm -f ../dirB/rebuild; fi
> >>> @if test -f ../dirB/rebuild; then tar czf a.tar.gz ../
Alexey Pechnikov wrote:
> Hello!
>
> Раз тут такие специалисты по мэйкфайлам собрались, подскажите одну вещь.
> Нужно
> мне в проект добавить пару дополнительных файлов, которые должны линковаться
> с дополнительными библиотеками. Сейчас делаю так
>
> TCC += -lz -DSQLITE_ENABLE_ICU=1 `icu-conf
2 октября 2008 г. 11:56 пользователь Artem Chuprina <[EMAIL PROTECTED]> написал:
> Stanislav Maslovski -> debian-russian@lists.debian.org @ Thu, 2 Oct 2008
> 09:46:24 +0400:
>
> >> А так? :)
> >> all:
> >> make -C ../dirB
> >> @if test ! -f a.tar.gz; then tar czf a.tar.gz ..
On 2008.10.02 at 14:20:53 +0400, Alexey Pechnikov wrote:
> Hello!
>
> В сообщении от Thursday 02 October 2008 14:08:27 Victor Wagner написал(а):
> > > В результате несколько деб-пакетов генерится. Сборка с помощью make
> > > проходит нормально, а при debuild вот сообщения вылезли. Значит, проблем
Hello!
В сообщении от Thursday 02 October 2008 14:08:27 Victor Wagner написал(а):
> > В результате несколько деб-пакетов генерится. Сборка с помощью make
> > проходит нормально, а при debuild вот сообщения вылезли. Значит, проблема
> > именно в том, что добавленные зависимости нужны не всем пакета
On 2008.10.02 at 13:57:18 +0400, Alexey Pechnikov wrote:
> Hello!
>
> > Либо "мои файлики" собираются в отдельный бинарник и никому кроме него
> > эти библиотеки не нужны. Тогда использовать первый данный совет - про
> > target specific variables.
> >
> > Но на это как-то не похоже. Разве что эт
Hello!
> Либо "мои файлики" собираются в отдельный бинарник и никому кроме него
> эти библиотеки не нужны. Тогда использовать первый данный совет - про
> target specific variables.
>
> Но на это как-то не похоже. Разве что этот бинарник потом в отдельный
> пакет кладется.
В результате несколько
>>> make -C ../dirB
>>> @if test ! -f a.tar.gz; then tar czf a.tar.gz ../dirB/b ../dirB/c
>>> && rm -f ../dirB/rebuild; fi
>>> @if test -f ../dirB/rebuild; then tar czf a.tar.gz ../dirB/b
>>> ../dirB/c && rm ../dirB/rebuild; fi
> После чего возникает резонный вопр
On 2008.10.02 at 13:07:47 +0400, Alexey Pechnikov wrote:
> Hello!
>
> Раз тут такие специалисты по мэйкфайлам собрались, подскажите одну вещь.
> Нужно
> мне в проект добавить пару дополнительных файлов, которые должны линковаться
> с дополнительными библиотеками. Сейчас делаю так
>
> TCC += -
> %: %.c
> cc -o $* $<
Да-да-да. Вот именно такие вот квадратные колеса и приходится потом
закруглять, чтобы оно хотя бы собиралось, как надо. Gr-r-r-r-r.
Я понимаю, что это "всего лишь пример", но уж очень он показателен.
(ничего личного)
--
Best regards, Aleksey Cheusov.
--
To UNSU
AC>> .include
> Ты решал не ту задачу. Решил ты ее или нет, я уж не могу сказать,
> поскольку непонятно, какую решал, но решал - не ту.
Ну ёпрст 8-) Я решил ту задачу, именно ту - строю пакет из бинарей,
которые строятся из .с файлов. При желании построить пакет измененные
.c таки учитываютс
Hello!
Раз тут такие специалисты по мэйкфайлам собрались, подскажите одну вещь. Нужно
мне в проект добавить пару дополнительных файлов, которые должны линковаться
с дополнительными библиотеками. Сейчас делаю так
TCC += -lz -DSQLITE_ENABLE_ICU=1 `icu-config --ldflags`
Где-то далее в мэйке идет
On Thu, Oct 02, 2008 at 11:56:13AM +0400, Artem Chuprina wrote:
> Stanislav Maslovski -> debian-russian@lists.debian.org @ Thu, 2 Oct 2008
> 09:46:24 +0400:
> SM> Можно еще прощe: два условия в одно с -o.
>
> После чего возникает резонный вопрос. А make тут зачем? По условию
> задачи? Задач
AC> Ну вот когда у человека накапливается к make десяток претензий подобного
AC> рода в _разных_ местах - он и пишет заменитель... Потому что десяток -
AC> это уже проще заменить, чем исправить.
но я пока не видел УНИВЕРСАЛЬНОГО заменителя
да типа там функций добавят, там других вкусностей
а там
Dmitry E. Oboukhov -> debian-russian@lists.debian.org @ Thu, 2 Oct 2008
11:20:53 +0400:
AC>> "Сгенерить список зависимостей" - это как раз задача, которую я в полной
AC>> постановке решить не сумел. Ставить?
DEO> в ПОЛНОЙ постановке задача нерешабельна, это да
DEO> я упирался в рекурсии на
Stanislav Maslovski -> debian-russian@lists.debian.org @ Thu, 2 Oct 2008
09:46:24 +0400:
>> А так? :)
>> all:
>> make -C ../dirB
>> @if test ! -f a.tar.gz; then tar czf a.tar.gz ../dirB/b ../dirB/c
>> && rm -f ../dirB/rebuild; fi
>> @if test -f ../dirB/rebuild;
AC> "Сгенерить список зависимостей" - это как раз задача, которую я в полной
AC> постановке решить не сумел. Ставить?
в ПОЛНОЙ постановке задача нерешабельна, это да
я упирался в рекурсии на make'ах и дальше не шло
(то есть в настоящие рекурсии)
AC> Нет, руками не годится - оно зависит, в частно
Dmitry E. Oboukhov -> debian-russian@lists.debian.org @ Wed, 1 Oct 2008
22:30:42 +0400:
DEO> о у меня примерно такая шняга в одном из проектов есть, примерно так и
DEO> работает (архив создается с бинарником и из исходников),
DEO> работа твоего примера (я вместо gcc cp использовал чтобы не п
Stanislav Maslovski -> debian-russian@lists.debian.org @ Thu, 2 Oct 2008
09:32:01 +0400:
>> ДАННАЯ задача может решаться так:
>>
>> A/Makefile:
>>
>> all: ../a.tgz
>>
>> ../a.tgz: $(DIR_SRC)/c $(DIR_SRC)/b
>> make -C ../B
>> tar -czvf $@ $^
>>
>> и ничего страшного что mak
Stanislav Maslovski -> debian-russian@lists.debian.org @ Thu, 2 Oct 2008
09:32:01 +0400:
>> ДАННАЯ задача может решаться так:
>>
>> A/Makefile:
>>
>> all: ../a.tgz
>>
>> ../a.tgz: $(DIR_SRC)/c $(DIR_SRC)/b
>> make -C ../B
>> tar -czvf $@ $^
>>
>> и ничего страшного что mak
SM> С флагом решение напрашивающееся. Может, Артём имел в виду, что нельзя
SM> модифицировать ./dirB/Makefile, и что он производит бинарники a и b и
только?
видимо он именно это и имел ввиду, но в этом случае получается что
практически любое решение даст в аналогичных случаях сложности (разве
что
SM>> ДАННАЯ задача может решаться так:
SM>>
SM>> A/Makefile:
SM>>
SM>> all: ../a.tgz
SM>>
SM>> ../a.tgz: $(DIR_SRC)/c $(DIR_SRC)/b
SM>> make -C ../B
SM>> tar -czvf $@ $^
SM>>
SM>> и ничего страшного что make -C ../B вызывается постоянно, поскольку он
SM>> ничего не делает.
SM> DIR_SRC=
Aleksey Cheusov -> debian-russian@lists.debian.org @ Wed, 01 Oct 2008 19:35:40
+0300:
>> В первую очередь это письмо обращено к Диме Обухову, который утверждает,
>> что "все легко, вот тут добавим еще пару зависимостей, и эта задача тоже
>> решится". С удовольствием увижу присоединившимся к
On Thu, Oct 02, 2008 at 09:32:37AM +0400, Yuri Kozlov wrote:
> А так? :)
> all:
> make -C ../dirB
> @if test ! -f a.tar.gz; then tar czf a.tar.gz ../dirB/b ../dirB/c &&
> rm -f ../dirB/rebuild; fi
> @if test -f ../dirB/rebuild; then tar czf a.tar.gz ../dirB/b
> ../dirB/
On Thu, Oct 02, 2008 at 09:13:43AM +0400, Stanislav Maslovski wrote:
> С флагом решение напрашивающееся. Может, Артём имел в виду, что нельзя
> модифицировать ./dirB/Makefile, и что он производит бинарники a и b и только?
Очепятка, следует читать: "... b и с и только".
--
Stanislav
--
To UNSU
2 октября 2008 г. 9:13 пользователь Stanislav Maslovski
<[EMAIL PROTECTED]> написал:
> On Wed, Oct 01, 2008 at 11:10:55PM +0400, Yuri Kozlov wrote:
>> Не понял в чём подвох.
>>
>> ./dirA
>> ./dirA/Makefile
>>
>> all:
>> make -C ../dirB
>> @if test -f ../dirB/rebuild; then tar czf a.
On Wed, Oct 01, 2008 at 10:30:42PM +0400, Dmitry E. Oboukhov wrote:
> ДАННАЯ задача может решаться так:
>
> A/Makefile:
>
> all: ../a.tgz
>
> ../a.tgz: $(DIR_SRC)/c $(DIR_SRC)/b
> make -C ../B
> tar -czvf $@ $^
>
> и ничего страшного что make -C ../B вызывается постоянно, поскольку он
>
On Wed, Oct 01, 2008 at 11:10:55PM +0400, Yuri Kozlov wrote:
> Не понял в чём подвох.
>
> ./dirA
> ./dirA/Makefile
>
> all:
> make -C ../dirB
> @if test -f ../dirB/rebuild; then tar czf a.tar.gz ../dirB/b
> ../dirB/c && rm ../dirB/rebuild; fi
тут маленький недочет вижу: если пос
1 октября 2008 г. 19:41 пользователь Artem Chuprina <[EMAIL PROTECTED]> написал:
> Дерево проекта:
>
> dirA
> Makefile
> dirB
> Makefile
> b.c
> c.c
>
> Makefile в dirA собирает пакет. Допустим, для простоты a.tar.gz. Он
> туда кладет dirB/b и dirB/c, которые собирает путем компиляции из b.c
о у меня примерно такая шняга в одном из проектов есть, примерно так и
работает (архив создается с бинарником и из исходников),
работа твоего примера (я вместо gcc cp использовал чтобы не париться с
ошибками):
nbw:[~/test.mk]$ touch B/b.c
nbw:[~/test.mk]$ make -C A all
make: Entering directory `
> В первую очередь это письмо обращено к Диме Обухову, который утверждает,
> что "все легко, вот тут добавим еще пару зависимостей, и эта задача тоже
> решится". С удовольствием увижу присоединившимся к контесту Алексея
> Чеусова, с BSD make (видимо, pmake, чтобы было топичнее - но если что, я
> и
67 matches
Mail list logo