make & dependences

Do you have a question? Post it now! No Registration Necessary

Threaded View
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

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

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

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

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]
Алексей М.
... Закрой свой Ворд!

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

Re: make & dependences
31-Mar-04 08:23 Alexey Musin wrote to Oleksandr Redchuk:

AM> ifneq ($(MAKECMDGOALS),clean)
AM> include $(DEPS)
AM> endif

Спасибо.

Это называется RTFM :-)

wbr,

--
/* Oleksandr Redchuk, Brovary, Ukraine */
/* real '\x40' real '\x2E' kiev '\x2E' ua     */


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,
--
/* 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]
Алексей М.
... Чем ветеринары кормят своих собак? Белый фосфор. Ваша собака светится!

Site Timeline