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>