Do you have a question? Post it now! No Registration Necessary
Subject
- Posted on
make & dependences
- 04-01-2004
- Alexey V Bugrov
April 1, 2004, 5:01 pm

Hi Oleksandr, hope you are having a nice day!
31 Мар 04, Oleksandr Redchuk wrote to Alexey V Bugrov:
OR> С пробегавшим мимо 3.79.1 была какая-то заморочка, вот я на 3.78
OR> и откатился. Может действительно надо 3.80 найти?
Сырцы скачал, под цыгвин скомпилил, но нужно под нативную винду. VC дома не
оказалось на работе попробую, но что-то мне
кажется, что версия здесь не причем.
WBR,
AVB
ICQ# 43835774
mailto: avb<at>dialup.etr.ru
31 Мар 04, Oleksandr Redchuk wrote to Alexey V Bugrov:
OR> С пробегавшим мимо 3.79.1 была какая-то заморочка, вот я на 3.78
OR> и откатился. Может действительно надо 3.80 найти?
Сырцы скачал, под цыгвин скомпилил, но нужно под нативную винду. VC дома не
оказалось на работе попробую, но что-то мне
кажется, что версия здесь не причем.
WBR,
AVB
ICQ# 43835774
mailto: avb<at>dialup.etr.ru

Re: make & dependences
Hi Pinigin, hope you are having a nice day!
31 Мар 04, Pinigin Sergey wrote to Alexey V Bugrov:
AVB>> Сейчас еще раз проверил - при отсутствии файла оно его первым
AVB>> делом пересобирает.
PS> Мне кажется потому что у тебя лишняя зависимость в target
PS> $(target) : dependences $(objects)
С формальной точки зрения зависимость нелишняя, т.к. сначала нужно выполнить
таргет dependences, а уже потом $(target).
Hа практике dependences пересобирается независимо от наличия данной зависимости
в главном таргете, т.к. файл
включаемый.
PS> dependences зависит от исходников, как и обьектники, поэтому можно
PS> указать так:
PS> $(target) : $(objects)
PS> dependences: $(src)
В таком варианте работает абсолютно идентично.
WBR,
AVB
ICQ# 43835774
mailto: avb<at>dialup.etr.ru
31 Мар 04, Pinigin Sergey wrote to Alexey V Bugrov:
AVB>> Сейчас еще раз проверил - при отсутствии файла оно его первым
AVB>> делом пересобирает.
PS> Мне кажется потому что у тебя лишняя зависимость в target
PS> $(target) : dependences $(objects)
С формальной точки зрения зависимость нелишняя, т.к. сначала нужно выполнить
таргет dependences, а уже потом $(target).
Hа практике dependences пересобирается независимо от наличия данной зависимости
в главном таргете, т.к. файл
включаемый.
PS> dependences зависит от исходников, как и обьектники, поэтому можно
PS> указать так:
PS> $(target) : $(objects)
PS> dependences: $(src)
В таком варианте работает абсолютно идентично.
WBR,
AVB
ICQ# 43835774
mailto: avb<at>dialup.etr.ru

Re: make & dependences
Hi Pinigin, hope you are having a nice day!
31 Мар 04, Pinigin Sergey wrote to Alexey V Bugrov:
AB>>> У меня не получилось сделать один файл зависимостей, поэтому
AB>>> сделал отдельный файл на каждый исходник.
AVB>> Я такой вариант рассматривал, но создавать десяток временных
AVB>> файлов выше моих сил. :)
PS> А в чем трудности, делает же все make, действие описывается в одном
PS> правиле.
PS> Иногда это даже удобно, если .d лежат рядом с .o и хочется проверить
PS> что откуда хватается при компиляции.
Я понимаю. Hо кол-во временных фалов раздражает. :)
WBR,
AVB
ICQ# 43835774
mailto: avb<at>dialup.etr.ru
31 Мар 04, Pinigin Sergey wrote to Alexey V Bugrov:
AB>>> У меня не получилось сделать один файл зависимостей, поэтому
AB>>> сделал отдельный файл на каждый исходник.
AVB>> Я такой вариант рассматривал, но создавать десяток временных
AVB>> файлов выше моих сил. :)
PS> А в чем трудности, делает же все make, действие описывается в одном
PS> правиле.
PS> Иногда это даже удобно, если .d лежат рядом с .o и хочется проверить
PS> что откуда хватается при компиляции.
Я понимаю. Hо кол-во временных фалов раздражает. :)
WBR,
AVB
ICQ# 43835774
mailto: avb<at>dialup.etr.ru

Re: make & dependences
Hi Alex, hope you are having a nice day!
31 Мар 04, Alex Mogilnikov wrote to Alexey V Bugrov:
AM>>> и зависимости, которые в нем были прописаны, должны
AM>>> действовать...
AB>> Хм. Может быть так оно и есть.. но все-равно как-то некрасиво.
AM> Во-первых, на всякий случай запусти make с -d и убедись, что
AM> зависимости обрабатываются.
Да, ты был прав. Зависимости обрабатываются.
AM> Во-вторых, реши, есть ли для тебя разница,
AM> до сборки all удалится этот файл или после.
Hу есть некоторая разница. После сборки all нету файла зависимостей - нечего
посмотреть, как оно было. Приходится еще
раз запускать просто make.
AM> Hа данный момент make
AM> делает именно то, что ты его попросил - make clean all, то есть
AM> сначала clean, а потом all. Хочешь по-другому - так и напиши ему. :)
Да, только он фактически выполняет make dependences clean $(target) вместо make
clean dependences $(target). При этом
никак не получается заставить его сделать clean до dependences.
AM> Это вообще довольно страннное желание - убивать все зависимые файлы
AM> перед каждой сборкой. Теряется весь смысл учета зависимостей...
Hет. Я хочу убвать _все_ временные файлы перед сборкой all. Hо после сборки all
они должны остаться. При обычном мейке
ничего не удаляется. Вообще, я тут подумал, на самом деле при сборке all файл
dependences вообще значения не имеет.
WBR,
AVB
p.s. 2All: вообще всем спасибо за отклики, вобщем проблема нашла решение в том
или ином виде, дальше, наверное,
обсуждать смысла нет.
ICQ# 43835774
mailto: avb<at>dialup.etr.ru
31 Мар 04, Alex Mogilnikov wrote to Alexey V Bugrov:
AM>>> и зависимости, которые в нем были прописаны, должны
AM>>> действовать...
AB>> Хм. Может быть так оно и есть.. но все-равно как-то некрасиво.
AM> Во-первых, на всякий случай запусти make с -d и убедись, что
AM> зависимости обрабатываются.
Да, ты был прав. Зависимости обрабатываются.
AM> Во-вторых, реши, есть ли для тебя разница,
AM> до сборки all удалится этот файл или после.
Hу есть некоторая разница. После сборки all нету файла зависимостей - нечего
посмотреть, как оно было. Приходится еще
раз запускать просто make.
AM> Hа данный момент make
AM> делает именно то, что ты его попросил - make clean all, то есть
AM> сначала clean, а потом all. Хочешь по-другому - так и напиши ему. :)
Да, только он фактически выполняет make dependences clean $(target) вместо make
clean dependences $(target). При этом
никак не получается заставить его сделать clean до dependences.
AM> Это вообще довольно страннное желание - убивать все зависимые файлы
AM> перед каждой сборкой. Теряется весь смысл учета зависимостей...
Hет. Я хочу убвать _все_ временные файлы перед сборкой all. Hо после сборки all
они должны остаться. При обычном мейке
ничего не удаляется. Вообще, я тут подумал, на самом деле при сборке all файл
dependences вообще значения не имеет.
WBR,
AVB
p.s. 2All: вообще всем спасибо за отклики, вобщем проблема нашла решение в том
или ином виде, дальше, наверное,
обсуждать смысла нет.
ICQ# 43835774
mailto: avb<at>dialup.etr.ru

make & dependences
Привет Alexey!
01 Apr 04 22:18, Alexey V Bugrov писал Alex Mogilnikov:
AM>> Во-вторых, реши, есть ли для тебя разница,
AM>> до сборки all удалится этот файл или после.
AB> Hу есть некоторая разница. После сборки all нету файла зависимостей -
AB> нечего посмотреть, как оно было. Приходится еще раз запускать просто
AB> make.
Hу тогда как такой вариант:
.PHONY: clean2 all
clean: clean2
rm -f depend
clean2:
rm -f <все кроме depend>
Всего наилучшего, [Team PCAD 2000]
Алексей М.
... Закрой свой Ворд!
01 Apr 04 22:18, Alexey V Bugrov писал Alex Mogilnikov:
AM>> Во-вторых, реши, есть ли для тебя разница,
AM>> до сборки all удалится этот файл или после.
AB> Hу есть некоторая разница. После сборки all нету файла зависимостей -
AB> нечего посмотреть, как оно было. Приходится еще раз запускать просто
AB> make.
Hу тогда как такой вариант:
.PHONY: clean2 all
clean: clean2
rm -f depend
clean2:
rm -f <все кроме depend>
Всего наилучшего, [Team PCAD 2000]
Алексей М.
... Закрой свой Ворд!

make & dependences
Hi Alex, hope you are having a nice day!
02 Апр 04, Alex Mogilnikov wrote to Alexey V Bugrov:
AB>> Hу есть некоторая разница. После сборки all нету файла
AB>> зависимостей - нечего посмотреть, как оно было. Приходится еще
AB>> раз запускать просто make.
AM> Hу тогда как такой вариант:
AM> .PHONY: clean2 all
AM> clean: clean2
AM> rm -f depend
AM> clean2:
AM> rm -f <все кроме depend>
Угу. Про этот вариант я упоминал в своем первом письме, в конечном итоге
все-таки на нем и остановился.
WBR,
AVB
ICQ# 43835774
mailto: avb<at>dialup.etr.ru
02 Апр 04, Alex Mogilnikov wrote to Alexey V Bugrov:
AB>> Hу есть некоторая разница. После сборки all нету файла
AB>> зависимостей - нечего посмотреть, как оно было. Приходится еще
AB>> раз запускать просто make.
AM> Hу тогда как такой вариант:
AM> .PHONY: clean2 all
AM> clean: clean2
AM> rm -f depend
AM> clean2:
AM> rm -f <все кроме depend>
Угу. Про этот вариант я упоминал в своем первом письме, в конечном итоге
все-таки на нем и остановился.
WBR,
AVB
ICQ# 43835774
mailto: avb<at>dialup.etr.ru

Re: make & dependences
31-Mar-04 13:32 Alex Mogilnikov wrote to Alexey V Bugrov:
AM> что ты
AM> его попросил - make clean all, то есть сначала clean, а потом all.
AM> Хочешь
AM> по-другому - так и напиши ему. :) Это вообще довольно страннное желание
AM> -
AM> убивать все зависимые файлы перед каждой сборкой. Теряется весь смысл
AM> учета зависимостей...
Иногда хочется, чтобы перекомпилировались все файлы (чтобы не думать, какие
именно *надо*, например на случай __DATE__ __TIME__).
У меня это есть в виде
build : clean all
wbr,
AM> что ты
AM> его попросил - make clean all, то есть сначала clean, а потом all.
AM> Хочешь
AM> по-другому - так и напиши ему. :) Это вообще довольно страннное желание
AM> -
AM> убивать все зависимые файлы перед каждой сборкой. Теряется весь смысл
AM> учета зависимостей...
Иногда хочется, чтобы перекомпилировались все файлы (чтобы не думать, какие
именно *надо*, например на случай __DATE__ __TIME__).
У меня это есть в виде
build : clean all
wbr,
--
/* Oleksandr Redchuk, Brovary, Ukraine */
/* real '\x40' real '\x2E' kiev '\x2E' ua */
/* Oleksandr Redchuk, Brovary, Ukraine */
/* real '\x40' real '\x2E' kiev '\x2E' ua */

Re: make & dependences
Привет Oleksandr!
01 Apr 04 22:42, Oleksandr Redchuk писал Alex Mogilnikov:
OR> Иногда хочется, чтобы перекомпилировались все файлы (чтобы не думать,
OR> какие именно *надо*, например на случай __DATE__ __TIME__).
OR> У меня это есть в виде
OR> build : clean all
ИМХО это довольно редкое желание, это можно и руками набрать. А зависящее
от __DATE__ __TIME__ я выношу в отдельный файл и прописываю такую зависимость:
date.o: FORCE
FORCE:
В результате этот (и только этот!) файл пересобирается всегда.
Всего наилучшего, [Team PCAD 2000]
Алексей М.
... Чем ветеринары кормят своих собак? Белый фосфор. Ваша собака светится!
01 Apr 04 22:42, Oleksandr Redchuk писал Alex Mogilnikov:
OR> Иногда хочется, чтобы перекомпилировались все файлы (чтобы не думать,
OR> какие именно *надо*, например на случай __DATE__ __TIME__).
OR> У меня это есть в виде
OR> build : clean all
ИМХО это довольно редкое желание, это можно и руками набрать. А зависящее
от __DATE__ __TIME__ я выношу в отдельный файл и прописываю такую зависимость:
date.o: FORCE
FORCE:
В результате этот (и только этот!) файл пересобирается всегда.
Всего наилучшего, [Team PCAD 2000]
Алексей М.
... Чем ветеринары кормят своих собак? Белый фосфор. Ваша собака светится!
Site Timeline
- » Программатор Пиков
- — Next thread in » Microcontrollers (Russian)
-
- » eCos на IXP425
- — Previous thread in » Microcontrollers (Russian)
-
- » По моему это гениально
- — Newest thread in » Microcontrollers (Russian)
-
- » kostenlos abzugeben
- — The site's Newest Thread. Posted in » Electronics (German)
-
- » Wide frequency range, arbitrary waveform DDS
- — The site's Last Updated Thread. Posted in » Embedded Programming
-