gnustep-dev
[Top][All Lists]
Advanced

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

Re: gnustep-make experiment


From: Nicola Pero
Subject: Re: gnustep-make experiment
Date: Thu, 25 Jan 2007 07:15:24 +0100 (CET)

> Yes. The thing we do (... ;-) is to have a very small (hand written)  
> 'configure' script which locates gnustep-make and writes a small  
> 'config.make' files containing the relevant GS variables. Then all  
> makefiles include that config.make file like this:
> 
> -include config.make
> include $(GNUSTEP_MAKEFILES)/common.make
>
> If configure was run, it works w/o an environment. If it wasn't, it  
> still works when GNUstep.sh is sourced. Which is quite nice IMHO ;-)

Sounds like an interesting solution.  Then people would be able to do

./configure
make
make install

and all would work with no variables defined.  I think there is a smarter
solution though ... if the approach is giving small fragments/snippets of 
code that people include in their project, then why not write directly
a makefile fragment ?

So we could have a small makefile fragment, let's call it find-gnustep.make,
that searches for gnustep-make on disk and sets GNUSTEP_MAKEFILES to the best
match.  I'll write that makefile fragment, and it will be maintained inside
gnustep-make.

If you put/copy that makefile fragment in your project, then you could modify 
your
GNUmakefiles to do --

include ./find-gnustep.make
include $(GNUSTEP_MAKEFILES)/common.make
...

then you can type 'make' and it would always work, even if GNUSTEP_MAKEFILES is 
not 
initially defined ;-)

Hmm.


> BTW: personally I'm not quite sure whether I understand that /etc/ 
> GNUstep.conf thing :-) Is it necessary or optional?

It is necessary.  The reason is that it allows gnustep-make and gnustep-base to 
have a common
understanding of where the various directories are.  The GNUstep.conf file 
describes the GNUstep filesystem and both gnustep-make and gnustep-base read it 
to know where to find things.

Previously this shared understanding was based on shell variables set by 
GNUstep.sh; now we prefer a configuration file. ;-)

Thanks





reply via email to

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