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: Nicola Pero
Subject: Re: aggregate makefile not working correctly (make install)
Date: Fri, 10 Jan 2003 14:36:23 +0000 (GMT)

> > 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.

Hint: it's quite possible that you could put all the flags in a top-level
GNUmakefile fragment (a file called, say, GNUmakefile.libraries), then
include that file in the GNUmakefiles of all the aggregate projects below
(by using 'include ../GNUmakefile.libraries').  Then, you have the flags
in a single location, and can easily manage them, and it's no longer
cumbersome.


> 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?

Thanks for the suggestion.

At the moment if you have aggregate projects A and B, and if you type
'make install' at top-level, the following operations are done:

 make in A
 make in B

 make install in A
 make install in B

If I understand you correctly, you are suggesting that we change the order
to -

 make in A
 make install in A

 make in B
 make install in B

It's a clever suggestion :-) I like it (but can't use it, as I'll
explain).

I don't think it would solve your problem though, because what happens if
you type just 'make' (not 'make install') ?  Then make would execute again

 make in A
 make in B

without any install, so if you don't add the appropriate -I, -L flags,
this wouldn't work anyway.  You could only do a 'make install', not a
'make'.

That might not be a problem for you, but in general it is a very serious
problem - I can't really change the order in gnustep-make without
implicitly encouraging writing GNUmakefiles where 'make install' works,
but 'make' doesn't work, and that's not an option.





reply via email to

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