Обновление статической библиотеки почему-то не вызывает пересборку зависимой проги...

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Обновление статической библиотеки почему-то не вызывает пересборку зависимой проги...

Anton Maksimenkov-2
Такой вот наборчик
-rw-r--r--  1 a  a    59 Feb  9 13:45 Makefile
-rw-r--r--  1 a  a   231 Feb 20 13:31 Makefile.inc
drwxr-xr-x  2 a  a   512 Feb 20 15:08 lhlp
drwxr-xr-x  2 a  a   512 Feb 20 13:35 uc

В lhlp статическая библиотека вспомогательных функций. Они
используются в uc, эта библиотека подключается:

$ cat uc/Makefile
PROG=   uc
SRCS=   uc.c
LDFLAGS+=       -L${.CURDIR}/../lhlp -lhlp
LDADD+=         ${.CURDIR}/../lhlp/libhlp.a
NOMAN=  yes
.include <bsd.prog.mk>

Делаю make clean && make depend && make, всё собралось, работает.

Но если сделать изменения в исходниках lhlp, то сама она
пересобирается, а зависящая от неё uc - нет.
Соответственно uc "не видит" изменений, пока её не пересобрать принудительно.

Это такая "фича" или чот неправильно?
--
antonvm
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Обновление статической библиотеки почему-то не вызывает пересборку зависимой проги...

Alexey Vatchenko-2
2012/2/20 Anton Maksimenkov <[hidden email]>:

> $ cat uc/Makefile
> PROG=   uc
> SRCS=   uc.c
> LDFLAGS+=       -L${.CURDIR}/../lhlp -lhlp
> LDADD+=         ${.CURDIR}/../lhlp/libhlp.a
> NOMAN=  yes
> .include <bsd.prog.mk>
>
> Делаю make clean && make depend && make, всё собралось, работает.
>
> Но если сделать изменения в исходниках lhlp, то сама она
> пересобирается, а зависящая от неё uc - нет.
> Соответственно uc "не видит" изменений, пока её не пересобрать принудительно.
>
> Это такая "фича" или чот неправильно?

Посмотрите файл /usr/share/bsd.prog.mk. LDADD не стоит как зависимость для PROG.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Обновление статической библиотеки почему-то не вызывает пересборку зависимой проги...

Anton Maksimenkov-2
20 февраля 2012 г. 15:38 пользователь Alexey Vatchenko <[hidden email]> написал:
>> Но если сделать изменения в исходниках lhlp, то сама она
>> пересобирается, а зависящая от неё uc - нет.
> Посмотрите файл /usr/share/bsd.prog.mk. LDADD не стоит как зависимость для PROG.

о, пасиб.
DPADD+= ${.CURDIR}/../lhlp/libhlp.a
решило.
--
antonvm
Loading...