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: