discuss-gnustep
[Top][All Lists]
Advanced

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

Re: aggregate makefile not working correctly (make install)


From: Andreas Hoeschler
Subject: Re: aggregate makefile not working correctly (make install)
Date: Fri, 10 Jan 2003 02:57:26 +0100

Hi all,

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

This is a bit cumbersome since I have to specify one directory for each library I want to link against. Why can't the make package simply perform "make install" for all projects in the aggregate in the given order instead of doing make for all projects first? This seems to be the cleanest solutions fr the problem for me. Am I missing anything?

Regards,

   Andreas





reply via email to

[Prev in Thread] Current Thread [Next in Thread]