From: Thomas Rast Date: Fri, 02 Mar 2012 09:34:31 GMT Subject: Re: [RFC/PATCH] build: avoid possible confusion between GNU/XPG4 make on Solaris Message-ID: <87obsfcpnc.fsf@thomas.inf.ethz.ch> In-Reply-To: Stefano Lattarini 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? -- Thomas Rast trast@{inf,student}.ethz.ch