Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 3 Mar 1995 02:06:37 -0800
From:      David Muir Sharnoff <muir@idiom.com>
To:        jkh@FreeBSD.org
Cc:        ports@freefall.cdrom.com
Subject:   Re: Ok, I'm stumped.
Message-ID:  <199503031006.CAA19336@idiom.com>

next in thread | raw e-mail | index | archive | help

* What would be neat would be some way of picking off the `entry' in
* bsd.port.subdir.mk and checking to see if the value of "X${NO_$${ENTRY}}"
* = "X", but I don't see any easy way of doing the recursive shell
* variable expansion.

I'm not much of an sh programmer, but when working with shells, there's
just one rule to follow:




				eval




Everything complicated can be done with eval.
So, how about?

	eval SKIP='$'{NO_${ENTRY}}
	if "X${SKIP}" = "X" ...

Hmmm, I'm not sure what's going on with the make interaction.  That
can get complicated, but it's still probably solveable.  Make's reules
aren't so easy.  I haven't played with the bsd make yet.   Hmmm, looks 
like it happens in bsd.port.mk.  At the IS_INTERACTIVE test, you want to
test agains the current name...  Don't you need to do this in make, not
the shell?  bsd make doesn't allow $($(X)).  Darn.  That means it needs to
happen at a higher level.  Checking...  The loop in bsd.port.subdir.mk.
I don't know where you can set the variables, but if there are make variables
like "NO_gcc-2.6.3", then ...  you're out of luck.  You can't get at them.
'Hokay, let's put 'em in a file.  In a directory with subdir port makes, 
create a file called ...  Skip.  Anything in skip is skipped.  Use grep
in the for loop to check for the presense of the file.  Not everything can
be done by make.  Maybe I'm missing something because I don't know bsd
make.  gmake does $($(X)) just fine, so I'm a little surprised bsd make 
doesn't.

-Dave



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199503031006.CAA19336>