[GRASS5] Re: OGR-enabled GDAL

Radim Blazek blazek at itc.it
Wed Aug 27 05:32:46 EDT 2003


On Wednesday 27 August 2003 06:40, Glynn Clements wrote:
> To do this with a conventional "recursive make", each "directory"
> Makefile would have to explicitly build its subdirectories in such a
> way that failures don't propagate; e.g. by using a loop, so that the
> entire process is a single command from make's perspective, or by
> forcing a successful exit status from each command ("... ; true").

Subdirectories defined in SUBDIRS variable are processed by subdirs rule 
in Dir.make:
subdirs:
        @list='$(SUBDIRS)'; \
        for subdir in $$list; do \
            echo $$subdir ; \
            (cd $$subdir && make) || exit 1; \
        done

So this can be easily modified, I think to get over error.

> Similarly, there are advantages to having the test for whether to
> build a particular module localised to that module's Makefile. OTOH,
> the test would have to be repeated for each rule (program, docs,
> install, etc), whereas modifying a global modules list would affect
> all rules.

I think that there are only few cases, if any, where conditions must
be tested for documents (see below) and installation.

> I would like to revisit the build system issue at some point. Key
> issues for me are:
>
> 1. Out-of-place builds (i.e. not modifying the source tree).
>
> 2. Building from a read-only source tree (closely related to point 1).

OK, so I think that because of 1. and 2. the build system must be 
completely rewritten.

> Point 3 has been significantly improved in the 5.0.x tree, primarily
> through having separate FOOLIB and DEPFOOLIB variables. This also
> deals with the main issue for shared libraries (you can't just use the
> library's pathname as a linker argument).

We have now separate *LIB and *DEP for all libraries.

> Point 5 involves moving the documentation into the module directories,
> so it's rather more involved than the others.

Documentation (at least manual pages) _is_ moved already to module directories,
thanks to Markus, who has created the system generating man pages from
options' description in the module + additional description.
(Potential problem is cross compilation as you mentioned in other mail.)
It works well. Regularly, Markus also tries to force me to write
'additional description' for new modules, but that does not work
so well :)

Ra




More information about the grass-dev mailing list