Re: [RFC/PATCH] build: avoid possible confusion between GNU/XPG4 make on Solaris
- From
Thomas Rast <trast@inf.ethz.ch>
- Date
- Mar 2, 2012, 09:34 UTC
- Message-ID
- <87obsfcpnc.fsf@thomas.inf.ethz.ch>
- In-Reply-To
- <df98ed215324f521f3aaff7fa4ba41ba2a1894dc.1330679536.git.stefano.lattarini@gmail.com>
Stefano Lattarini <stefano.lattarini@gmail.com> writes:
Show 5 quoted lines
> +# 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