[GRASS-dev] Re: [GRASS GIS] #595: WinGRASS g.version -c fails
GRASS GIS
trac at osgeo.org
Sat Dec 19 06:53:19 EST 2009
#595: WinGRASS g.version -c fails
---------------------------+------------------------------------------------
Reporter: hamish | Owner: grass-dev at lists.osgeo.org
Type: defect | Status: new
Priority: blocker | Milestone: 6.4.0
Component: License | Version: 6.4.0 RCs
Resolution: | Keywords: wingrass gpl
Platform: MSWindows XP | Cpu: x86-32
---------------------------+------------------------------------------------
Comment (by martinl):
Replying to [comment:12 glynn]:
> You should probably omit $(OBJDIR) from the prerequisites list
altogether, and forcibly create it before making $(OBJDIR)/copying.h and
$(OBJDIR)/confpams.h, e.g.:
>
{{{
> default:
> $(MAKE) $(OBJDIR)
> $(MAKE) cmd
}}}
Done in r40060.
> Anything to the right of a "|" in the prerequisites line indicates an
order-only prerequisite. These are ignored when checking if a target is
older than any of its prerequisites, but if make decides that the target
does need to be re-built, these will be made before the commands are
executed if they don't already exist.
>
> The 7.0 Makefiles generally use order-only prerequisites for the
directory into which the target will be placed. They have to exist before
the target can be made, but the target doesn't need to be re-made just
because the directory has been updated.
>
> The main issue is that they only work correctly with make 3.81. Although
that's been out since April 2006, some people are still using older
versions, so they aren't generally used in 6.x (they are used in a few
places, e.g. Rules.make, conditional upon $(BROKEN_MAKE) being defined,
with the alternative being to unconditionally create the directory within
the rule's commands).
Thanks for the explanation.
Martin
--
Ticket URL: <http://trac.osgeo.org/grass/ticket/595#comment:13>
GRASS GIS <http://grass.osgeo.org>
More information about the grass-dev
mailing list