[GRASS-dev] Re: [GRASS GIS] #595: WinGRASS g.version -c fails
GRASS GIS
trac at osgeo.org
Wed Dec 16 19:26:01 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 glynn):
Replying to [comment:11 martinl]:
> > > The necessary changes for 6.x should be similar, but this probably
can't be back-ported directly to 6.x due to Makefile differences.
> Done r39921, anyway compilation fails on my computer. The following
patch helped me
>
{{{
-$(OBJDIR)/copying.h: $(MODULE_TOPDIR)/COPYING | $(OBJDIR)
+$(OBJDIR)/copying.h: $(MODULE_TOPDIR)/COPYING $(OBJDIR)
sed -e 's/^\(.*\)$$/"\1\\n"/' $< > $@
}}}
>
> Could someone review this patch? Thanks. Martin
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
}}}
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).
--
Ticket URL: <http://trac.osgeo.org/grass/ticket/595#comment:12>
GRASS GIS <http://grass.osgeo.org>
More information about the grass-dev
mailing list