Hi,
I think this:
until ([[ Reference.pdf -nt Reference.tex ]] && (diff -qs
Reference.toc
should be (one square bracket instead of two):
until ([ Reference.pdf -nt Reference.tex ] && (diff -qs Reference.toc
HTH
--
Delio
On 6/06/2008, at 8:27 PM, Aidan Gauland wrote:
Hello,
I'm trying to figure out how to make this Makefile I have 100% POSIX
compliant.
Details:
When run make with this Makefile, I get this error:
/bin/sh: [[: not found
This happens because there is no executable called '[['. You will find
that your system has an executable called '[' which is usually a
symlink to 'test' (running #man test will reveal more).
...it still runs, but I get caught in an infinite loop. I think
this line is
the problem...
until ([[ Reference.pdf -nt Reference.tex ]] && (diff -qs
Reference.toc
last/Reference.toc) && (diff -qs Reference.aux last/Reference.aux)
&& (diff
-qs Reference.ind last/Reference.ind)); do \
The make file works if I force make to use bash, instead of the
default
/bin/sh (which, on my systen is a link to dash).
Now, conditionals in bash (and the like) have always baffeled me, so
I'm a bit
lost here (now isn't that an understatement), and if any bash savvy
system
administrators here can help me out, that would be greatly
appreciated.
I've attached a copy of the Makefile in question, but it's from the
Pipmak (
http://pipmak.sourceforge.net ) project, and you can get it with
Subversion
from...
https://pipmak.svn.sourceforge.net/svnroot/pipmak/trunk/pipmak/documentation
Thanks,
Aidan
<Makefile.gz>