[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Changing library does *not* always cause executable to beremade with
From: |
zaufi |
Subject: |
Re: Changing library does *not* always cause executable to beremade with "make"!?!?.. |
Date: |
Wed, 7 May 2003 16:39:50 +0400 |
User-agent: |
KMail/1.5.9 |
On Wednesday 07 May 2003 13:46, Guido Draheim wrote:
> zaufi schrieb:
>
> a very sophisticated trick that is, a simple one might be to
> add the rebuild rule on every instance where a library is
> linked that exists in the same configured tree:
>
> name_LDADD = ../other/libthing.la
>
> ../other/libthing.la : ../other/*.c ../other/*.h
> cd ../other && $(MAKE) `basename address@hidden
>
Hmmm... then you should provide such rules (manualy) in _EVERY_ Makefile.am
and for _EVERY_ depended library... In my source tree usual length of list of
depended libs is about 10-15, count of Makefile.am's is about 100...
It will be REAL hard to manualy track dependencies lists :()
Moreover source files for noinst libs not only C/C++, also it can be Lex and
Yacc sources, sometimes it is `autogen`ed sources...
My solution allow to automate this task by autogenerating this rules.
PS: I'm sorry for my previous example (it was just copy-n-pasted) from
working source tree. Actualy rebuilding rule can be simple as
#
# Rule to make all depended libs
#
$(AM_DEPTGTS):
$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F) || exit 1
and I forget to add:
.PHONY: $(AM_DEPTGTS)
to force make always to rebuild depended libs from other dirs.