On 2018-11-26 02:35 , Ryan Schmidt wrote: > > > On Nov 25, 2018, at 09:13, Mark Brethen wrote: > >> build { >> ui_info "Building libtaucs archives:" >> system -W ${worksrcpath} "${build.cmd} ${build.args} ${build.target}" >> } >> >> with 'LD = $(F77)’ in the Makefile, but that didn’t work. How should I pass >> this during build? > > I suppose that ought to work, except that perhaps the problem you're running > into is that ${build.args} is a list of values. If you want to concatenate > all those list items with spaces and include that expanded value in a string, > as you're doing here, you'll need to use the expand operator ({*}). > Technically, build.cmd and build.target (and all other MacPorts options) are > lists too, though they might only contain one item at the moment. To properly > expand all those lists into strings, you'd use: "{*}${build.cmd} > {*}${build.args} {*}${build.target}".
The function of {*} is to pass a list to a command as multiple arguments, one per list element. That is not what's desired here, as the command to be run by system should be given in a single argument. Perhaps you were thinking of 'join'? But that shouldn't really be needed here either. - Josh