Change how we compute install paths on cygwin
authorIan Lynagh <igloo@earth.li>
Sun, 20 Mar 2011 01:25:40 +0000 (01:25 +0000)
committerIan Lynagh <igloo@earth.li>
Sun, 20 Mar 2011 01:25:40 +0000 (01:25 +0000)
We used to have
    MK_INSTALL_DEST = "$(shell cygpath $1)"
but this meant we ended up with
    "$(shell cygpath "[...]/html/`basename $$i`")"
and the $(...) gets evaluated before the makefile rule, so the for loop
hasn't been run, and so $i isn't defined. So we were taking the basename
of the empty string, meaning docs weren't being installed in the right
place.

Now we have
    MK_INSTALL_DEST = $$(cygpath $1)
so the evaluation happens in the shell, while the for loop is running.

mk/install.mk.in

index 6d9f902..2808c1f 100644 (file)
@@ -163,7 +163,7 @@ INSTALL_DIR     = $(INSTALL) -m 755 -d $(call MK_INSTALL_DEST,$1)
 #   (This will make a Cygwin build run slowly 
 #    because of all those shell invocations.)
 ifeq "$(OSTYPE)" "cygwin"
-MK_INSTALL_DEST = "$(shell cygpath $1)"
+MK_INSTALL_DEST = $$(cygpath $1)
 else
 MK_INSTALL_DEST = $1
 endif