Le 16 nov. 06 à 17:55, Guenther Noack a écrit :
Hi!
On Wed, Nov 15, 2006 at 11:31:20PM -0000, Quentin Math?? wrote:
Reactived etoile.make include in Grr main GNUmakefile to fix
repository compilation
I guess I sort of lost the track on the recent etoile.make
development.
From the blog article you wrote I thought that Grr's GNUmakefile
had a
line that reads 'DEPENDENCIES = RSSKit', but obviously it hasn't.
I haven't found time to post a blog update about this for now. Sorry.
Does the dependency handling still work?
Yes.
Is there documentation for the
current state of etoile.make and especially how to use it?
You can read etoile.make itself. The current version is just easier
to use than the previous one.
There is a new Build directory created at the root of the repository
when make is run.
Just include etoile.make in your main GNUmakefile of your project:
- if it's a library or a framework, the headers and the library
itself will be linked in Build directory
- if it's a framework, the framework itself will be linked in Build
directory too
- in any cases, ADDITIONAL_INCLUDE_DIRS += -I$(BUILD_DIR) and
ADDITIONAL_LIB_DIRS += -L$(BUILD_DIR), both are set and passed to
your project
If you project directory is named 'ModuleName', in a framework or a
library, etoile.make looks for:
- headers in ModuleName/Headers or ModuleName/ directly
- library in Source/obj or ModuleName/obj directly
- framework in ModuleName/
The big problem that I have with it is that the applications I
write are
not compilable outside a full checkout of the Etoile repository when
it's included, although they depend on hardly anything from it. For
example, DictionaryReader only relies on UKNibOwner. I see the
inclusion
of the UKNibOwner class into DictionaryReader as a perfectly feasible
solution for people who don't want to compile on basis of an Etoile
system, but as long as there's the dependency to etoile.make, it still
requires modification before compiling.
There is no dependency on etoile.make unless you use extra features
it provides like PROJECT_DIR variable.
It's main purpose is to allow a repository compilation without having
any Étoilé frameworks/libraries installed.
In some makefiles, I have seen the use of the 'etoile' variable. If I
check for that variable before including etoile.make, will a project
compile without the whole Etoile system then?
Something like this:
ifeq($(etoile), yes)
include ../../../etoile.make
endif
Yes, it should work. By the way iirc, using '-include' rather than
'include' avoids to have the compilation fails even if the included
makefile isn't present.
hope it helps,
Quentin.
--
Quentin Mathé
[EMAIL PROTECTED]
_______________________________________________
Etoile-dev mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-dev