Hi,
I have committed the previous week a new makefile called etoile.make.
You can take a look at it here: <http://svn.gna.org/viewcvs/etoile/
trunk/Etoile/etoile.make?rev=922&view=markup>
It's located at the root of the repository and has been thought as a
place to put gnustep-make extensions.
For example, when you compile a debug version of an application which
embeds bundles/plugins, it's useful to have a variable specifying the
extension of the package. This makes easy to support bundles/plugins
copy into the application package with a single command.
Here is the code provided by etoile.make to support this:
ifeq ($(debug), yes)
extension = debug
else
extension = app
endif
In Services/User/Hardware GNUmakefile.postamble, I just need the
following lines to get a debug version of Hardware with its prefpanes:
after-all::
mkdir -p $(CURDIR)/Hardware.$(extension)/PlugIns; \
cp -Rfp $(CURDIR)/EnergyPrefPane/EnergyPrefPane.prefPane \
$(CURDIR)/KeyboardPrefPane/KeyboardPrefPane.prefPane \
$(CURDIR)/MonitorPrefPane/MonitorPrefPane.prefPane \
$(CURDIR)/MousePrefPane/MousePrefPane.prefPane \
$(CURDIR)/SoundPrefPane/SoundPrefPane.prefPane \
$(CURDIR)/StartupPrefPane/StartupPrefPane.prefPane \
$(CURDIR)/Hardware.$(extension)/PlugIns/; \
But the main purpose of etoile.make at this time is to simplify
internal dependency handling as described in this blog entry: <http://
www.etoile-project.org/etoile/blog/2006/09/simplifying-internal-
dependency.html>
I think I can simplify even futhermore by putting symbolic links
(headers, library etc. related) for every modules that includes
'etoile.make' in in a new directory repositoryRoot/Build. Then it's
not needed anymore to declare module dependencies with the
DEPENDENCIES variable. Passing the flag -I/path/to/repository/root/
Build/ -L/path/to/repository/root/Build should be enough now.
That would mean RSSKit would have to include etoile.make, not only
Grr as it's the case now (to take an example).
What do you think of all that?
Quentin.
--
Quentin Mathé
[EMAIL PROTECTED]
_______________________________________________
Etoile-dev mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-dev