On 03/02/2012 10:34 AM, Thomas Rast wrote: > Stefano Lattarini <stefano.lattarini@xxxxxxxxx> writes: > >> +# FIXME: this is ugly, and which(1) is quite unportable. Find a better >> +# way to obtain the same effect. >> +MAKE := $(shell set $(MAKE); m1=$$1; shift; \ >> + m2=`which $$m1 2>/dev/null` && test -n "$$m2" || m2=$$m1; \ >> + echo "$$m2 $$*") > > There's 'command -v make'. 'man 1p command' on my system (opensuse > installs a bunch of POSIX reference material) says > > -v (On systems supporting the User Portability Utilities > option.) Write a string to standard output that indicates > the pathname or command that will be used by the shell, in > the current shell execution environment (see Shell Execu- > tion Environment ), to invoke command_name, but do not > invoke command_name. > > * Utilities, regular built-in utilities, command_names > including a slash character, and any implementation- > defined functions that are found using the PATH vari- > able (as described in Command Search and Execution ), > shall be written as absolute pathnames. > > So perhaps enough systems including Solaris "support the User > Portability Utilities option", and you can use this? > Thanks, I had completely forgotten about this "trick". It works correctly with both /bin/sh and /bin/ksh on all of NetBSD 5.1, OpenBSD 5.0 and Solaris 10, as well as with bash (4.1.5) and dash (0.5.5.1) on my Debian unstable. I will post an updated patch later today (or this evening). Regards, Stefano -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html