help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: combining $(eval) with $(shell)


From: Paul Smith
Subject: Re: combining $(eval) with $(shell)
Date: Tue, 10 Sep 2013 08:13:36 -0400

On Mon, 2013-09-09 at 17:45 -0700, Adam Kellas wrote:
> I'm having a problem using these two together. There's a program which
> spits out a series of variable assignments so I need $(shell) to
> invoke it, but the shell function strips newlines which garbles the
> result. Example below. Ideas?
> 
> % cat Makefile
> $(eval $(shell ./vars.sh))

There's no way to avoid this feature of the shell function.  The best I
can suggest is that you write the output to a temporary file, then
include that; something like:

   TMPFILE := $(shell var=`mktemp /tmp/mk.XXXXXX`; ./vars.sh > $$var; echo 
$$var)
   include $(TMPFILE)
   __d := $(shell rm -f $(TMPFILE))






reply via email to

[Prev in Thread] Current Thread [Next in Thread]