assume you have a number of libraries, bundles and tools that depend on
each other and that you want to build with a single make file. I have
set this up as follows:
GNUSTEP_MAKEFILES = $(GNUSTEP_SYSTEM_ROOT)/Makefiles
PS. you don't need to set GNUSTEP_MAKEFILES, it's set automatically by
GNUstep.sh.
include $(GNUSTEP_MAKEFILES)/common.make
SUBPROJECTS = <list of projects; libraries first, then the bundles,
then
the tools>
include $(GNUSTEP_MAKEFILES)/aggregate.make
Whenever I add a new symbol to one of the libraries, the tools
depending
on this library/symbol do not compile with "make install".
ld: fatal: Symbol referencing errors. No output written to
shared_obj/sparc/solaris2.8/gnu-gnu-gnu/HolzPoolWeb
I need to cd into in to the library directory that got a new symbol, do
"make install" there, cd back to the parent directory and type "make
install" again. That is a bit annoying. What am I missing? Shouldn't
this work?
One trick which can be helpful is to make sure that the tools are
compiling and linking against the non-installed versions of the
libraries.
It seems your problem is that the tools are built against the installed
versions of the libraries (then, of course, you need to install the new
libraries first before being able to use them).
In the GNUmakefile for the tools, you can add something like -
ADDITIONAL_INCLUDE_DIRS += -I../Source
ADDITIONAL_LIB_DIRS += -L../Source/obj