[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: make contest



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 вызывается постоянно, поскольку он
> ничего не делает.

DIR_SRC="../B", вероятно?

Не будет работать. Если сделать гипотетический make clean в B/ (rm -f b c)
то вызов make all в A/ приведет совсем не к тому, что ожидалось. Так как
явных правил сборки  с.c -> с  и  b.c -> b  в A/Makefile нет, гнутый make
попытается применить неявное правило (а другие, наверно, просто с ошибкой
"No rule to make target" выпадут). Что в общем случае приведет к неуспеху.

-- 
Stanislav


Reply to: